From 8c145f61fd415cf82ab4403e2d71029ec6a9d78e Mon Sep 17 00:00:00 2001 From: ALVES Alexandre <alexandre.alves@ensiie.fr> Date: Mon, 20 Nov 2017 13:14:29 +0100 Subject: [PATCH] Ajout du workspace c9 --- rapports_iterations/iteration_2.md | 77 + workspace/.c9/.nakignore | 17 + workspace/.c9/metadata/tab0 | 1 + workspace/.c9/metadata/tab1 | 1 + workspace/.c9/metadata/tab12 | 1 + workspace/.c9/metadata/tab13 | 1 + workspace/.c9/metadata/tab14 | 1 + workspace/.c9/metadata/tab2 | 1 + workspace/.c9/metadata/tab39 | 1 + workspace/.c9/metadata/tab4 | 1 + workspace/.c9/metadata/tab6 | 1 + workspace/.c9/metadata/workspace/BUG_REPORT | 1 + workspace/.c9/metadata/workspace/README.md | 1 + workspace/.c9/metadata/workspace/README_SQL | 1 + workspace/.c9/metadata/workspace/Retro.2.md | 1 + .../app/Console/Commands/Inspire.php | 1 + .../metadata/workspace/app/Console/Kernel.php | 1 + .../metadata/workspace/app/Events/Event.php | 1 + .../workspace/app/Exceptions/Handler.php | 1 + .../Http/Controllers/Auth/AuthController.php | 1 + .../Controllers/Auth/PasswordController.php | 1 + .../app/Http/Controllers/Controller.php | 1 + .../app/Http/Controllers/HomeController.php | 1 + .../Controllers/ProductRegisterController.php | 1 + .../Http/Controllers/ProductsController.php | 1 + .../Http/Controllers/RegisterController.php | 1 + .../app/Http/Controllers/UserController.php | 1 + .../app/Http/Controllers/UsersController.php | 1 + .../metadata/workspace/app/Http/Kernel.php | 1 + .../app/Http/Middleware/Authenticate.php | 1 + .../Http/Requests/ProductCreateRequest.php | 1 + .../Http/Requests/ProductRegisterRequest.php | 1 + .../app/Http/Requests/ProductRequest.php | 1 + .../Http/Requests/ProductUpdateRequest.php | 1 + .../metadata/workspace/app/Http/routes.php | 1 + .../.c9/metadata/workspace/app/Product.php | 1 + .../.c9/metadata/workspace/app/Products.php | 1 + .../app/Providers/RouteServiceProvider.php | 1 + .../app/Repositories/ProductRepository.php | 1 + .../app/Repositories/UserRepository.php | 1 + workspace/.c9/metadata/workspace/app/User.php | 1 + .../workspace/bonsaiie/app/Http/routes.php | 1 + .../workspace/bonsaiie/public/index.php | 1 + .../bonsaiie/resources/views/header.blade.php | 1 + .../bonsaiie/resources/views/index.blade.php | 1 + .../bonsaiie/resources/views/index.php | 1 + .../.c9/metadata/workspace/bootstrap/app.php | 1 + .../metadata/workspace/bootstrap/autoload.php | 1 + .../workspace/bootstrap/cache/services.php | 1 + .../.c9/metadata/workspace/composer.json | 1 + .../.c9/metadata/workspace/config/app.php | 1 + .../.c9/metadata/workspace/config/auth.php | 1 + .../workspace/config/broadcasting.php | 1 + .../.c9/metadata/workspace/config/cache.php | 1 + .../.c9/metadata/workspace/config/compile.php | 1 + .../metadata/workspace/config/database.php | 1 + .../.c9/metadata/workspace/config/mail.php | 1 + .../.c9/metadata/workspace/config/session.php | 1 + .../.c9/metadata/workspace/config/view.php | 1 + .../database/factories/ModelFactory.php | 1 + .../2014_10_12_000000_create_users_table.php | 1 + ...12_100000_create_password_resets_table.php | 1 + ...2017_11_08_233536_create_product_table.php | 1 + .../database/seeds/DatabaseSeeder.php | 1 + workspace/.c9/metadata/workspace/index.php | 1 + workspace/.c9/metadata/workspace/php.ini | 1 + workspace/.c9/metadata/workspace/phpunit.xml | 1 + .../.c9/metadata/workspace/public/css/app.css | 1 + .../workspace/public/css/bootstrap.min.css | 1 + .../metadata/workspace/public/css/custom.css | 1 + .../metadata/workspace/public/css/mdb.min.css | 1 + .../.c9/metadata/workspace/public/favicon.ico | 1 + .../workspace/public/img/arbreRond.png | 1 + .../workspace/public/img/feuillesNav.jpeg | 1 + .../.c9/metadata/workspace/public/index.php | 1 + .../workspace/public/jquery/jquery.min.js | 1 + .../.c9/metadata/workspace/public/js/app.js | 1 + .../metadata/workspace/public/js/bootstrap.js | 1 + .../.c9/metadata/workspace/public/robots.txt | 1 + .../.c9/metadata/workspace/public/web.config | 1 + workspace/.c9/metadata/workspace/readme.md | 1 + .../metadata/workspace/reports/iteration_2.md | 1 + .../workspace/resources/assets/sass/app.scss | 1 + .../workspace/resources/lang/en/auth.php | 1 + .../workspace/resources/lang/en/passwords.php | 1 + .../resources/lang/en/validation.php | 1 + .../workspace/resources/lang/fr/auth.php | 1 + .../resources/lang/fr/pagination.php | 1 + .../workspace/resources/lang/fr/passwords.php | 1 + .../workspace/resources/lang/fr/texts.php | 1 + .../resources/lang/fr/validation.php | 1 + .../views/ConfirmRegistery.blade.php | 1 + .../resources/views/OLD/app.blade.php | 1 + .../resources/views/OLD/head.blade.php | 1 + .../resources/views/OLD/header.blade.php | 1 + .../resources/views/OLD/index.blade.php | 1 + .../resources/views/OLD/register.blade.php | 1 + .../resources/views/Produits_gen.blade.php | 1 + .../resources/views/all_products.blade.php | 1 + .../views/auth/emails/password.blade.php | 1 + .../resources/views/auth/login.blade.1.php | 1 + .../resources/views/auth/login.blade.php | 1 + .../views/auth/passwords/email.blade.php | 1 + .../views/auth/passwords/reset.blade.php | 1 + .../resources/views/auth/register.blade.1.php | 1 + .../resources/views/auth/register.blade.php | 1 + .../views/auth/user_register.blade.php | 1 + .../workspace/resources/views/cgu.blade.php | 1 + .../views/confirmRegistery.blade.php | 1 + .../resources/views/errors/503.blade.php | 1 + .../resources/views/function/announce.php | 1 + .../resources/views/guide/cgu.blade.php | 1 + .../resources/views/head.blade.1.php | 1 + .../workspace/resources/views/head.blade.php | 1 + .../workspace/resources/views/head1.blade.php | 1 + .../resources/views/header.blade.1.php | 1 + .../resources/views/header.blade.php | 1 + .../resources/views/header1.blade.php | 1 + .../workspace/resources/views/home.blade.php | 1 + .../resources/views/index.blade.1.php | 1 + .../workspace/resources/views/index.blade.php | 1 + .../resources/views/index1.blade.php | 1 + .../resources/views/layouts/app.blade.php | 1 + .../resources/views/layouts/header.blade.php | 1 + .../resources/views/layouts/meta.blade.php | 1 + .../resources/views/let_ad.blade.php | 1 + .../workspace/resources/views/meta.blade.php | 1 + .../views/products/all_products.blade.php | 1 + .../products/product_alimentary.blade.php | 1 + .../views/products/product_create.blade.php | 1 + .../views/products/product_edit.blade.php | 1 + .../views/products/product_index.blade.php | 1 + .../views/products/product_register.blade.php | 1 + .../views/products/product_show.blade.php | 1 + .../resources/views/products/seek.blade.php | 1 + .../resources/views/registery.blade.php | 1 + .../workspace/resources/views/seek.blade.php | 1 + .../views/template/welcome.blade.php | 1 + .../workspace/resources/views/test.blade.php | 1 + .../resources/views/testVente.blade.php | 1 + .../resources/views/testVoisins.blade.php | 1 + .../views/user/user_create.blade.php | 1 + .../resources/views/user/user_edit.php | 1 + .../resources/views/user/user_index.blade.php | 1 + .../resources/views/user/user_show.blade.php | 1 + .../resources/views/welcome.blade.php | 1 + workspace/.c9/metadata/workspace/server.php | 1 + .../workspace/storage/logs/laravel.log | 1 + .../metadata/workspace/tests/ExampleTest.php | 1 + .../.c9/metadata/workspace/tests/TestCase.php | 1 + .../vendor/illuminate/html/FormBuilder.php | 1 + .../vendor/illuminate/html/FormFacade.php | 1 + .../laravelcollective/html/composer.json | 1 + workspace/.c9/project.settings | 106 + workspace/.env.example | 26 + workspace/.gitattributes | 3 + workspace/.gitignore | 6 + workspace/BUG_REPORT | 3 + workspace/README.md | 30 + workspace/README_SQL | 45 + workspace/Retro.2.md | 0 workspace/app/Console/Commands/Inspire.php | 33 + workspace/app/Console/Kernel.php | 30 + workspace/app/Events/Event.php | 8 + workspace/app/Exceptions/Handler.php | 50 + .../Http/Controllers/Auth/AuthController.php | 73 + .../Controllers/Auth/PasswordController.php | 32 + workspace/app/Http/Controllers/Controller.php | 14 + .../app/Http/Controllers/HomeController.php | 29 + .../Http/Controllers/ProductsController.php | 164 + .../app/Http/Controllers/UserController.php | 53 + workspace/app/Http/Kernel.php | 53 + .../app/Http/Middleware/Authenticate.php | 30 + .../app/Http/Middleware/EncryptCookies.php | 17 + .../Middleware/RedirectIfAuthenticated.php | 26 + .../app/Http/Middleware/VerifyCsrfToken.php | 17 + .../Http/Requests/ProductCreateRequest.php | 42 + .../Http/Requests/ProductUpdateRequest.php | 44 + workspace/app/Http/routes.php | 127 + workspace/app/Jobs/Job.php | 21 + workspace/app/Listeners/.gitkeep | 1 + workspace/app/Policies/.gitkeep | 1 + workspace/app/Product.php | 12 + .../app/Providers/AppServiceProvider.php | 28 + .../app/Providers/AuthServiceProvider.php | 31 + .../app/Providers/EventServiceProvider.php | 33 + .../app/Providers/RouteServiceProvider.php | 61 + .../app/Repositories/ProductRepository.php | 91 + workspace/app/Repositories/UserRepository.php | 56 + workspace/app/User.php | 26 + workspace/artisan | 51 + workspace/bootstrap/app.php | 55 + workspace/bootstrap/autoload.php | 34 + workspace/bootstrap/cache/.gitignore | 2 + workspace/composer.json | 53 + workspace/composer.lock | 3351 +++++ workspace/config/app.php | 212 + workspace/config/auth.php | 107 + workspace/config/broadcasting.php | 52 + workspace/config/cache.php | 81 + workspace/config/compile.php | 35 + workspace/config/database.php | 120 + workspace/config/filesystems.php | 67 + workspace/config/mail.php | 112 + workspace/config/queue.php | 85 + workspace/config/services.php | 38 + workspace/config/session.php | 166 + workspace/config/view.php | 33 + workspace/database/.gitignore | 1 + workspace/database/factories/ModelFactory.php | 21 + workspace/database/migrations/.gitkeep | 1 + .../2014_10_12_000000_create_users_table.php | 34 + ...12_100000_create_password_resets_table.php | 31 + ...2017_11_08_233536_create_product_table.php | 43 + workspace/database/seeds/.gitkeep | 1 + workspace/database/seeds/DatabaseSeeder.php | 16 + workspace/gulpfile.js | 16 + workspace/package.json | 12 + workspace/php.ini | 1659 +++ workspace/php_errors.log | 1728 +++ workspace/phpunit.xml | 30 + workspace/public/.htaccess | 20 + workspace/public/css/app.css | 5 + workspace/public/css/bootstrap-grid.css | 1567 +++ workspace/public/css/bootstrap-grid.css.map | 1 + workspace/public/css/bootstrap-grid.min.css | 7 + .../public/css/bootstrap-grid.min.css.map | 1 + workspace/public/css/bootstrap-reboot.css | 342 + workspace/public/css/bootstrap-reboot.css.map | 1 + workspace/public/css/bootstrap-reboot.min.css | 8 + .../public/css/bootstrap-reboot.min.css.map | 1 + workspace/public/css/bootstrap.css | 8374 +++++++++++++ workspace/public/css/bootstrap.css.map | 1 + workspace/public/css/bootstrap.min.css | 7 + workspace/public/css/bootstrap.min.css.map | 1 + workspace/public/css/custom.css | 709 ++ workspace/public/css/mdb.min.css | 8671 +++++++++++++ workspace/public/favicon.ico | 0 workspace/public/img/arbre.jpg | Bin 0 -> 113567 bytes workspace/public/img/arbreNav.jpg | Bin 0 -> 21353 bytes workspace/public/img/arbreRond.png | Bin 0 -> 530962 bytes workspace/public/img/doge.png | Bin 0 -> 42968 bytes workspace/public/img/feuillesNav.jpeg | Bin 0 -> 102903 bytes workspace/public/index.php | 58 + workspace/public/jquery/core.js | 476 + workspace/public/jquery/jquery.js | 10253 ++++++++++++++++ workspace/public/jquery/jquery.min.js | 4 + workspace/public/jquery/jquery.min.map | 1 + workspace/public/jquery/jquery.slim.js | 8160 ++++++++++++ workspace/public/jquery/jquery.slim.min.js | 4 + workspace/public/jquery/jquery.slim.min.map | 1 + workspace/public/js/app.js | 34 + workspace/public/js/bootstrap.bundle.js | 6287 ++++++++++ workspace/public/js/bootstrap.bundle.js.map | 1 + workspace/public/js/bootstrap.bundle.min.js | 7 + .../public/js/bootstrap.bundle.min.js.map | 1 + workspace/public/js/bootstrap.js | 3850 ++++++ workspace/public/js/bootstrap.js.map | 1 + workspace/public/js/bootstrap.min.js | 7 + workspace/public/js/bootstrap.min.js.map | 1 + workspace/public/js/contact_me.js | 75 + workspace/public/js/freelancer.js | 53 + workspace/public/js/freelancer.min.js | 6 + workspace/public/js/jqBootstrapValidation.js | 912 ++ workspace/public/robots.txt | 2 + workspace/public/web.config | 23 + workspace/readme.md | 27 + workspace/reports/iteration-X-template.md | 72 + workspace/reports/iteration_2.md | 83 + workspace/resources/assets/sass/app.scss | 2 + workspace/resources/lang/en/auth.php | 19 + workspace/resources/lang/en/pagination.php | 19 + workspace/resources/lang/en/passwords.php | 22 + workspace/resources/lang/en/validation.php | 113 + workspace/resources/lang/fr/auth.php | 21 + workspace/resources/lang/fr/pagination.php | 19 + workspace/resources/lang/fr/passwords.php | 22 + workspace/resources/lang/fr/texts.php | 18 + workspace/resources/lang/fr/validation.php | 113 + workspace/resources/views/OLD/app.blade.php | 82 + workspace/resources/views/OLD/head.blade.php | 134 + .../resources/views/OLD/header.blade.php | 134 + workspace/resources/views/OLD/index.blade.php | 69 + workspace/resources/views/OLD/login.blade.php | 70 + .../resources/views/OLD/register.blade.php | 82 + .../views/auth/emails/password.blade.php | 1 + .../resources/views/auth/login.blade.php | 77 + .../views/auth/passwords/email.blade.php | 58 + .../views/auth/passwords/reset.blade.php | 76 + .../resources/views/auth/register.blade.php | 88 + .../views/confirmRegistery.blade.php | 29 + .../resources/views/errors/503.blade.php | 47 + .../resources/views/function/announce.php | 0 workspace/resources/views/guide/cgu.blade.php | 27 + workspace/resources/views/home.blade.php | 17 + workspace/resources/views/index.blade.php | 101 + .../resources/views/layouts/app.blade.php | 150 + .../resources/views/layouts/meta.blade.php | 226 + workspace/resources/views/let_ad.blade.php | 77 + .../products/product_alimentary.blade.php | 58 + .../views/products/product_create.blade.php | 138 + .../views/products/product_edit.blade.php | 88 + .../views/products/product_index.blade.php | 58 + .../views/products/product_show.blade.php | 52 + workspace/resources/views/registery.blade.php | 71 + workspace/resources/views/seek.blade.php | 41 + .../views/template/testVente.blade.php | 221 + .../views/template/testVoisins.blade.php | 76 + .../views/template/welcome.blade.php | 17 + workspace/resources/views/user/user_edit.php | 39 + .../resources/views/user/user_index.blade.php | 12 + .../resources/views/user/user_show.blade.php | 24 + workspace/resources/views/vendor/.gitkeep | 1 + workspace/server.php | 21 + workspace/storage/app/.gitignore | 3 + workspace/storage/app/public/.gitignore | 2 + workspace/storage/framework/.gitignore | 8 + workspace/storage/framework/cache/.gitignore | 2 + .../storage/framework/sessions/.gitignore | 2 + workspace/storage/framework/views/.gitignore | 2 + workspace/storage/logs/.gitignore | 2 + workspace/tests/ExampleTest.php | 19 + workspace/tests/TestCase.php | 25 + 323 files changed, 62924 insertions(+) create mode 100644 rapports_iterations/iteration_2.md create mode 100644 workspace/.c9/.nakignore create mode 100644 workspace/.c9/metadata/tab0 create mode 100644 workspace/.c9/metadata/tab1 create mode 100644 workspace/.c9/metadata/tab12 create mode 100644 workspace/.c9/metadata/tab13 create mode 100644 workspace/.c9/metadata/tab14 create mode 100644 workspace/.c9/metadata/tab2 create mode 100644 workspace/.c9/metadata/tab39 create mode 100644 workspace/.c9/metadata/tab4 create mode 100644 workspace/.c9/metadata/tab6 create mode 100644 workspace/.c9/metadata/workspace/BUG_REPORT create mode 100644 workspace/.c9/metadata/workspace/README.md create mode 100644 workspace/.c9/metadata/workspace/README_SQL create mode 100644 workspace/.c9/metadata/workspace/Retro.2.md create mode 100644 workspace/.c9/metadata/workspace/app/Console/Commands/Inspire.php create mode 100644 workspace/.c9/metadata/workspace/app/Console/Kernel.php create mode 100644 workspace/.c9/metadata/workspace/app/Events/Event.php create mode 100644 workspace/.c9/metadata/workspace/app/Exceptions/Handler.php create mode 100644 workspace/.c9/metadata/workspace/app/Http/Controllers/Auth/AuthController.php create mode 100644 workspace/.c9/metadata/workspace/app/Http/Controllers/Auth/PasswordController.php create mode 100644 workspace/.c9/metadata/workspace/app/Http/Controllers/Controller.php create mode 100644 workspace/.c9/metadata/workspace/app/Http/Controllers/HomeController.php create mode 100644 workspace/.c9/metadata/workspace/app/Http/Controllers/ProductRegisterController.php create mode 100644 workspace/.c9/metadata/workspace/app/Http/Controllers/ProductsController.php create mode 100644 workspace/.c9/metadata/workspace/app/Http/Controllers/RegisterController.php create mode 100644 workspace/.c9/metadata/workspace/app/Http/Controllers/UserController.php create mode 100644 workspace/.c9/metadata/workspace/app/Http/Controllers/UsersController.php create mode 100644 workspace/.c9/metadata/workspace/app/Http/Kernel.php create mode 100644 workspace/.c9/metadata/workspace/app/Http/Middleware/Authenticate.php create mode 100644 workspace/.c9/metadata/workspace/app/Http/Requests/ProductCreateRequest.php create mode 100644 workspace/.c9/metadata/workspace/app/Http/Requests/ProductRegisterRequest.php create mode 100644 workspace/.c9/metadata/workspace/app/Http/Requests/ProductRequest.php create mode 100644 workspace/.c9/metadata/workspace/app/Http/Requests/ProductUpdateRequest.php create mode 100644 workspace/.c9/metadata/workspace/app/Http/routes.php create mode 100644 workspace/.c9/metadata/workspace/app/Product.php create mode 100644 workspace/.c9/metadata/workspace/app/Products.php create mode 100644 workspace/.c9/metadata/workspace/app/Providers/RouteServiceProvider.php create mode 100644 workspace/.c9/metadata/workspace/app/Repositories/ProductRepository.php create mode 100644 workspace/.c9/metadata/workspace/app/Repositories/UserRepository.php create mode 100644 workspace/.c9/metadata/workspace/app/User.php create mode 100644 workspace/.c9/metadata/workspace/bonsaiie/app/Http/routes.php create mode 100644 workspace/.c9/metadata/workspace/bonsaiie/public/index.php create mode 100644 workspace/.c9/metadata/workspace/bonsaiie/resources/views/header.blade.php create mode 100644 workspace/.c9/metadata/workspace/bonsaiie/resources/views/index.blade.php create mode 100644 workspace/.c9/metadata/workspace/bonsaiie/resources/views/index.php create mode 100644 workspace/.c9/metadata/workspace/bootstrap/app.php create mode 100644 workspace/.c9/metadata/workspace/bootstrap/autoload.php create mode 100644 workspace/.c9/metadata/workspace/bootstrap/cache/services.php create mode 100644 workspace/.c9/metadata/workspace/composer.json create mode 100644 workspace/.c9/metadata/workspace/config/app.php create mode 100644 workspace/.c9/metadata/workspace/config/auth.php create mode 100644 workspace/.c9/metadata/workspace/config/broadcasting.php create mode 100644 workspace/.c9/metadata/workspace/config/cache.php create mode 100644 workspace/.c9/metadata/workspace/config/compile.php create mode 100644 workspace/.c9/metadata/workspace/config/database.php create mode 100644 workspace/.c9/metadata/workspace/config/mail.php create mode 100644 workspace/.c9/metadata/workspace/config/session.php create mode 100644 workspace/.c9/metadata/workspace/config/view.php create mode 100644 workspace/.c9/metadata/workspace/database/factories/ModelFactory.php create mode 100644 workspace/.c9/metadata/workspace/database/migrations/2014_10_12_000000_create_users_table.php create mode 100644 workspace/.c9/metadata/workspace/database/migrations/2014_10_12_100000_create_password_resets_table.php create mode 100644 workspace/.c9/metadata/workspace/database/migrations/2017_11_08_233536_create_product_table.php create mode 100644 workspace/.c9/metadata/workspace/database/seeds/DatabaseSeeder.php create mode 100644 workspace/.c9/metadata/workspace/index.php create mode 100644 workspace/.c9/metadata/workspace/php.ini create mode 100644 workspace/.c9/metadata/workspace/phpunit.xml create mode 100644 workspace/.c9/metadata/workspace/public/css/app.css create mode 100644 workspace/.c9/metadata/workspace/public/css/bootstrap.min.css create mode 100644 workspace/.c9/metadata/workspace/public/css/custom.css create mode 100644 workspace/.c9/metadata/workspace/public/css/mdb.min.css create mode 100644 workspace/.c9/metadata/workspace/public/favicon.ico create mode 100644 workspace/.c9/metadata/workspace/public/img/arbreRond.png create mode 100644 workspace/.c9/metadata/workspace/public/img/feuillesNav.jpeg create mode 100644 workspace/.c9/metadata/workspace/public/index.php create mode 100644 workspace/.c9/metadata/workspace/public/jquery/jquery.min.js create mode 100644 workspace/.c9/metadata/workspace/public/js/app.js create mode 100644 workspace/.c9/metadata/workspace/public/js/bootstrap.js create mode 100644 workspace/.c9/metadata/workspace/public/robots.txt create mode 100644 workspace/.c9/metadata/workspace/public/web.config create mode 100644 workspace/.c9/metadata/workspace/readme.md create mode 100644 workspace/.c9/metadata/workspace/reports/iteration_2.md create mode 100644 workspace/.c9/metadata/workspace/resources/assets/sass/app.scss create mode 100644 workspace/.c9/metadata/workspace/resources/lang/en/auth.php create mode 100644 workspace/.c9/metadata/workspace/resources/lang/en/passwords.php create mode 100644 workspace/.c9/metadata/workspace/resources/lang/en/validation.php create mode 100644 workspace/.c9/metadata/workspace/resources/lang/fr/auth.php create mode 100644 workspace/.c9/metadata/workspace/resources/lang/fr/pagination.php create mode 100644 workspace/.c9/metadata/workspace/resources/lang/fr/passwords.php create mode 100644 workspace/.c9/metadata/workspace/resources/lang/fr/texts.php create mode 100644 workspace/.c9/metadata/workspace/resources/lang/fr/validation.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/ConfirmRegistery.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/OLD/app.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/OLD/head.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/OLD/header.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/OLD/index.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/OLD/register.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/Produits_gen.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/all_products.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/auth/emails/password.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/auth/login.blade.1.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/auth/login.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/auth/passwords/email.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/auth/passwords/reset.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/auth/register.blade.1.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/auth/register.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/auth/user_register.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/cgu.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/confirmRegistery.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/errors/503.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/function/announce.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/guide/cgu.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/head.blade.1.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/head.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/head1.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/header.blade.1.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/header.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/header1.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/home.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/index.blade.1.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/index.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/index1.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/layouts/app.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/layouts/header.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/layouts/meta.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/let_ad.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/meta.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/products/all_products.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/products/product_alimentary.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/products/product_create.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/products/product_edit.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/products/product_index.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/products/product_register.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/products/product_show.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/products/seek.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/registery.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/seek.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/template/welcome.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/test.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/testVente.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/testVoisins.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/user/user_create.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/user/user_edit.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/user/user_index.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/user/user_show.blade.php create mode 100644 workspace/.c9/metadata/workspace/resources/views/welcome.blade.php create mode 100644 workspace/.c9/metadata/workspace/server.php create mode 100644 workspace/.c9/metadata/workspace/storage/logs/laravel.log create mode 100644 workspace/.c9/metadata/workspace/tests/ExampleTest.php create mode 100644 workspace/.c9/metadata/workspace/tests/TestCase.php create mode 100644 workspace/.c9/metadata/workspace/vendor/illuminate/html/FormBuilder.php create mode 100644 workspace/.c9/metadata/workspace/vendor/illuminate/html/FormFacade.php create mode 100644 workspace/.c9/metadata/workspace/vendor/laravelcollective/html/composer.json create mode 100644 workspace/.c9/project.settings create mode 100644 workspace/.env.example create mode 100644 workspace/.gitattributes create mode 100644 workspace/.gitignore create mode 100644 workspace/BUG_REPORT create mode 100644 workspace/README.md create mode 100644 workspace/README_SQL create mode 100644 workspace/Retro.2.md create mode 100644 workspace/app/Console/Commands/Inspire.php create mode 100644 workspace/app/Console/Kernel.php create mode 100644 workspace/app/Events/Event.php create mode 100644 workspace/app/Exceptions/Handler.php create mode 100644 workspace/app/Http/Controllers/Auth/AuthController.php create mode 100644 workspace/app/Http/Controllers/Auth/PasswordController.php create mode 100644 workspace/app/Http/Controllers/Controller.php create mode 100644 workspace/app/Http/Controllers/HomeController.php create mode 100644 workspace/app/Http/Controllers/ProductsController.php create mode 100644 workspace/app/Http/Controllers/UserController.php create mode 100644 workspace/app/Http/Kernel.php create mode 100644 workspace/app/Http/Middleware/Authenticate.php create mode 100644 workspace/app/Http/Middleware/EncryptCookies.php create mode 100644 workspace/app/Http/Middleware/RedirectIfAuthenticated.php create mode 100644 workspace/app/Http/Middleware/VerifyCsrfToken.php create mode 100644 workspace/app/Http/Requests/ProductCreateRequest.php create mode 100644 workspace/app/Http/Requests/ProductUpdateRequest.php create mode 100644 workspace/app/Http/routes.php create mode 100644 workspace/app/Jobs/Job.php create mode 100644 workspace/app/Listeners/.gitkeep create mode 100644 workspace/app/Policies/.gitkeep create mode 100644 workspace/app/Product.php create mode 100644 workspace/app/Providers/AppServiceProvider.php create mode 100644 workspace/app/Providers/AuthServiceProvider.php create mode 100644 workspace/app/Providers/EventServiceProvider.php create mode 100644 workspace/app/Providers/RouteServiceProvider.php create mode 100644 workspace/app/Repositories/ProductRepository.php create mode 100644 workspace/app/Repositories/UserRepository.php create mode 100644 workspace/app/User.php create mode 100755 workspace/artisan create mode 100644 workspace/bootstrap/app.php create mode 100644 workspace/bootstrap/autoload.php create mode 100644 workspace/bootstrap/cache/.gitignore create mode 100644 workspace/composer.json create mode 100644 workspace/composer.lock create mode 100644 workspace/config/app.php create mode 100644 workspace/config/auth.php create mode 100644 workspace/config/broadcasting.php create mode 100644 workspace/config/cache.php create mode 100644 workspace/config/compile.php create mode 100644 workspace/config/database.php create mode 100644 workspace/config/filesystems.php create mode 100644 workspace/config/mail.php create mode 100644 workspace/config/queue.php create mode 100644 workspace/config/services.php create mode 100644 workspace/config/session.php create mode 100644 workspace/config/view.php create mode 100644 workspace/database/.gitignore create mode 100644 workspace/database/factories/ModelFactory.php create mode 100644 workspace/database/migrations/.gitkeep create mode 100644 workspace/database/migrations/2014_10_12_000000_create_users_table.php create mode 100644 workspace/database/migrations/2014_10_12_100000_create_password_resets_table.php create mode 100644 workspace/database/migrations/2017_11_08_233536_create_product_table.php create mode 100644 workspace/database/seeds/.gitkeep create mode 100644 workspace/database/seeds/DatabaseSeeder.php create mode 100644 workspace/gulpfile.js create mode 100644 workspace/package.json create mode 100644 workspace/php.ini create mode 100644 workspace/php_errors.log create mode 100644 workspace/phpunit.xml create mode 100644 workspace/public/.htaccess create mode 100644 workspace/public/css/app.css create mode 100644 workspace/public/css/bootstrap-grid.css create mode 100644 workspace/public/css/bootstrap-grid.css.map create mode 100644 workspace/public/css/bootstrap-grid.min.css create mode 100644 workspace/public/css/bootstrap-grid.min.css.map create mode 100644 workspace/public/css/bootstrap-reboot.css create mode 100644 workspace/public/css/bootstrap-reboot.css.map create mode 100644 workspace/public/css/bootstrap-reboot.min.css create mode 100644 workspace/public/css/bootstrap-reboot.min.css.map create mode 100644 workspace/public/css/bootstrap.css create mode 100644 workspace/public/css/bootstrap.css.map create mode 100644 workspace/public/css/bootstrap.min.css create mode 100644 workspace/public/css/bootstrap.min.css.map create mode 100644 workspace/public/css/custom.css create mode 100644 workspace/public/css/mdb.min.css create mode 100644 workspace/public/favicon.ico create mode 100644 workspace/public/img/arbre.jpg create mode 100644 workspace/public/img/arbreNav.jpg create mode 100644 workspace/public/img/arbreRond.png create mode 100644 workspace/public/img/doge.png create mode 100644 workspace/public/img/feuillesNav.jpeg create mode 100644 workspace/public/index.php create mode 100644 workspace/public/jquery/core.js create mode 100644 workspace/public/jquery/jquery.js create mode 100644 workspace/public/jquery/jquery.min.js create mode 100644 workspace/public/jquery/jquery.min.map create mode 100644 workspace/public/jquery/jquery.slim.js create mode 100644 workspace/public/jquery/jquery.slim.min.js create mode 100644 workspace/public/jquery/jquery.slim.min.map create mode 100644 workspace/public/js/app.js create mode 100644 workspace/public/js/bootstrap.bundle.js create mode 100644 workspace/public/js/bootstrap.bundle.js.map create mode 100644 workspace/public/js/bootstrap.bundle.min.js create mode 100644 workspace/public/js/bootstrap.bundle.min.js.map create mode 100644 workspace/public/js/bootstrap.js create mode 100644 workspace/public/js/bootstrap.js.map create mode 100644 workspace/public/js/bootstrap.min.js create mode 100644 workspace/public/js/bootstrap.min.js.map create mode 100644 workspace/public/js/contact_me.js create mode 100644 workspace/public/js/freelancer.js create mode 100644 workspace/public/js/freelancer.min.js create mode 100644 workspace/public/js/jqBootstrapValidation.js create mode 100644 workspace/public/robots.txt create mode 100644 workspace/public/web.config create mode 100644 workspace/readme.md create mode 100644 workspace/reports/iteration-X-template.md create mode 100644 workspace/reports/iteration_2.md create mode 100644 workspace/resources/assets/sass/app.scss create mode 100644 workspace/resources/lang/en/auth.php create mode 100644 workspace/resources/lang/en/pagination.php create mode 100644 workspace/resources/lang/en/passwords.php create mode 100644 workspace/resources/lang/en/validation.php create mode 100644 workspace/resources/lang/fr/auth.php create mode 100644 workspace/resources/lang/fr/pagination.php create mode 100644 workspace/resources/lang/fr/passwords.php create mode 100644 workspace/resources/lang/fr/texts.php create mode 100644 workspace/resources/lang/fr/validation.php create mode 100644 workspace/resources/views/OLD/app.blade.php create mode 100644 workspace/resources/views/OLD/head.blade.php create mode 100644 workspace/resources/views/OLD/header.blade.php create mode 100644 workspace/resources/views/OLD/index.blade.php create mode 100644 workspace/resources/views/OLD/login.blade.php create mode 100644 workspace/resources/views/OLD/register.blade.php create mode 100644 workspace/resources/views/auth/emails/password.blade.php create mode 100644 workspace/resources/views/auth/login.blade.php create mode 100644 workspace/resources/views/auth/passwords/email.blade.php create mode 100644 workspace/resources/views/auth/passwords/reset.blade.php create mode 100644 workspace/resources/views/auth/register.blade.php create mode 100644 workspace/resources/views/confirmRegistery.blade.php create mode 100644 workspace/resources/views/errors/503.blade.php create mode 100644 workspace/resources/views/function/announce.php create mode 100644 workspace/resources/views/guide/cgu.blade.php create mode 100644 workspace/resources/views/home.blade.php create mode 100644 workspace/resources/views/index.blade.php create mode 100644 workspace/resources/views/layouts/app.blade.php create mode 100644 workspace/resources/views/layouts/meta.blade.php create mode 100644 workspace/resources/views/let_ad.blade.php create mode 100644 workspace/resources/views/products/product_alimentary.blade.php create mode 100644 workspace/resources/views/products/product_create.blade.php create mode 100644 workspace/resources/views/products/product_edit.blade.php create mode 100644 workspace/resources/views/products/product_index.blade.php create mode 100644 workspace/resources/views/products/product_show.blade.php create mode 100644 workspace/resources/views/registery.blade.php create mode 100644 workspace/resources/views/seek.blade.php create mode 100644 workspace/resources/views/template/testVente.blade.php create mode 100644 workspace/resources/views/template/testVoisins.blade.php create mode 100644 workspace/resources/views/template/welcome.blade.php create mode 100644 workspace/resources/views/user/user_edit.php create mode 100644 workspace/resources/views/user/user_index.blade.php create mode 100644 workspace/resources/views/user/user_show.blade.php create mode 100644 workspace/resources/views/vendor/.gitkeep create mode 100644 workspace/server.php create mode 100644 workspace/storage/app/.gitignore create mode 100644 workspace/storage/app/public/.gitignore create mode 100644 workspace/storage/framework/.gitignore create mode 100644 workspace/storage/framework/cache/.gitignore create mode 100644 workspace/storage/framework/sessions/.gitignore create mode 100644 workspace/storage/framework/views/.gitignore create mode 100644 workspace/storage/logs/.gitignore create mode 100644 workspace/tests/ExampleTest.php create mode 100644 workspace/tests/TestCase.php diff --git a/rapports_iterations/iteration_2.md b/rapports_iterations/iteration_2.md new file mode 100644 index 0000000..6606670 --- /dev/null +++ b/rapports_iterations/iteration_2.md @@ -0,0 +1,77 @@ +# Rapport d'itération + +## Composition de l'équipe + + +| | Itération précédente | +| ------------- |------------- | +| **Product Owner** | *AICHHORN Guillaume* | +| **Scrum Master** | *MELCHIOR Louis* | +| **Dev** | *KIM Hyoseok* | +| **Dev** | *ALIMEHNNI Hugues* | +| **Dev** | *SANN Sokchivin* | +| **Dev** | *BENCHETRIT Milan* | +| **Dev** | *ALVES Alexandre* | + +## Bilan de l'itération précédente +### Évènements +*Quels sont les évènements qui ont marqué l'itération précédente? Répertoriez ici les évènements qui ont eu un impact sur ce qui était prévu à l'itération précédente.* +> Guillaume n'avait pas accès à un ordinateur (problème lié à son ordinateur personnel) +> L'équipe manquait d'organisation (manque de communication et tâches non définis) +> Après réflexion, nous avons migrés sur Cloud9 (facilitant le travail parallèle) + +### Taux de complétion de l'itération +*Quel est le nombre d'éléments terminés par rapport au nombre total d'éléments prévu pour l'itération?* +> 2 terminées / 3 prévues = 66% + +### Liste des User Stories terminées +> Présentation général du site +> Authentification + +## Rétrospective de l'itération précédente + +### Bilans des retours et des précédentes actions +> Manque d'organisations et de communication : les membres de l'équipe ne savait pas quoi faire +> Pas assez de stand up et état d'avancé du projet +> Les USs étaient trop vagues et n'avaient pas été étudiées +> Difficultés à prendre en mains Laravel (nouvel environnement de travail) + +### Actions prises pour la prochaine itération +> Meilleure communication +> Meilleure plannification des tâches (répartition et objectifs) +> Nouvel axe de travail (recentré sur le MVP) + +### Axes d'améliorations +> PO : Doit être plus investi dans les prises de décisions concernant l'orientation du projet +> SM : Doit être un élement clé pour la cohésion et la communication au sein de l'équipe +> Dev : Doivent être plus présents dans la réalisation du projet, n'hésitant pas à faire part de leurs problèmes + +## Prévisions de l'itération suivante +### Évènements prévus +> Jeudi 9 Novembre 2017 : Forum de l'ENSIIE +> Vendredi 10 Novembre 2017 : Réunion mi-sprint + +### Titre des User Stories reportées +> Réalisation du MVP (Dépose annonce et consultation) + +### Titre des nouvelles User Stories +> Recherche dans les annonces +> Les US reportées + +## Confiance +### Taux de confiance de l'équipe dans l'itération +*Remplir le tableau sachant que :D est une confiance totale dans le fait de livrer les éléments de l'itération. Mettre le nombre de votes dans chacune des cases. Expliquer en cas de besoin.* + +| | :( | :| | :) | :D | +|:--------: |:----: |:----: |:----: |:----: | +| Equipe 7 | *0* | *0* | *0* | *0* | + +### Taux de confiance de l'équipe pour la réalisation du projet +*Remplir le tableau sachant que :D est une confiance totale dans le fait de réaliser le projet. Mettre le nombre de votes dans chacune des cases. Expliquer en cas de besoin.* + +| | :( | :| | :) | :D | +|:--------: |:----: |:----: |:----: |:----: | +| Equipe 7 | *0* | *0* | *0* | *0* | + + + diff --git a/workspace/.c9/.nakignore b/workspace/.c9/.nakignore new file mode 100644 index 0000000..6d30aa6 --- /dev/null +++ b/workspace/.c9/.nakignore @@ -0,0 +1,17 @@ +*~backup-* +.c9revisions +.c9 +.git +.svn +.DS_Store +.bzr +.cdv +~.dep +~.dot +~.nib +~.plst +.hg +.pc +*.min.js +.nakignore +/dev diff --git a/workspace/.c9/metadata/tab0 b/workspace/.c9/metadata/tab0 new file mode 100644 index 0000000..fc7861a --- /dev/null +++ b/workspace/.c9/metadata/tab0 @@ -0,0 +1 @@ +{"filter":false,"title":"bash - \"ubuntu@cartman10-pima-bonsaiie-5530996: ~/workspace\" ","tooltip":"bash - \"ubuntu@cartman10-pima-bonsaiie-5530996: ~/workspace\" ","undoManager":{"mark":-1,"position":-1,"stack":[]},"terminal":{"id":"cartman10@pima_bonsaiie_445","cwd":"","width":0,"height":0,"scrollTop":-1},"hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709"} \ No newline at end of file diff --git a/workspace/.c9/metadata/tab1 b/workspace/.c9/metadata/tab1 new file mode 100644 index 0000000..025572a --- /dev/null +++ b/workspace/.c9/metadata/tab1 @@ -0,0 +1 @@ +{"changed":false,"filter":false,"title":"Apache & PHP - Running","tooltip":"Apache & PHP - Running","undoManager":{"mark":0,"position":0,"stack":[[{"start":{"row":0,"column":0},"end":{"row":2,"column":0},"action":"insert","lines":["Welcome to the Javascript REPL. This REPL allows you to test any single or multi line code in","a browser based javascript environment (iframe). It operates similar to your browser console.",""],"id":4}]]},"output":{"id":"output-defaultApache-w-12-wPHP","width":1396,"height":268,"scrollTop":1820.7778749465942,"config":{"command":"","debug":false,"default":true,"name":"Apache & PHP","runner":"Apache httpd (PHP, HTML)","toolbar":true},"running":{"pid":51241,"name":"output-defaultApache-w-12-wPHP","running":2,"runner":[{"cmd":["run-apache2","${debug?debug}"],"cmdStop":["run-apache2","stop"],"debugger":"xdebug","debugport":9000,"$debugDefaultState":false,"selector":"^.*\\.(php|phtml|html|shtml)$","env":{"XDEBUG_CONFIG":"xdebug.remote_enable=1 idekey=cloud9ide remote_host=localhost remote_port=9000 remote_mode=req"},"info":"Starting Apache httpd, serving \\033[01;34m$hostname_path\\033[00m.","caption":"Apache httpd (PHP, HTML)","$builtin":true}],"debug":false}},"timestamp":1511102059323} \ No newline at end of file diff --git a/workspace/.c9/metadata/tab12 b/workspace/.c9/metadata/tab12 new file mode 100644 index 0000000..adc7539 --- /dev/null +++ b/workspace/.c9/metadata/tab12 @@ -0,0 +1 @@ +{"filter":false,"title":"Apache & PHP - Running","tooltip":"Apache & PHP - Running","undoManager":{"mark":-1,"position":-1,"stack":[]},"output":{"id":"output-defaultApache-w-12-wPHP","width":0,"height":0,"scrollTop":-8,"config":{"command":"","debug":false,"default":true,"name":"Apache & PHP","runner":"Apache httpd (PHP, HTML)","toolbar":true},"running":{"pid":48604,"name":"output-defaultApache-w-12-wPHP","running":2,"runner":[{"cmd":["run-apache2","${debug?debug}"],"cmdStop":["run-apache2","stop"],"debugger":"xdebug","debugport":9000,"$debugDefaultState":false,"selector":"^.*\\.(php|phtml|html|shtml)$","env":{"XDEBUG_CONFIG":"xdebug.remote_enable=1 idekey=cloud9ide remote_host=localhost remote_port=9000 remote_mode=req"},"info":"Starting Apache httpd, serving \\033[01;34m$hostname_path\\033[00m.","caption":"Apache httpd (PHP, HTML)","$builtin":true}],"debug":false}},"timestamp":1511142496888,"hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709"} \ No newline at end of file diff --git a/workspace/.c9/metadata/tab13 b/workspace/.c9/metadata/tab13 new file mode 100644 index 0000000..6238335 --- /dev/null +++ b/workspace/.c9/metadata/tab13 @@ -0,0 +1 @@ +{"filter":false,"title":"Apache & PHP - Running","tooltip":"Apache & PHP - Running","undoManager":{"mark":-1,"position":-1,"stack":[]},"output":{"id":"output-defaultApache-w-12-wPHP","width":967,"height":190,"scrollTop":-3,"config":{"command":"","debug":false,"default":true,"name":"Apache & PHP","runner":"Apache httpd (PHP, HTML)","toolbar":true},"running":{"pid":13535,"name":"output-defaultApache-w-12-wPHP","running":2,"runner":[{"cmd":["run-apache2","${debug?debug}"],"cmdStop":["run-apache2","stop"],"debugger":"xdebug","debugport":9000,"$debugDefaultState":false,"selector":"^.*\\.(php|phtml|html|shtml)$","env":{"XDEBUG_CONFIG":"xdebug.remote_enable=1 idekey=cloud9ide remote_host=localhost remote_port=9000 remote_mode=req"},"info":"Starting Apache httpd, serving \\033[01;34m$hostname_path\\033[00m.","caption":"Apache httpd (PHP, HTML)","$builtin":true}]}},"hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709"} \ No newline at end of file diff --git a/workspace/.c9/metadata/tab14 b/workspace/.c9/metadata/tab14 new file mode 100644 index 0000000..65adc37 --- /dev/null +++ b/workspace/.c9/metadata/tab14 @@ -0,0 +1 @@ +{"filter":false,"title":"Apache & PHP - Stopped","tooltip":"Apache & PHP - Stopped","undoManager":{"mark":-1,"position":-1,"stack":[]},"output":{"id":"output-defaultApache-w-12-wPHP","width":1005,"height":133,"scrollTop":-1,"config":{"command":"","debug":false,"default":true,"name":"Apache & PHP","runner":"Apache httpd (PHP, HTML)","toolbar":true}},"timestamp":1510791062683,"hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709"} \ No newline at end of file diff --git a/workspace/.c9/metadata/tab2 b/workspace/.c9/metadata/tab2 new file mode 100644 index 0000000..7266d7b --- /dev/null +++ b/workspace/.c9/metadata/tab2 @@ -0,0 +1 @@ +{"filter":false,"title":"bash - \"ubuntu@cartman10-pima-bonsaiie-5530996: ~/workspace\" ","tooltip":"bash - \"ubuntu@cartman10-pima-bonsaiie-5530996: ~/workspace\" ","undoManager":{"mark":-1,"position":-1,"stack":[]},"terminal":{"id":"cartman10@pima_bonsaiie_880","cwd":"","width":1168,"height":152,"scrollTop":-1},"timestamp":1511025535699,"hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709"} \ No newline at end of file diff --git a/workspace/.c9/metadata/tab39 b/workspace/.c9/metadata/tab39 new file mode 100644 index 0000000..7428bd6 --- /dev/null +++ b/workspace/.c9/metadata/tab39 @@ -0,0 +1 @@ +{"filter":false,"title":"bash - \"ubuntu@cartman10-pima-bonsaiie-5530996: ~/workspace\" ","tooltip":"bash - \"ubuntu@cartman10-pima-bonsaiie-5530996: ~/workspace\" ","undoManager":{"mark":-1,"position":-1,"stack":[]},"terminal":{"id":"cartman10@pima_bonsaiie_807","cwd":"","width":0,"height":0,"scrollTop":-1},"timestamp":1510601847072,"hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709"} \ No newline at end of file diff --git a/workspace/.c9/metadata/tab4 b/workspace/.c9/metadata/tab4 new file mode 100644 index 0000000..4e03e98 --- /dev/null +++ b/workspace/.c9/metadata/tab4 @@ -0,0 +1 @@ +{"filter":false,"title":"Apache & PHP - Running","tooltip":"Apache & PHP - Running","undoManager":{"mark":-1,"position":-1,"stack":[]},"output":{"id":"output-defaultApache-w-12-wPHP","width":1168,"height":152,"scrollTop":-5,"config":{"command":"","debug":false,"default":true,"name":"Apache & PHP","runner":"Apache httpd (PHP, HTML)","toolbar":true},"running":{"pid":23178,"name":"output-defaultApache-w-12-wPHP","running":2,"runner":[{"cmd":["run-apache2","${debug?debug}"],"cmdStop":["run-apache2","stop"],"debugger":"xdebug","debugport":9000,"$debugDefaultState":false,"selector":"^.*\\.(php|phtml|html|shtml)$","env":{"XDEBUG_CONFIG":"xdebug.remote_enable=1 idekey=cloud9ide remote_host=localhost remote_port=9000 remote_mode=req"},"info":"Starting Apache httpd, serving \\033[01;34m$hostname_path\\033[00m.","caption":"Apache httpd (PHP, HTML)","$builtin":true}],"debug":false}},"timestamp":1511117161225,"hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709"} \ No newline at end of file diff --git a/workspace/.c9/metadata/tab6 b/workspace/.c9/metadata/tab6 new file mode 100644 index 0000000..e263b86 --- /dev/null +++ b/workspace/.c9/metadata/tab6 @@ -0,0 +1 @@ +{"filter":false,"title":"Apache & PHP - Stopped","tooltip":"Apache & PHP - Stopped","undoManager":{"mark":-1,"position":-1,"stack":[]},"output":{"id":"output-defaultApache-w-12-wPHP","width":806,"height":121,"scrollTop":-1,"config":{"command":"","debug":false,"default":true,"name":"Apache & PHP","runner":"Apache httpd (PHP, HTML)","toolbar":true}},"hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/BUG_REPORT b/workspace/.c9/metadata/workspace/BUG_REPORT new file mode 100644 index 0000000..994efec --- /dev/null +++ b/workspace/.c9/metadata/workspace/BUG_REPORT @@ -0,0 +1 @@ +{"filter":false,"title":"BUG_REPORT","tooltip":"/BUG_REPORT","ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":2,"column":87},"end":{"row":2,"column":87},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"hash":"76876015f7c939112d83b184dd1745690464aade","undoManager":{"mark":92,"position":92,"stack":[[{"start":{"row":0,"column":38},"end":{"row":1,"column":0},"action":"insert","lines":["",""],"id":2}],[{"start":{"row":1,"column":0},"end":{"row":2,"column":0},"action":"insert","lines":["",""],"id":3}],[{"start":{"row":2,"column":0},"end":{"row":2,"column":1},"action":"insert","lines":["L"],"id":4}],[{"start":{"row":2,"column":1},"end":{"row":2,"column":2},"action":"insert","lines":["e"],"id":5}],[{"start":{"row":2,"column":2},"end":{"row":2,"column":3},"action":"insert","lines":[" "],"id":6}],[{"start":{"row":2,"column":3},"end":{"row":2,"column":4},"action":"insert","lines":["m"],"id":7}],[{"start":{"row":2,"column":4},"end":{"row":2,"column":5},"action":"insert","lines":["e"],"id":8}],[{"start":{"row":2,"column":5},"end":{"row":2,"column":6},"action":"insert","lines":["n"],"id":9}],[{"start":{"row":2,"column":6},"end":{"row":2,"column":7},"action":"insert","lines":["u"],"id":10}],[{"start":{"row":2,"column":7},"end":{"row":2,"column":8},"action":"insert","lines":[" "],"id":11}],[{"start":{"row":2,"column":8},"end":{"row":2,"column":9},"action":"insert","lines":["d"],"id":12}],[{"start":{"row":2,"column":9},"end":{"row":2,"column":10},"action":"insert","lines":["é"],"id":13}],[{"start":{"row":2,"column":10},"end":{"row":2,"column":11},"action":"insert","lines":["r"],"id":14}],[{"start":{"row":2,"column":11},"end":{"row":2,"column":12},"action":"insert","lines":["o"],"id":15}],[{"start":{"row":2,"column":12},"end":{"row":2,"column":13},"action":"insert","lines":["u"],"id":16}],[{"start":{"row":2,"column":13},"end":{"row":2,"column":14},"action":"insert","lines":["l"],"id":17}],[{"start":{"row":2,"column":14},"end":{"row":2,"column":15},"action":"insert","lines":["a"],"id":18}],[{"start":{"row":2,"column":15},"end":{"row":2,"column":16},"action":"insert","lines":["n"],"id":19}],[{"start":{"row":2,"column":16},"end":{"row":2,"column":17},"action":"insert","lines":["t"],"id":20}],[{"start":{"row":2,"column":17},"end":{"row":2,"column":18},"action":"insert","lines":[" "],"id":21}],[{"start":{"row":2,"column":18},"end":{"row":2,"column":19},"action":"insert","lines":["\""],"id":22}],[{"start":{"row":2,"column":19},"end":{"row":2,"column":20},"action":"insert","lines":["\""],"id":23}],[{"start":{"row":2,"column":19},"end":{"row":2,"column":20},"action":"insert","lines":["P"],"id":24}],[{"start":{"row":2,"column":20},"end":{"row":2,"column":21},"action":"insert","lines":["o"],"id":25}],[{"start":{"row":2,"column":20},"end":{"row":2,"column":21},"action":"remove","lines":["o"],"id":26}],[{"start":{"row":2,"column":20},"end":{"row":2,"column":21},"action":"insert","lines":["r"],"id":27}],[{"start":{"row":2,"column":21},"end":{"row":2,"column":22},"action":"insert","lines":["o"],"id":28}],[{"start":{"row":2,"column":22},"end":{"row":2,"column":23},"action":"insert","lines":["d"],"id":29}],[{"start":{"row":2,"column":23},"end":{"row":2,"column":24},"action":"insert","lines":["u"],"id":30}],[{"start":{"row":2,"column":24},"end":{"row":2,"column":25},"action":"insert","lines":["i"],"id":31}],[{"start":{"row":2,"column":25},"end":{"row":2,"column":26},"action":"insert","lines":["t"],"id":32}],[{"start":{"row":2,"column":26},"end":{"row":2,"column":27},"action":"insert","lines":["s"],"id":33}],[{"start":{"row":2,"column":27},"end":{"row":2,"column":28},"action":"insert","lines":[" "],"id":34}],[{"start":{"row":2,"column":28},"end":{"row":2,"column":29},"action":"insert","lines":["b"],"id":35}],[{"start":{"row":2,"column":29},"end":{"row":2,"column":30},"action":"insert","lines":["u"],"id":36}],[{"start":{"row":2,"column":30},"end":{"row":2,"column":31},"action":"insert","lines":["g"],"id":37}],[{"start":{"row":2,"column":31},"end":{"row":2,"column":32},"action":"insert","lines":[" "],"id":38}],[{"start":{"row":2,"column":32},"end":{"row":2,"column":33},"action":"insert","lines":["a"],"id":39}],[{"start":{"row":2,"column":33},"end":{"row":2,"column":34},"action":"insert","lines":["u"],"id":40}],[{"start":{"row":2,"column":34},"end":{"row":2,"column":35},"action":"insert","lines":[" "],"id":41}],[{"start":{"row":2,"column":35},"end":{"row":2,"column":36},"action":"insert","lines":["m"],"id":42}],[{"start":{"row":2,"column":36},"end":{"row":2,"column":37},"action":"insert","lines":["o"],"id":43}],[{"start":{"row":2,"column":37},"end":{"row":2,"column":38},"action":"insert","lines":["m"],"id":44}],[{"start":{"row":2,"column":38},"end":{"row":2,"column":39},"action":"insert","lines":["e"],"id":45}],[{"start":{"row":2,"column":39},"end":{"row":2,"column":40},"action":"insert","lines":["n"],"id":46}],[{"start":{"row":2,"column":40},"end":{"row":2,"column":41},"action":"insert","lines":["t"],"id":47}],[{"start":{"row":2,"column":41},"end":{"row":2,"column":42},"action":"insert","lines":[" "],"id":48}],[{"start":{"row":2,"column":42},"end":{"row":2,"column":43},"action":"insert","lines":["d"],"id":49}],[{"start":{"row":2,"column":43},"end":{"row":2,"column":44},"action":"insert","lines":["e"],"id":50}],[{"start":{"row":2,"column":44},"end":{"row":2,"column":45},"action":"insert","lines":[" "],"id":51}],[{"start":{"row":2,"column":45},"end":{"row":2,"column":46},"action":"insert","lines":["p"],"id":52}],[{"start":{"row":2,"column":46},"end":{"row":2,"column":47},"action":"insert","lines":["a"],"id":53}],[{"start":{"row":2,"column":47},"end":{"row":2,"column":48},"action":"insert","lines":["s"],"id":54}],[{"start":{"row":2,"column":48},"end":{"row":2,"column":49},"action":"insert","lines":["s"],"id":55}],[{"start":{"row":2,"column":49},"end":{"row":2,"column":50},"action":"insert","lines":["e"],"id":56}],[{"start":{"row":2,"column":50},"end":{"row":2,"column":51},"action":"insert","lines":["r"],"id":57}],[{"start":{"row":2,"column":51},"end":{"row":2,"column":52},"action":"insert","lines":[" "],"id":58}],[{"start":{"row":2,"column":52},"end":{"row":2,"column":53},"action":"insert","lines":["d"],"id":59}],[{"start":{"row":2,"column":53},"end":{"row":2,"column":54},"action":"insert","lines":["a"],"id":60}],[{"start":{"row":2,"column":54},"end":{"row":2,"column":55},"action":"insert","lines":["n"],"id":61}],[{"start":{"row":2,"column":55},"end":{"row":2,"column":56},"action":"insert","lines":["s"],"id":62}],[{"start":{"row":2,"column":56},"end":{"row":2,"column":57},"action":"insert","lines":[" "],"id":63}],[{"start":{"row":2,"column":57},"end":{"row":2,"column":58},"action":"insert","lines":["l"],"id":64}],[{"start":{"row":2,"column":58},"end":{"row":2,"column":59},"action":"insert","lines":["a"],"id":65}],[{"start":{"row":2,"column":59},"end":{"row":2,"column":60},"action":"insert","lines":[" "],"id":66}],[{"start":{"row":2,"column":60},"end":{"row":2,"column":61},"action":"insert","lines":["l"],"id":67}],[{"start":{"row":2,"column":61},"end":{"row":2,"column":62},"action":"insert","lines":["i"],"id":68}],[{"start":{"row":2,"column":62},"end":{"row":2,"column":63},"action":"insert","lines":["s"],"id":69}],[{"start":{"row":2,"column":63},"end":{"row":2,"column":64},"action":"insert","lines":["t"],"id":70}],[{"start":{"row":2,"column":64},"end":{"row":2,"column":65},"action":"insert","lines":["e"],"id":71}],[{"start":{"row":2,"column":65},"end":{"row":2,"column":66},"action":"insert","lines":[" "],"id":72}],[{"start":{"row":2,"column":66},"end":{"row":2,"column":67},"action":"insert","lines":["["],"id":73}],[{"start":{"row":2,"column":67},"end":{"row":2,"column":68},"action":"insert","lines":["]"],"id":74}],[{"start":{"row":2,"column":67},"end":{"row":2,"column":68},"action":"insert","lines":["e"],"id":75}],[{"start":{"row":2,"column":68},"end":{"row":2,"column":69},"action":"insert","lines":["n"],"id":76}],[{"start":{"row":2,"column":69},"end":{"row":2,"column":70},"action":"insert","lines":[" "],"id":77}],[{"start":{"row":2,"column":70},"end":{"row":2,"column":71},"action":"insert","lines":["m"],"id":78}],[{"start":{"row":2,"column":71},"end":{"row":2,"column":72},"action":"insert","lines":["o"],"id":79}],[{"start":{"row":2,"column":72},"end":{"row":2,"column":73},"action":"insert","lines":["d"],"id":80}],[{"start":{"row":2,"column":73},"end":{"row":2,"column":74},"action":"insert","lines":["e"],"id":81}],[{"start":{"row":2,"column":74},"end":{"row":2,"column":75},"action":"insert","lines":[" "],"id":82}],[{"start":{"row":2,"column":75},"end":{"row":2,"column":76},"action":"insert","lines":["c"],"id":83}],[{"start":{"row":2,"column":76},"end":{"row":2,"column":77},"action":"insert","lines":["l"],"id":84}],[{"start":{"row":2,"column":77},"end":{"row":2,"column":78},"action":"insert","lines":["i"],"id":85}],[{"start":{"row":2,"column":78},"end":{"row":2,"column":79},"action":"insert","lines":["c"],"id":86}],[{"start":{"row":2,"column":79},"end":{"row":2,"column":80},"action":"insert","lines":[" "],"id":87}],[{"start":{"row":2,"column":80},"end":{"row":2,"column":81},"action":"insert","lines":["c"],"id":88}],[{"start":{"row":2,"column":81},"end":{"row":2,"column":82},"action":"insert","lines":["l"],"id":89}],[{"start":{"row":2,"column":82},"end":{"row":2,"column":83},"action":"insert","lines":["i"],"id":90}],[{"start":{"row":2,"column":83},"end":{"row":2,"column":84},"action":"insert","lines":["v"],"id":91}],[{"start":{"row":2,"column":83},"end":{"row":2,"column":84},"action":"remove","lines":["v"],"id":92}],[{"start":{"row":2,"column":83},"end":{"row":2,"column":84},"action":"insert","lines":["c"],"id":93}],[{"start":{"row":2,"column":27},"end":{"row":2,"column":28},"action":"insert","lines":["\""],"id":94}]]},"timestamp":1509111823219} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/README.md b/workspace/.c9/metadata/workspace/README.md new file mode 100644 index 0000000..8e09f35 --- /dev/null +++ b/workspace/.c9/metadata/workspace/README.md @@ -0,0 +1 @@ +{"filter":false,"title":"README.md","tooltip":"/README.md","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":81,"scrollleft":0,"selection":{"start":{"row":9,"column":32},"end":{"row":9,"column":32},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":4,"state":"allowBlock","mode":"ace/mode/markdown"}},"timestamp":1504183309000,"hash":"f3c3031057ebac4d81bf6b1fbf69787aae7db358"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/README_SQL b/workspace/.c9/metadata/workspace/README_SQL new file mode 100644 index 0000000..6ab8029 --- /dev/null +++ b/workspace/.c9/metadata/workspace/README_SQL @@ -0,0 +1 @@ +{"filter":false,"title":"README_SQL","tooltip":"/README_SQL","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":2,"column":7},"end":{"row":2,"column":8},"action":"insert","lines":[" "],"id":632}],[{"start":{"row":2,"column":8},"end":{"row":2,"column":9},"action":"insert","lines":["d"],"id":633}],[{"start":{"row":2,"column":9},"end":{"row":2,"column":10},"action":"insert","lines":["e"],"id":634}],[{"start":{"row":2,"column":10},"end":{"row":2,"column":11},"action":"insert","lines":["s"],"id":635}],[{"start":{"row":2,"column":11},"end":{"row":2,"column":12},"action":"insert","lines":[" "],"id":636}],[{"start":{"row":2,"column":12},"end":{"row":2,"column":13},"action":"insert","lines":["D"],"id":637}],[{"start":{"row":2,"column":13},"end":{"row":2,"column":14},"action":"insert","lines":["B"],"id":638}],[{"start":{"row":2,"column":14},"end":{"row":2,"column":15},"action":"insert","lines":[" "],"id":639}],[{"start":{"row":2,"column":15},"end":{"row":2,"column":16},"action":"insert","lines":["c"],"id":640}],[{"start":{"row":2,"column":16},"end":{"row":2,"column":17},"action":"insert","lines":["r"],"id":641}],[{"start":{"row":2,"column":17},"end":{"row":2,"column":18},"action":"insert","lines":["é"],"id":642}],[{"start":{"row":2,"column":18},"end":{"row":2,"column":19},"action":"insert","lines":["e"],"id":643}],[{"start":{"row":2,"column":18},"end":{"row":2,"column":19},"action":"remove","lines":["e"],"id":644}],[{"start":{"row":2,"column":18},"end":{"row":2,"column":19},"action":"insert","lines":["é"],"id":645}],[{"start":{"row":2,"column":19},"end":{"row":2,"column":20},"action":"insert","lines":[" "],"id":646}],[{"start":{"row":2,"column":20},"end":{"row":2,"column":21},"action":"insert","lines":["p"],"id":647}],[{"start":{"row":2,"column":21},"end":{"row":2,"column":22},"action":"insert","lines":["o"],"id":648}],[{"start":{"row":2,"column":22},"end":{"row":2,"column":23},"action":"insert","lines":["u"],"id":649}],[{"start":{"row":2,"column":23},"end":{"row":2,"column":24},"action":"insert","lines":["r"],"id":650}],[{"start":{"row":2,"column":24},"end":{"row":2,"column":25},"action":"insert","lines":[" "],"id":651}],[{"start":{"row":2,"column":25},"end":{"row":2,"column":26},"action":"insert","lines":["l"],"id":652}],[{"start":{"row":2,"column":26},"end":{"row":2,"column":27},"action":"insert","lines":["e"],"id":653}],[{"start":{"row":2,"column":27},"end":{"row":2,"column":28},"action":"insert","lines":[" "],"id":654}],[{"start":{"row":2,"column":28},"end":{"row":2,"column":29},"action":"insert","lines":["s"],"id":655}],[{"start":{"row":2,"column":29},"end":{"row":2,"column":30},"action":"insert","lines":["i"],"id":656}],[{"start":{"row":2,"column":30},"end":{"row":2,"column":31},"action":"insert","lines":["t"],"id":657}],[{"start":{"row":2,"column":31},"end":{"row":2,"column":32},"action":"insert","lines":["e"],"id":658}],[{"start":{"row":2,"column":32},"end":{"row":2,"column":33},"action":"insert","lines":[" "],"id":659}],[{"start":{"row":2,"column":33},"end":{"row":2,"column":34},"action":"insert","lines":[":"],"id":660}],[{"start":{"row":2,"column":34},"end":{"row":3,"column":0},"action":"insert","lines":["",""],"id":661}],[{"start":{"row":3,"column":0},"end":{"row":3,"column":1},"action":"insert","lines":[">"],"id":662}],[{"start":{"row":3,"column":0},"end":{"row":3,"column":1},"action":"remove","lines":[">"],"id":663}],[{"start":{"row":3,"column":0},"end":{"row":3,"column":1},"action":"insert","lines":["*"],"id":664}],[{"start":{"row":3,"column":1},"end":{"row":3,"column":2},"action":"insert","lines":[" "],"id":665}],[{"start":{"row":3,"column":2},"end":{"row":3,"column":3},"action":"insert","lines":["p"],"id":666}],[{"start":{"row":3,"column":3},"end":{"row":3,"column":4},"action":"insert","lines":["r"],"id":667}],[{"start":{"row":3,"column":4},"end":{"row":3,"column":5},"action":"insert","lines":["o"],"id":668}],[{"start":{"row":3,"column":5},"end":{"row":3,"column":6},"action":"insert","lines":["d"],"id":669}],[{"start":{"row":3,"column":6},"end":{"row":3,"column":7},"action":"insert","lines":["u"],"id":670}],[{"start":{"row":3,"column":7},"end":{"row":3,"column":8},"action":"insert","lines":["c"],"id":671}],[{"start":{"row":3,"column":8},"end":{"row":3,"column":9},"action":"insert","lines":["t"],"id":672}],[{"start":{"row":3,"column":9},"end":{"row":3,"column":10},"action":"insert","lines":["s"],"id":673}],[{"start":{"row":3,"column":10},"end":{"row":4,"column":0},"action":"insert","lines":["",""],"id":674}],[{"start":{"row":4,"column":0},"end":{"row":4,"column":1},"action":"insert","lines":["*"],"id":675}],[{"start":{"row":4,"column":1},"end":{"row":4,"column":2},"action":"insert","lines":[" "],"id":676}],[{"start":{"row":4,"column":2},"end":{"row":4,"column":3},"action":"insert","lines":[">"],"id":677}],[{"start":{"row":4,"column":3},"end":{"row":4,"column":4},"action":"insert","lines":["S"],"id":678}],[{"start":{"row":4,"column":4},"end":{"row":4,"column":5},"action":"insert","lines":["e"],"id":679}],[{"start":{"row":4,"column":5},"end":{"row":4,"column":6},"action":"insert","lines":["n"],"id":680}],[{"start":{"row":4,"column":6},"end":{"row":4,"column":7},"action":"insert","lines":["s"],"id":681}],[{"start":{"row":4,"column":7},"end":{"row":4,"column":8},"action":"insert","lines":["é"],"id":682}],[{"start":{"row":4,"column":8},"end":{"row":4,"column":9},"action":"insert","lines":[" "],"id":683}],[{"start":{"row":4,"column":9},"end":{"row":4,"column":10},"action":"insert","lines":["r"],"id":684}],[{"start":{"row":4,"column":10},"end":{"row":4,"column":11},"action":"insert","lines":["e"],"id":685}],[{"start":{"row":4,"column":11},"end":{"row":4,"column":12},"action":"insert","lines":["g"],"id":686}],[{"start":{"row":4,"column":12},"end":{"row":4,"column":13},"action":"insert","lines":["r"],"id":687}],[{"start":{"row":4,"column":13},"end":{"row":4,"column":14},"action":"insert","lines":["o"],"id":688}],[{"start":{"row":4,"column":14},"end":{"row":4,"column":15},"action":"insert","lines":["u"],"id":689}],[{"start":{"row":4,"column":15},"end":{"row":4,"column":16},"action":"insert","lines":["p"],"id":690}],[{"start":{"row":4,"column":16},"end":{"row":4,"column":17},"action":"insert","lines":["e"],"id":691}],[{"start":{"row":4,"column":17},"end":{"row":4,"column":18},"action":"insert","lines":["r"],"id":692}],[{"start":{"row":4,"column":18},"end":{"row":4,"column":19},"action":"insert","lines":[" "],"id":693}],[{"start":{"row":4,"column":19},"end":{"row":4,"column":20},"action":"insert","lines":["t"],"id":694}],[{"start":{"row":4,"column":20},"end":{"row":4,"column":21},"action":"insert","lines":["o"],"id":695}],[{"start":{"row":4,"column":21},"end":{"row":4,"column":22},"action":"insert","lines":["u"],"id":696}],[{"start":{"row":4,"column":22},"end":{"row":4,"column":23},"action":"insert","lines":["t"],"id":697}],[{"start":{"row":4,"column":23},"end":{"row":4,"column":24},"action":"insert","lines":["e"],"id":698}],[{"start":{"row":4,"column":24},"end":{"row":4,"column":25},"action":"insert","lines":["s"],"id":699}],[{"start":{"row":4,"column":24},"end":{"row":4,"column":25},"action":"remove","lines":["s"],"id":700}],[{"start":{"row":4,"column":23},"end":{"row":4,"column":24},"action":"remove","lines":["e"],"id":701}],[{"start":{"row":4,"column":23},"end":{"row":4,"column":24},"action":"insert","lines":["s"],"id":702}],[{"start":{"row":4,"column":24},"end":{"row":4,"column":25},"action":"insert","lines":[" "],"id":703}],[{"start":{"row":4,"column":25},"end":{"row":4,"column":26},"action":"insert","lines":["l"],"id":704}],[{"start":{"row":4,"column":26},"end":{"row":4,"column":27},"action":"insert","lines":["e"],"id":705}],[{"start":{"row":4,"column":27},"end":{"row":4,"column":28},"action":"insert","lines":["s"],"id":706}],[{"start":{"row":4,"column":28},"end":{"row":4,"column":29},"action":"insert","lines":[" "],"id":707}],[{"start":{"row":4,"column":29},"end":{"row":4,"column":30},"action":"insert","lines":["p"],"id":708}],[{"start":{"row":4,"column":30},"end":{"row":4,"column":31},"action":"insert","lines":["r"],"id":709}],[{"start":{"row":4,"column":31},"end":{"row":4,"column":32},"action":"insert","lines":["o"],"id":710}],[{"start":{"row":4,"column":32},"end":{"row":4,"column":33},"action":"insert","lines":["d"],"id":711}],[{"start":{"row":4,"column":33},"end":{"row":4,"column":34},"action":"insert","lines":["u"],"id":712}],[{"start":{"row":4,"column":34},"end":{"row":4,"column":35},"action":"insert","lines":["i"],"id":713}],[{"start":{"row":4,"column":35},"end":{"row":4,"column":36},"action":"insert","lines":["t"],"id":714}],[{"start":{"row":4,"column":36},"end":{"row":4,"column":37},"action":"insert","lines":["s"],"id":715}],[{"start":{"row":4,"column":37},"end":{"row":4,"column":38},"action":"insert","lines":[" "],"id":716}],[{"start":{"row":4,"column":38},"end":{"row":4,"column":39},"action":"insert","lines":["e"],"id":717}],[{"start":{"row":4,"column":39},"end":{"row":4,"column":40},"action":"insert","lines":["t"],"id":718}],[{"start":{"row":4,"column":40},"end":{"row":4,"column":41},"action":"insert","lines":[" "],"id":719}],[{"start":{"row":4,"column":41},"end":{"row":4,"column":42},"action":"insert","lines":["l"],"id":720}],[{"start":{"row":4,"column":42},"end":{"row":4,"column":43},"action":"insert","lines":["e"],"id":721}],[{"start":{"row":4,"column":43},"end":{"row":4,"column":44},"action":"insert","lines":["u"],"id":722}],[{"start":{"row":4,"column":44},"end":{"row":4,"column":45},"action":"insert","lines":["r"],"id":723}],[{"start":{"row":4,"column":45},"end":{"row":4,"column":46},"action":"insert","lines":["s"],"id":724}],[{"start":{"row":4,"column":46},"end":{"row":4,"column":47},"action":"insert","lines":[" "],"id":725}],[{"start":{"row":4,"column":47},"end":{"row":4,"column":48},"action":"insert","lines":["i"],"id":726}],[{"start":{"row":4,"column":48},"end":{"row":4,"column":49},"action":"insert","lines":["n"],"id":727}],[{"start":{"row":4,"column":49},"end":{"row":4,"column":50},"action":"insert","lines":["f"],"id":728}],[{"start":{"row":4,"column":50},"end":{"row":4,"column":51},"action":"insert","lines":["o"],"id":729}],[{"start":{"row":4,"column":51},"end":{"row":4,"column":52},"action":"insert","lines":["s"],"id":730}],[{"start":{"row":4,"column":3},"end":{"row":4,"column":4},"action":"remove","lines":["S"],"id":731}],[{"start":{"row":4,"column":3},"end":{"row":4,"column":4},"action":"insert","lines":["C"],"id":732}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":3,"column":10},"end":{"row":3,"column":10},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509115219485,"hash":"ca8a23b88d94f725a3fe7d5b6da378ef09a270df"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/Retro.2.md b/workspace/.c9/metadata/workspace/Retro.2.md new file mode 100644 index 0000000..b2836cf --- /dev/null +++ b/workspace/.c9/metadata/workspace/Retro.2.md @@ -0,0 +1 @@ +{"filter":false,"title":"Retro.2.md","tooltip":"/Retro.2.md","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":49,"state":"allowBlock","mode":"ace/mode/markdown"}},"timestamp":1511173322048,"hash":"9125f62036c4325e5fe9cd7311de55a6e12be314"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/app/Console/Commands/Inspire.php b/workspace/.c9/metadata/workspace/app/Console/Commands/Inspire.php new file mode 100644 index 0000000..f419a38 --- /dev/null +++ b/workspace/.c9/metadata/workspace/app/Console/Commands/Inspire.php @@ -0,0 +1 @@ +{"filter":false,"title":"Inspire.php","tooltip":"/app/Console/Commands/Inspire.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":350.5,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":29,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1511014315717,"hash":"d52ce9da831ff9d5468a4bc9586db73cd907b5ba"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/app/Console/Kernel.php b/workspace/.c9/metadata/workspace/app/Console/Kernel.php new file mode 100644 index 0000000..4f03345 --- /dev/null +++ b/workspace/.c9/metadata/workspace/app/Console/Kernel.php @@ -0,0 +1 @@ +{"filter":false,"title":"Kernel.php","tooltip":"/app/Console/Kernel.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":240,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":14,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1511012612518,"hash":"647b764dd93381818c5d3e333cd54146ec5a352b"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/app/Events/Event.php b/workspace/.c9/metadata/workspace/app/Events/Event.php new file mode 100644 index 0000000..891c0db --- /dev/null +++ b/workspace/.c9/metadata/workspace/app/Events/Event.php @@ -0,0 +1 @@ +{"filter":false,"title":"Event.php","tooltip":"/app/Events/Event.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511014308619,"hash":"8bd74fbc098ce1ec94581427dbfb6a2b0c813613"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/app/Exceptions/Handler.php b/workspace/.c9/metadata/workspace/app/Exceptions/Handler.php new file mode 100644 index 0000000..98c7c8a --- /dev/null +++ b/workspace/.c9/metadata/workspace/app/Exceptions/Handler.php @@ -0,0 +1 @@ +{"filter":false,"title":"Handler.php","tooltip":"/app/Exceptions/Handler.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":490.94445514678955,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":29,"state":"php-doc-start","mode":"ace/mode/php"}},"timestamp":1509896002432,"hash":"023548c7411eff12a60b11d6e56e72953a84de2e"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/app/Http/Controllers/Auth/AuthController.php b/workspace/.c9/metadata/workspace/app/Http/Controllers/Auth/AuthController.php new file mode 100644 index 0000000..525a5e3 --- /dev/null +++ b/workspace/.c9/metadata/workspace/app/Http/Controllers/Auth/AuthController.php @@ -0,0 +1 @@ +{"filter":false,"title":"AuthController.php","tooltip":"/app/Http/Controllers/Auth/AuthController.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":540,"scrollleft":0,"selection":{"start":{"row":71,"column":5},"end":{"row":71,"column":5},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":33,"state":"php-doc-start","mode":"ace/mode/php"}},"timestamp":1510614841124,"hash":"b6f180dda37977a9eeed05f458458eff67c8b250"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/app/Http/Controllers/Auth/PasswordController.php b/workspace/.c9/metadata/workspace/app/Http/Controllers/Auth/PasswordController.php new file mode 100644 index 0000000..a3bdd37 --- /dev/null +++ b/workspace/.c9/metadata/workspace/app/Http/Controllers/Auth/PasswordController.php @@ -0,0 +1 @@ +{"filter":false,"title":"PasswordController.php","tooltip":"/app/Http/Controllers/Auth/PasswordController.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":23,"column":39},"end":{"row":23,"column":39},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1461762072000,"hash":"1aa397e58ca70e16a7d8460621aab8c2c2da4d9a"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/app/Http/Controllers/Controller.php b/workspace/.c9/metadata/workspace/app/Http/Controllers/Controller.php new file mode 100644 index 0000000..13ac66e --- /dev/null +++ b/workspace/.c9/metadata/workspace/app/Http/Controllers/Controller.php @@ -0,0 +1 @@ +{"filter":false,"title":"Controller.php","tooltip":"/app/Http/Controllers/Controller.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509349910702,"hash":"121135796b2d891d91b9f5a008e3e1970e268f8d"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/app/Http/Controllers/HomeController.php b/workspace/.c9/metadata/workspace/app/Http/Controllers/HomeController.php new file mode 100644 index 0000000..1bd5d68 --- /dev/null +++ b/workspace/.c9/metadata/workspace/app/Http/Controllers/HomeController.php @@ -0,0 +1 @@ +{"filter":false,"title":"HomeController.php","tooltip":"/app/Http/Controllers/HomeController.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":59,"scrollleft":0,"selection":{"start":{"row":24,"column":27},"end":{"row":24,"column":27},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":3,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1509835773216,"hash":"8d862b47ee917a6a61fc6cf8b36a4c8c52b7c328"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/app/Http/Controllers/ProductRegisterController.php b/workspace/.c9/metadata/workspace/app/Http/Controllers/ProductRegisterController.php new file mode 100644 index 0000000..fe9df21 --- /dev/null +++ b/workspace/.c9/metadata/workspace/app/Http/Controllers/ProductRegisterController.php @@ -0,0 +1 @@ +{"filter":false,"title":"ProductRegisterController.php","tooltip":"/app/Http/Controllers/ProductRegisterController.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":23,"column":5},"end":{"row":23,"column":5},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":6,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1510601258198,"hash":"1ce3c5cb1626d4bf8f5a675e388440550b9e35d3"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/app/Http/Controllers/ProductsController.php b/workspace/.c9/metadata/workspace/app/Http/Controllers/ProductsController.php new file mode 100644 index 0000000..e7ee0e7 --- /dev/null +++ b/workspace/.c9/metadata/workspace/app/Http/Controllers/ProductsController.php @@ -0,0 +1 @@ +{"filter":false,"title":"ProductsController.php","tooltip":"/app/Http/Controllers/ProductsController.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":19,"column":41},"end":{"row":19,"column":41},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":true,"wrapToView":true},"firstLineState":0},"timestamp":1511140395199,"hash":"3fd9f068454134846d5ecfc62bf670b2ea0a71a5"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/app/Http/Controllers/RegisterController.php b/workspace/.c9/metadata/workspace/app/Http/Controllers/RegisterController.php new file mode 100644 index 0000000..27f2d73 --- /dev/null +++ b/workspace/.c9/metadata/workspace/app/Http/Controllers/RegisterController.php @@ -0,0 +1 @@ +{"filter":false,"title":"RegisterController.php","tooltip":"/app/Http/Controllers/RegisterController.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":240,"scrollleft":0,"selection":{"start":{"row":29,"column":28},"end":{"row":29,"column":28},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":15,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1509403997015,"hash":"94086a5186834fc5d8200d573505bcb95c97e643"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/app/Http/Controllers/UserController.php b/workspace/.c9/metadata/workspace/app/Http/Controllers/UserController.php new file mode 100644 index 0000000..50cd217 --- /dev/null +++ b/workspace/.c9/metadata/workspace/app/Http/Controllers/UserController.php @@ -0,0 +1 @@ +{"filter":false,"title":"UserController.php","tooltip":"/app/Http/Controllers/UserController.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":0,"column":0},"end":{"row":0,"column":1},"action":"insert","lines":["<"],"id":369}],[{"start":{"row":0,"column":1},"end":{"row":0,"column":2},"action":"insert","lines":["?"],"id":370}],[{"start":{"row":0,"column":2},"end":{"row":0,"column":3},"action":"insert","lines":["p"],"id":371}],[{"start":{"row":0,"column":3},"end":{"row":0,"column":4},"action":"insert","lines":["h"],"id":372}],[{"start":{"row":0,"column":4},"end":{"row":0,"column":5},"action":"insert","lines":["p"],"id":373}],[{"start":{"row":0,"column":5},"end":{"row":1,"column":0},"action":"insert","lines":["",""],"id":374}],[{"start":{"row":1,"column":0},"end":{"row":2,"column":0},"action":"insert","lines":["",""],"id":375}],[{"start":{"row":2,"column":0},"end":{"row":2,"column":1},"action":"insert","lines":[">"],"id":376}],[{"start":{"row":1,"column":0},"end":{"row":2,"column":0},"action":"insert","lines":["",""],"id":377}],[{"start":{"row":2,"column":0},"end":{"row":3,"column":1},"action":"insert","lines":["class ProductsController extends Controller","{"],"id":378}],[{"start":{"row":2,"column":6},"end":{"row":2,"column":13},"action":"remove","lines":["Product"],"id":379}],[{"start":{"row":2,"column":6},"end":{"row":2,"column":7},"action":"remove","lines":["s"],"id":380}],[{"start":{"row":2,"column":6},"end":{"row":2,"column":7},"action":"insert","lines":["U"],"id":381}],[{"start":{"row":2,"column":7},"end":{"row":2,"column":8},"action":"insert","lines":["s"],"id":382}],[{"start":{"row":2,"column":8},"end":{"row":2,"column":9},"action":"insert","lines":["e"],"id":383}],[{"start":{"row":2,"column":9},"end":{"row":2,"column":10},"action":"insert","lines":["r"],"id":384}],[{"start":{"row":3,"column":1},"end":{"row":4,"column":0},"action":"insert","lines":["",""],"id":385},{"start":{"row":4,"column":0},"end":{"row":4,"column":4},"action":"insert","lines":[" "]}],[{"start":{"row":4,"column":4},"end":{"row":5,"column":0},"action":"insert","lines":["",""],"id":386},{"start":{"row":5,"column":0},"end":{"row":5,"column":4},"action":"insert","lines":[" "]}],[{"start":{"row":5,"column":4},"end":{"row":5,"column":5},"action":"insert","lines":["}"],"id":387},{"start":{"row":5,"column":0},"end":{"row":5,"column":4},"action":"remove","lines":[" "]}],[{"start":{"row":5,"column":1},"end":{"row":6,"column":0},"action":"insert","lines":["",""],"id":388}],[{"start":{"row":5,"column":0},"end":{"row":7,"column":0},"action":"insert","lines":[""," ",""],"id":389}],[{"start":{"row":6,"column":4},"end":{"row":7,"column":0},"action":"insert","lines":["",""],"id":390},{"start":{"row":7,"column":0},"end":{"row":7,"column":4},"action":"insert","lines":[" "]}],[{"start":{"row":4,"column":4},"end":{"row":5,"column":5},"action":"insert","lines":["public function index()"," {"],"id":391}],[{"start":{"row":5,"column":5},"end":{"row":6,"column":0},"action":"insert","lines":["",""],"id":392},{"start":{"row":6,"column":0},"end":{"row":6,"column":8},"action":"insert","lines":[" "]}],[{"start":{"row":6,"column":8},"end":{"row":6,"column":9},"action":"insert","lines":["}"],"id":393},{"start":{"row":6,"column":0},"end":{"row":6,"column":8},"action":"remove","lines":[" "]},{"start":{"row":6,"column":0},"end":{"row":6,"column":4},"action":"insert","lines":[" "]}],[{"start":{"row":5,"column":5},"end":{"row":6,"column":0},"action":"insert","lines":["",""],"id":394},{"start":{"row":6,"column":0},"end":{"row":6,"column":8},"action":"insert","lines":[" "]}],[{"start":{"row":6,"column":8},"end":{"row":6,"column":9},"action":"insert","lines":["r"],"id":395}],[{"start":{"row":6,"column":9},"end":{"row":6,"column":10},"action":"insert","lines":["e"],"id":396}],[{"start":{"row":6,"column":10},"end":{"row":6,"column":11},"action":"insert","lines":["t"],"id":397}],[{"start":{"row":6,"column":11},"end":{"row":6,"column":12},"action":"insert","lines":["u"],"id":398}],[{"start":{"row":6,"column":12},"end":{"row":6,"column":13},"action":"insert","lines":["r"],"id":399}],[{"start":{"row":6,"column":13},"end":{"row":6,"column":14},"action":"insert","lines":["n"],"id":400}],[{"start":{"row":6,"column":14},"end":{"row":6,"column":15},"action":"insert","lines":[" "],"id":401}],[{"start":{"row":6,"column":15},"end":{"row":6,"column":16},"action":"insert","lines":["V"],"id":402}],[{"start":{"row":6,"column":16},"end":{"row":6,"column":17},"action":"insert","lines":["i"],"id":403}],[{"start":{"row":6,"column":17},"end":{"row":6,"column":18},"action":"insert","lines":["e"],"id":404}],[{"start":{"row":6,"column":18},"end":{"row":6,"column":19},"action":"insert","lines":["w"],"id":405}],[{"start":{"row":6,"column":19},"end":{"row":6,"column":20},"action":"insert","lines":[":"],"id":406}],[{"start":{"row":6,"column":20},"end":{"row":6,"column":21},"action":"insert","lines":[":"],"id":407}],[{"start":{"row":6,"column":21},"end":{"row":6,"column":22},"action":"insert","lines":["m"],"id":408}],[{"start":{"row":6,"column":22},"end":{"row":6,"column":23},"action":"insert","lines":["a"],"id":409}],[{"start":{"row":6,"column":23},"end":{"row":6,"column":24},"action":"insert","lines":["k"],"id":410}],[{"start":{"row":6,"column":24},"end":{"row":6,"column":25},"action":"insert","lines":["e"],"id":411}],[{"start":{"row":6,"column":25},"end":{"row":6,"column":27},"action":"insert","lines":["()"],"id":412}],[{"start":{"row":6,"column":26},"end":{"row":6,"column":27},"action":"insert","lines":["p"],"id":413}],[{"start":{"row":6,"column":27},"end":{"row":6,"column":28},"action":"insert","lines":["o"],"id":414}],[{"start":{"row":6,"column":28},"end":{"row":6,"column":29},"action":"insert","lines":["s"],"id":415}],[{"start":{"row":6,"column":29},"end":{"row":6,"column":30},"action":"insert","lines":["t"],"id":416}],[{"start":{"row":6,"column":29},"end":{"row":6,"column":30},"action":"remove","lines":["t"],"id":417}],[{"start":{"row":6,"column":28},"end":{"row":6,"column":29},"action":"remove","lines":["s"],"id":418}],[{"start":{"row":6,"column":27},"end":{"row":6,"column":28},"action":"remove","lines":["o"],"id":419}],[{"start":{"row":6,"column":26},"end":{"row":6,"column":27},"action":"remove","lines":["p"],"id":420}],[{"start":{"row":6,"column":26},"end":{"row":6,"column":27},"action":"insert","lines":["u"],"id":421}],[{"start":{"row":6,"column":26},"end":{"row":6,"column":27},"action":"remove","lines":["u"],"id":422}],[{"start":{"row":6,"column":26},"end":{"row":6,"column":28},"action":"insert","lines":["''"],"id":423}],[{"start":{"row":6,"column":27},"end":{"row":6,"column":28},"action":"insert","lines":["u"],"id":424}],[{"start":{"row":6,"column":28},"end":{"row":6,"column":29},"action":"insert","lines":["s"],"id":425}],[{"start":{"row":6,"column":29},"end":{"row":6,"column":30},"action":"insert","lines":["e"],"id":426}],[{"start":{"row":6,"column":30},"end":{"row":6,"column":31},"action":"insert","lines":["r"],"id":427}],[{"start":{"row":6,"column":31},"end":{"row":6,"column":32},"action":"insert","lines":["s"],"id":428}],[{"start":{"row":6,"column":32},"end":{"row":6,"column":33},"action":"insert","lines":["."],"id":429}],[{"start":{"row":6,"column":33},"end":{"row":6,"column":34},"action":"insert","lines":["i"],"id":430}],[{"start":{"row":6,"column":34},"end":{"row":6,"column":35},"action":"insert","lines":["n"],"id":431}],[{"start":{"row":6,"column":35},"end":{"row":6,"column":36},"action":"insert","lines":["d"],"id":432}],[{"start":{"row":6,"column":36},"end":{"row":6,"column":37},"action":"insert","lines":["e"],"id":433}],[{"start":{"row":6,"column":37},"end":{"row":6,"column":38},"action":"insert","lines":["x"],"id":434}],[{"start":{"row":6,"column":27},"end":{"row":6,"column":28},"action":"insert","lines":["u"],"id":435}],[{"start":{"row":6,"column":28},"end":{"row":6,"column":29},"action":"insert","lines":["s"],"id":436}],[{"start":{"row":6,"column":29},"end":{"row":6,"column":30},"action":"insert","lines":["e"],"id":437}],[{"start":{"row":6,"column":30},"end":{"row":6,"column":31},"action":"insert","lines":["r"],"id":438}],[{"start":{"row":6,"column":31},"end":{"row":6,"column":32},"action":"insert","lines":["/"],"id":439}],[{"start":{"row":6,"column":36},"end":{"row":6,"column":37},"action":"remove","lines":["s"],"id":440}],[{"start":{"row":6,"column":36},"end":{"row":6,"column":37},"action":"remove","lines":["."],"id":441}],[{"start":{"row":6,"column":36},"end":{"row":6,"column":37},"action":"insert","lines":["_"],"id":442}],[{"start":{"row":6,"column":31},"end":{"row":6,"column":32},"action":"remove","lines":["/"],"id":443}],[{"start":{"row":6,"column":31},"end":{"row":6,"column":32},"action":"insert","lines":["."],"id":444}],[{"start":{"row":0,"column":0},"end":{"row":13,"column":1},"action":"remove","lines":["<?php","","class UserController extends Controller","{"," public function index()"," {"," return View::make('user.user_index')"," }",""," "," ","}","",">"],"id":445},{"start":{"row":0,"column":0},"end":{"row":86,"column":1},"action":"insert","lines":["<?php","","namespace App\\Http\\Controllers;","","use Illuminate\\Http\\Request;","","use App\\Http\\Requests;","use App\\Http\\Controllers\\Controller;","","class UserController extends Controller","{"," /**"," * Display a listing of the resource."," *"," * @return \\Illuminate\\Http\\Response"," */"," public function index()"," {"," //"," }",""," /**"," * Show the form for creating a new resource."," *"," * @return \\Illuminate\\Http\\Response"," */"," public function create()"," {"," //"," }",""," /**"," * Store a newly created resource in storage."," *"," * @param \\Illuminate\\Http\\Request $request"," * @return \\Illuminate\\Http\\Response"," */"," public function store(Request $request)"," {"," //"," }",""," /**"," * Display the specified resource."," *"," * @param int $id"," * @return \\Illuminate\\Http\\Response"," */"," public function show($id)"," {"," //"," }",""," /**"," * Show the form for editing the specified resource."," *"," * @param int $id"," * @return \\Illuminate\\Http\\Response"," */"," public function edit($id)"," {"," //"," }",""," /**"," * Update the specified resource in storage."," *"," * @param \\Illuminate\\Http\\Request $request"," * @param int $id"," * @return \\Illuminate\\Http\\Response"," */"," public function update(Request $request, $id)"," {"," //"," }",""," /**"," * Remove the specified resource from storage."," *"," * @param int $id"," * @return \\Illuminate\\Http\\Response"," */"," public function destroy($id)"," {"," //"," }","}"]}],[{"start":{"row":0,"column":0},"end":{"row":86,"column":1},"action":"remove","lines":["<?php","","namespace App\\Http\\Controllers;","","use Illuminate\\Http\\Request;","","use App\\Http\\Requests;","use App\\Http\\Controllers\\Controller;","","class UserController extends Controller","{"," /**"," * Display a listing of the resource."," *"," * @return \\Illuminate\\Http\\Response"," */"," public function index()"," {"," //"," }",""," /**"," * Show the form for creating a new resource."," *"," * @return \\Illuminate\\Http\\Response"," */"," public function create()"," {"," //"," }",""," /**"," * Store a newly created resource in storage."," *"," * @param \\Illuminate\\Http\\Request $request"," * @return \\Illuminate\\Http\\Response"," */"," public function store(Request $request)"," {"," //"," }",""," /**"," * Display the specified resource."," *"," * @param int $id"," * @return \\Illuminate\\Http\\Response"," */"," public function show($id)"," {"," //"," }",""," /**"," * Show the form for editing the specified resource."," *"," * @param int $id"," * @return \\Illuminate\\Http\\Response"," */"," public function edit($id)"," {"," //"," }",""," /**"," * Update the specified resource in storage."," *"," * @param \\Illuminate\\Http\\Request $request"," * @param int $id"," * @return \\Illuminate\\Http\\Response"," */"," public function update(Request $request, $id)"," {"," //"," }",""," /**"," * Remove the specified resource from storage."," *"," * @param int $id"," * @return \\Illuminate\\Http\\Response"," */"," public function destroy($id)"," {"," //"," }","}"],"id":446},{"start":{"row":0,"column":0},"end":{"row":71,"column":1},"action":"insert","lines":["<?php","","namespace App\\Http\\Controllers;","","use App\\Http\\Requests\\UserCreateRequest;","use App\\Http\\Requests\\UserUpdateRequest;","","use App\\Repositories\\UserRepository;","","use Illuminate\\Http\\Request;","","class UserController extends Controller","{",""," protected $userRepository;",""," protected $nbrPerPage = 4;",""," public function __construct(UserRepository $userRepository)"," {","\t\t$this->userRepository = $userRepository;","\t}","","\tpublic function index()","\t{","\t\t$users = $this->userRepository->getPaginate($this->nbrPerPage);","\t\t$links = $users->render();","","\t\treturn view('index', compact('users', 'links'));","\t}","","\tpublic function create()","\t{","\t\treturn view('create');","\t}","","\tpublic function store(UserCreateRequest $request)","\t{","\t\t$user = $this->userRepository->store($request->all());","","\t\treturn redirect('user')->withOk(\"L'utilisateur \" . $user->name . \" a été créé.\");","\t}","","\tpublic function show($id)","\t{","\t\t$user = $this->userRepository->getById($id);","","\t\treturn view('show', compact('user'));","\t}","","\tpublic function edit($id)","\t{","\t\t$user = $this->userRepository->getById($id);","","\t\treturn view('edit', compact('user'));","\t}","","\tpublic function update(UserUpdateRequest $request, $id)","\t{","\t\t$this->userRepository->update($id, $request->all());","\t\t","\t\treturn redirect('user')->withOk(\"L'utilisateur \" . $request->input('name') . \" a été modifié.\");","\t}","","\tpublic function destroy($id)","\t{","\t\t$this->userRepository->destroy($id);","","\t\treturn back();","\t}","","}"]}],[{"start":{"row":28,"column":15},"end":{"row":28,"column":16},"action":"insert","lines":["u"],"id":447}],[{"start":{"row":28,"column":16},"end":{"row":28,"column":17},"action":"insert","lines":["s"],"id":448}],[{"start":{"row":28,"column":17},"end":{"row":28,"column":18},"action":"insert","lines":["e"],"id":449}],[{"start":{"row":28,"column":18},"end":{"row":28,"column":19},"action":"insert","lines":["r"],"id":450}],[{"start":{"row":28,"column":19},"end":{"row":28,"column":20},"action":"insert","lines":["s"],"id":451}],[{"start":{"row":28,"column":20},"end":{"row":28,"column":21},"action":"insert","lines":["."],"id":452}],[{"start":{"row":28,"column":21},"end":{"row":28,"column":22},"action":"insert","lines":["u"],"id":453}],[{"start":{"row":28,"column":22},"end":{"row":28,"column":23},"action":"insert","lines":["s"],"id":454}],[{"start":{"row":28,"column":23},"end":{"row":28,"column":24},"action":"insert","lines":["e"],"id":455}],[{"start":{"row":28,"column":24},"end":{"row":28,"column":25},"action":"insert","lines":["r"],"id":456}],[{"start":{"row":28,"column":25},"end":{"row":28,"column":26},"action":"insert","lines":["_"],"id":457}],[{"start":{"row":33,"column":15},"end":{"row":33,"column":16},"action":"remove","lines":["c"],"id":458},{"start":{"row":33,"column":15},"end":{"row":33,"column":26},"action":"insert","lines":["users.user_"]}],[{"start":{"row":33,"column":26},"end":{"row":33,"column":27},"action":"insert","lines":["c"],"id":459}],[{"start":{"row":47,"column":15},"end":{"row":47,"column":26},"action":"insert","lines":["users.user_"],"id":460}],[{"start":{"row":54,"column":15},"end":{"row":54,"column":26},"action":"insert","lines":["users.user_"],"id":461}],[{"start":{"row":28,"column":19},"end":{"row":28,"column":20},"action":"remove","lines":["s"],"id":462}],[{"start":{"row":33,"column":19},"end":{"row":33,"column":20},"action":"remove","lines":["s"],"id":463}],[{"start":{"row":47,"column":19},"end":{"row":47,"column":20},"action":"remove","lines":["s"],"id":464}],[{"start":{"row":54,"column":19},"end":{"row":54,"column":20},"action":"remove","lines":["s"],"id":465}],[{"start":{"row":30,"column":0},"end":{"row":41,"column":2},"action":"remove","lines":["","\tpublic function create()","\t{","\t\treturn view('user.user_create');","\t}","","\tpublic function store(UserCreateRequest $request)","\t{","\t\t$user = $this->userRepository->store($request->all());","","\t\treturn redirect('user')->withOk(\"L'utilisateur \" . $user->name . \" a été créé.\");","\t}"],"id":466}],[{"start":{"row":29,"column":2},"end":{"row":30,"column":0},"action":"remove","lines":["",""],"id":467}],[{"start":{"row":52,"column":0},"end":{"row":58,"column":0},"action":"remove","lines":["\tpublic function destroy($id)","\t{","\t\t$this->userRepository->destroy($id);","","\t\treturn back();","\t}",""],"id":468}],[{"start":{"row":51,"column":0},"end":{"row":52,"column":0},"action":"remove","lines":["",""],"id":469}]]},"ace":{"folds":[],"scrolltop":500.4996795654297,"scrollleft":0,"selection":{"start":{"row":10,"column":0},"end":{"row":10,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":34,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1511145434513,"hash":"763de57f7752ae8b07013f97142d830787248582"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/app/Http/Controllers/UsersController.php b/workspace/.c9/metadata/workspace/app/Http/Controllers/UsersController.php new file mode 100644 index 0000000..714a8bc --- /dev/null +++ b/workspace/.c9/metadata/workspace/app/Http/Controllers/UsersController.php @@ -0,0 +1 @@ +{"filter":false,"title":"UsersController.php","tooltip":"/app/Http/Controllers/UsersController.php","undoManager":{"mark":4,"position":4,"stack":[[{"start":{"row":13,"column":6},"end":{"row":13,"column":14},"action":"remove","lines":["Products"],"id":2},{"start":{"row":13,"column":6},"end":{"row":13,"column":7},"action":"insert","lines":["U"]}],[{"start":{"row":13,"column":7},"end":{"row":13,"column":8},"action":"insert","lines":["s"],"id":3}],[{"start":{"row":13,"column":8},"end":{"row":13,"column":9},"action":"insert","lines":["e"],"id":4}],[{"start":{"row":13,"column":9},"end":{"row":13,"column":10},"action":"insert","lines":["r"],"id":5}],[{"start":{"row":13,"column":10},"end":{"row":13,"column":11},"action":"insert","lines":["s"],"id":6}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":14,"column":1},"end":{"row":14,"column":1},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511102285167,"hash":"d0001f6bcdf937e6a62e95a2af2297b4e49e80c3"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/app/Http/Kernel.php b/workspace/.c9/metadata/workspace/app/Http/Kernel.php new file mode 100644 index 0000000..1af094c --- /dev/null +++ b/workspace/.c9/metadata/workspace/app/Http/Kernel.php @@ -0,0 +1 @@ +{"filter":false,"title":"Kernel.php","tooltip":"/app/Http/Kernel.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":180,"scrollleft":0,"selection":{"start":{"row":37,"column":0},"end":{"row":37,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":11,"state":"php-doc-start","mode":"ace/mode/php"}},"timestamp":1511142891687,"hash":"cf902993a9a125494a75be581f333f6d538c010f"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/app/Http/Middleware/Authenticate.php b/workspace/.c9/metadata/workspace/app/Http/Middleware/Authenticate.php new file mode 100644 index 0000000..3efcc1f --- /dev/null +++ b/workspace/.c9/metadata/workspace/app/Http/Middleware/Authenticate.php @@ -0,0 +1 @@ +{"filter":false,"title":"Authenticate.php","tooltip":"/app/Http/Middleware/Authenticate.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":240,"scrollleft":0,"selection":{"start":{"row":23,"column":43},"end":{"row":23,"column":43},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":14,"state":"php-doc-start","mode":"ace/mode/php"}},"timestamp":1461762072000,"hash":"a532a368cd6325fe193aabdf759f0890968b7a8b"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/app/Http/Requests/ProductCreateRequest.php b/workspace/.c9/metadata/workspace/app/Http/Requests/ProductCreateRequest.php new file mode 100644 index 0000000..1e653b4 --- /dev/null +++ b/workspace/.c9/metadata/workspace/app/Http/Requests/ProductCreateRequest.php @@ -0,0 +1 @@ +{"filter":false,"title":"ProductCreateRequest.php","tooltip":"/app/Http/Requests/ProductCreateRequest.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":34,"column":24},"end":{"row":34,"column":25},"action":"insert","lines":["/"],"id":301}],[{"start":{"row":34,"column":25},"end":{"row":34,"column":26},"action":"insert","lines":["L"],"id":302}],[{"start":{"row":34,"column":26},"end":{"row":34,"column":27},"action":"insert","lines":["i"],"id":303}],[{"start":{"row":34,"column":26},"end":{"row":34,"column":27},"action":"remove","lines":["i"],"id":304}],[{"start":{"row":34,"column":25},"end":{"row":34,"column":26},"action":"remove","lines":["L"],"id":305}],[{"start":{"row":34,"column":25},"end":{"row":34,"column":26},"action":"insert","lines":["L"],"id":306}],[{"start":{"row":34,"column":25},"end":{"row":34,"column":26},"action":"remove","lines":["L"],"id":307}],[{"start":{"row":34,"column":25},"end":{"row":34,"column":26},"action":"insert","lines":["L"],"id":308}],[{"start":{"row":34,"column":25},"end":{"row":34,"column":26},"action":"remove","lines":["L"],"id":309}],[{"start":{"row":34,"column":25},"end":{"row":34,"column":26},"action":"insert","lines":["L"],"id":310}],[{"start":{"row":34,"column":26},"end":{"row":34,"column":27},"action":"insert","lines":["i"],"id":311}],[{"start":{"row":34,"column":27},"end":{"row":34,"column":28},"action":"insert","lines":["b"],"id":312}],[{"start":{"row":34,"column":28},"end":{"row":34,"column":29},"action":"insert","lines":["r"],"id":313}],[{"start":{"row":34,"column":29},"end":{"row":34,"column":30},"action":"insert","lines":["e"],"id":314}],[{"start":{"row":34,"column":25},"end":{"row":34,"column":26},"action":"insert","lines":["C"],"id":315}],[{"start":{"row":34,"column":26},"end":{"row":34,"column":27},"action":"insert","lines":["h"],"id":316}],[{"start":{"row":34,"column":27},"end":{"row":34,"column":28},"action":"insert","lines":["a"],"id":317}],[{"start":{"row":34,"column":28},"end":{"row":34,"column":29},"action":"insert","lines":["m"],"id":318}],[{"start":{"row":34,"column":29},"end":{"row":34,"column":30},"action":"insert","lines":["p"],"id":319}],[{"start":{"row":34,"column":30},"end":{"row":34,"column":31},"action":"insert","lines":[" "],"id":320}],[{"start":{"row":34,"column":31},"end":{"row":34,"column":32},"action":"insert","lines":["l"],"id":321}],[{"start":{"row":34,"column":32},"end":{"row":34,"column":33},"action":"insert","lines":["i"],"id":322}],[{"start":{"row":34,"column":33},"end":{"row":34,"column":34},"action":"insert","lines":["b"],"id":323}],[{"start":{"row":34,"column":34},"end":{"row":34,"column":35},"action":"insert","lines":["r"],"id":324}],[{"start":{"row":34,"column":34},"end":{"row":34,"column":35},"action":"remove","lines":["r"],"id":325}],[{"start":{"row":34,"column":33},"end":{"row":34,"column":34},"action":"remove","lines":["b"],"id":326}],[{"start":{"row":34,"column":32},"end":{"row":34,"column":33},"action":"remove","lines":["i"],"id":327}],[{"start":{"row":34,"column":31},"end":{"row":34,"column":32},"action":"remove","lines":["l"],"id":328}],[{"start":{"row":34,"column":30},"end":{"row":34,"column":31},"action":"insert","lines":["s"],"id":329}],[{"start":{"row":34,"column":30},"end":{"row":34,"column":31},"action":"remove","lines":["s"],"id":330}],[{"start":{"row":34,"column":36},"end":{"row":35,"column":0},"action":"insert","lines":["",""],"id":331},{"start":{"row":35,"column":0},"end":{"row":35,"column":3},"action":"insert","lines":["\t\t\t"]}],[{"start":{"row":35,"column":3},"end":{"row":35,"column":5},"action":"insert","lines":["\"\""],"id":332}],[{"start":{"row":35,"column":4},"end":{"row":35,"column":5},"action":"remove","lines":["\""],"id":333}],[{"start":{"row":35,"column":3},"end":{"row":35,"column":4},"action":"remove","lines":["\""],"id":334}],[{"start":{"row":35,"column":3},"end":{"row":35,"column":5},"action":"insert","lines":["''"],"id":335}],[{"start":{"row":35,"column":4},"end":{"row":35,"column":5},"action":"insert","lines":["e"],"id":336}],[{"start":{"row":35,"column":5},"end":{"row":35,"column":6},"action":"insert","lines":["x"],"id":337}],[{"start":{"row":35,"column":6},"end":{"row":35,"column":7},"action":"insert","lines":["p"],"id":338}],[{"start":{"row":35,"column":7},"end":{"row":35,"column":8},"action":"insert","lines":["i"],"id":339}],[{"start":{"row":35,"column":8},"end":{"row":35,"column":9},"action":"insert","lines":["r"],"id":340}],[{"start":{"row":35,"column":9},"end":{"row":35,"column":10},"action":"insert","lines":["e"],"id":341}],[{"start":{"row":35,"column":10},"end":{"row":35,"column":11},"action":"insert","lines":["_"],"id":342}],[{"start":{"row":35,"column":11},"end":{"row":35,"column":12},"action":"insert","lines":["a"],"id":343}],[{"start":{"row":35,"column":12},"end":{"row":35,"column":13},"action":"insert","lines":["t"],"id":344}],[{"start":{"row":35,"column":14},"end":{"row":35,"column":15},"action":"insert","lines":[" "],"id":345}],[{"start":{"row":35,"column":15},"end":{"row":35,"column":16},"action":"insert","lines":["="],"id":346}],[{"start":{"row":35,"column":16},"end":{"row":35,"column":17},"action":"insert","lines":[">"],"id":347}],[{"start":{"row":35,"column":17},"end":{"row":35,"column":18},"action":"insert","lines":[" "],"id":348}],[{"start":{"row":35,"column":18},"end":{"row":35,"column":20},"action":"insert","lines":["''"],"id":349}],[{"start":{"row":35,"column":19},"end":{"row":35,"column":20},"action":"insert","lines":["r"],"id":350}],[{"start":{"row":35,"column":20},"end":{"row":35,"column":21},"action":"insert","lines":["e"],"id":351}],[{"start":{"row":35,"column":21},"end":{"row":35,"column":22},"action":"insert","lines":["q"],"id":352}],[{"start":{"row":35,"column":22},"end":{"row":35,"column":23},"action":"insert","lines":["u"],"id":353}],[{"start":{"row":35,"column":23},"end":{"row":35,"column":24},"action":"insert","lines":["i"],"id":354}],[{"start":{"row":35,"column":24},"end":{"row":35,"column":25},"action":"insert","lines":["r"],"id":355}],[{"start":{"row":35,"column":25},"end":{"row":35,"column":26},"action":"insert","lines":["e"],"id":356}],[{"start":{"row":35,"column":26},"end":{"row":35,"column":27},"action":"insert","lines":["d"],"id":357}],[{"start":{"row":35,"column":27},"end":{"row":35,"column":28},"action":"insert","lines":["|"],"id":358}],[{"start":{"row":35,"column":28},"end":{"row":35,"column":29},"action":"insert","lines":["d"],"id":359}],[{"start":{"row":35,"column":29},"end":{"row":35,"column":30},"action":"insert","lines":["a"],"id":360}],[{"start":{"row":35,"column":30},"end":{"row":35,"column":31},"action":"insert","lines":["t"],"id":361}],[{"start":{"row":35,"column":31},"end":{"row":35,"column":32},"action":"insert","lines":["e"],"id":362}],[{"start":{"row":21,"column":67},"end":{"row":23,"column":7},"action":"insert","lines":[""," * "," * "],"id":363,"ignore":true}],[{"start":{"row":23,"column":7},"end":{"row":23,"column":46},"action":"insert","lines":["https://laravel.com/docs/5.2/validation"],"id":364,"ignore":true}],[{"start":{"row":32,"column":31},"end":{"row":32,"column":34},"action":"remove","lines":["int"],"id":365},{"start":{"row":32,"column":31},"end":{"row":32,"column":32},"action":"insert","lines":["n"]}],[{"start":{"row":32,"column":32},"end":{"row":32,"column":33},"action":"insert","lines":["u"],"id":366}],[{"start":{"row":32,"column":33},"end":{"row":32,"column":34},"action":"insert","lines":["m"],"id":367}],[{"start":{"row":32,"column":34},"end":{"row":32,"column":35},"action":"insert","lines":["e"],"id":368}],[{"start":{"row":32,"column":35},"end":{"row":32,"column":36},"action":"insert","lines":["r"],"id":369}],[{"start":{"row":32,"column":36},"end":{"row":32,"column":37},"action":"insert","lines":["i"],"id":370}],[{"start":{"row":32,"column":37},"end":{"row":32,"column":38},"action":"insert","lines":["c"],"id":371}],[{"start":{"row":37,"column":33},"end":{"row":38,"column":0},"action":"insert","lines":["",""],"id":372},{"start":{"row":38,"column":0},"end":{"row":38,"column":3},"action":"insert","lines":["\t\t\t"]}],[{"start":{"row":38,"column":3},"end":{"row":38,"column":5},"action":"insert","lines":["''"],"id":373}],[{"start":{"row":38,"column":4},"end":{"row":38,"column":5},"action":"insert","lines":["c"],"id":374}],[{"start":{"row":38,"column":5},"end":{"row":38,"column":6},"action":"insert","lines":["a"],"id":375}],[{"start":{"row":38,"column":6},"end":{"row":38,"column":7},"action":"insert","lines":["t"],"id":376}],[{"start":{"row":38,"column":7},"end":{"row":38,"column":8},"action":"insert","lines":["e"],"id":377}],[{"start":{"row":38,"column":8},"end":{"row":38,"column":9},"action":"insert","lines":["g"],"id":378}],[{"start":{"row":38,"column":9},"end":{"row":38,"column":10},"action":"insert","lines":["o"],"id":379}],[{"start":{"row":38,"column":10},"end":{"row":38,"column":11},"action":"insert","lines":["r"],"id":380}],[{"start":{"row":38,"column":11},"end":{"row":38,"column":12},"action":"insert","lines":["y"],"id":381}],[{"start":{"row":38,"column":13},"end":{"row":38,"column":14},"action":"insert","lines":[" "],"id":382}],[{"start":{"row":38,"column":14},"end":{"row":38,"column":15},"action":"insert","lines":["="],"id":383}],[{"start":{"row":38,"column":15},"end":{"row":38,"column":16},"action":"insert","lines":[">"],"id":384}],[{"start":{"row":38,"column":16},"end":{"row":38,"column":17},"action":"insert","lines":[" "],"id":385}],[{"start":{"row":23,"column":7},"end":{"row":23,"column":46},"action":"remove","lines":["https://laravel.com/docs/5.2/validation"],"id":386,"ignore":true},{"start":{"row":23,"column":7},"end":{"row":23,"column":73},"action":"insert","lines":["https://laravel.com/docs/5.2/validation#available-validation-rules"]}],[{"start":{"row":36,"column":3},"end":{"row":36,"column":4},"action":"insert","lines":["/"],"id":387}],[{"start":{"row":36,"column":4},"end":{"row":36,"column":5},"action":"insert","lines":["/"],"id":388}],[{"start":{"row":36,"column":26},"end":{"row":36,"column":27},"action":"remove","lines":["/"],"id":389}],[{"start":{"row":36,"column":25},"end":{"row":36,"column":26},"action":"remove","lines":["/"],"id":390}],[{"start":{"row":38,"column":16},"end":{"row":38,"column":17},"action":"insert","lines":[" "],"id":391}],[{"start":{"row":38,"column":17},"end":{"row":38,"column":19},"action":"insert","lines":["''"],"id":392}],[{"start":{"row":38,"column":18},"end":{"row":38,"column":19},"action":"insert","lines":["r"],"id":393}],[{"start":{"row":38,"column":19},"end":{"row":38,"column":20},"action":"insert","lines":["e"],"id":394}],[{"start":{"row":38,"column":20},"end":{"row":38,"column":21},"action":"insert","lines":["q"],"id":395}],[{"start":{"row":38,"column":21},"end":{"row":38,"column":22},"action":"insert","lines":["u"],"id":396}],[{"start":{"row":38,"column":22},"end":{"row":38,"column":23},"action":"insert","lines":["i"],"id":397}],[{"start":{"row":38,"column":23},"end":{"row":38,"column":24},"action":"insert","lines":["r"],"id":398}],[{"start":{"row":38,"column":24},"end":{"row":38,"column":25},"action":"insert","lines":["e"],"id":399}],[{"start":{"row":38,"column":25},"end":{"row":38,"column":26},"action":"insert","lines":["d"],"id":400}],[{"start":{"row":37,"column":33},"end":{"row":37,"column":34},"action":"insert","lines":[","],"id":401}]]},"ace":{"folds":[],"scrolltop":66,"scrollleft":0,"selection":{"start":{"row":31,"column":29},"end":{"row":31,"column":29},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":4,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1510836875010,"hash":"7a697d6987e9ffa480084b53d83debe78c35d2dc"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/app/Http/Requests/ProductRegisterRequest.php b/workspace/.c9/metadata/workspace/app/Http/Requests/ProductRegisterRequest.php new file mode 100644 index 0000000..88f05a8 --- /dev/null +++ b/workspace/.c9/metadata/workspace/app/Http/Requests/ProductRegisterRequest.php @@ -0,0 +1 @@ +{"filter":false,"title":"ProductRegisterRequest.php","tooltip":"/app/Http/Requests/ProductRegisterRequest.php","undoManager":{"mark":99,"position":99,"stack":[[{"start":{"row":15,"column":15},"end":{"row":15,"column":20},"action":"remove","lines":["false"],"id":2},{"start":{"row":15,"column":15},"end":{"row":15,"column":16},"action":"insert","lines":["t"]}],[{"start":{"row":15,"column":16},"end":{"row":15,"column":17},"action":"insert","lines":["r"],"id":3}],[{"start":{"row":15,"column":17},"end":{"row":15,"column":18},"action":"insert","lines":["u"],"id":4}],[{"start":{"row":15,"column":18},"end":{"row":15,"column":19},"action":"insert","lines":["e"],"id":5}],[{"start":{"row":26,"column":13},"end":{"row":26,"column":14},"action":"remove","lines":["/"],"id":6}],[{"start":{"row":26,"column":12},"end":{"row":26,"column":13},"action":"remove","lines":["/"],"id":7}],[{"start":{"row":26,"column":8},"end":{"row":26,"column":12},"action":"remove","lines":[" "],"id":8}],[{"start":{"row":26,"column":8},"end":{"row":26,"column":12},"action":"insert","lines":[" "],"id":9}],[{"start":{"row":26,"column":12},"end":{"row":27,"column":31},"action":"insert","lines":["'nom' => 'required|alpha',","\t\t\t'prenom' => 'required|alpha'"],"id":10}],[{"start":{"row":27,"column":3},"end":{"row":27,"column":31},"action":"remove","lines":["'prenom' => 'required|alpha'"],"id":11},{"start":{"row":27,"column":3},"end":{"row":27,"column":44},"action":"insert","lines":["'email' => 'required|email|unique:users',"]}],[{"start":{"row":27,"column":43},"end":{"row":27,"column":44},"action":"remove","lines":[","],"id":12}],[{"start":{"row":27,"column":40},"end":{"row":27,"column":41},"action":"remove","lines":["r"],"id":13}],[{"start":{"row":27,"column":39},"end":{"row":27,"column":40},"action":"remove","lines":["e"],"id":14}],[{"start":{"row":27,"column":38},"end":{"row":27,"column":39},"action":"remove","lines":["s"],"id":15}],[{"start":{"row":27,"column":37},"end":{"row":27,"column":38},"action":"remove","lines":["u"],"id":16}],[{"start":{"row":27,"column":37},"end":{"row":27,"column":38},"action":"insert","lines":["p"],"id":17}],[{"start":{"row":27,"column":38},"end":{"row":27,"column":39},"action":"insert","lines":["r"],"id":18}],[{"start":{"row":27,"column":39},"end":{"row":27,"column":40},"action":"insert","lines":["o"],"id":19}],[{"start":{"row":27,"column":40},"end":{"row":27,"column":41},"action":"insert","lines":["d"],"id":20}],[{"start":{"row":27,"column":41},"end":{"row":27,"column":42},"action":"insert","lines":["u"],"id":21}],[{"start":{"row":27,"column":42},"end":{"row":27,"column":43},"action":"insert","lines":["c"],"id":22}],[{"start":{"row":27,"column":43},"end":{"row":27,"column":44},"action":"insert","lines":["t"],"id":23}],[{"start":{"row":27,"column":44},"end":{"row":27,"column":45},"action":"insert","lines":["s"],"id":24}],[{"start":{"row":27,"column":44},"end":{"row":27,"column":45},"action":"remove","lines":["s"],"id":25}],[{"start":{"row":26,"column":15},"end":{"row":26,"column":16},"action":"remove","lines":["m"],"id":26}],[{"start":{"row":26,"column":14},"end":{"row":26,"column":15},"action":"remove","lines":["o"],"id":27}],[{"start":{"row":26,"column":14},"end":{"row":26,"column":15},"action":"insert","lines":["a"],"id":28}],[{"start":{"row":26,"column":15},"end":{"row":26,"column":16},"action":"insert","lines":["m"],"id":29}],[{"start":{"row":26,"column":16},"end":{"row":26,"column":17},"action":"insert","lines":["e"],"id":30}],[{"start":{"row":20,"column":6},"end":{"row":20,"column":7},"action":"insert","lines":[" "],"id":31}],[{"start":{"row":20,"column":7},"end":{"row":20,"column":8},"action":"insert","lines":["T"],"id":32}],[{"start":{"row":20,"column":8},"end":{"row":20,"column":9},"action":"insert","lines":["O"],"id":33}],[{"start":{"row":20,"column":9},"end":{"row":20,"column":10},"action":"insert","lines":["D"],"id":34}],[{"start":{"row":20,"column":10},"end":{"row":20,"column":11},"action":"insert","lines":["O"],"id":35}],[{"start":{"row":20,"column":11},"end":{"row":20,"column":12},"action":"insert","lines":[" "],"id":36}],[{"start":{"row":20,"column":12},"end":{"row":20,"column":13},"action":"insert","lines":["e"],"id":37}],[{"start":{"row":20,"column":13},"end":{"row":20,"column":14},"action":"insert","lines":["n"],"id":38}],[{"start":{"row":20,"column":14},"end":{"row":20,"column":15},"action":"insert","lines":[" "],"id":39}],[{"start":{"row":20,"column":15},"end":{"row":20,"column":16},"action":"insert","lines":["f"],"id":40}],[{"start":{"row":20,"column":16},"end":{"row":20,"column":17},"action":"insert","lines":["o"],"id":41}],[{"start":{"row":20,"column":17},"end":{"row":20,"column":18},"action":"insert","lines":["n"],"id":42}],[{"start":{"row":20,"column":18},"end":{"row":20,"column":19},"action":"insert","lines":["c"],"id":43}],[{"start":{"row":20,"column":19},"end":{"row":20,"column":20},"action":"insert","lines":["t"],"id":44}],[{"start":{"row":20,"column":20},"end":{"row":20,"column":21},"action":"insert","lines":["i"],"id":45}],[{"start":{"row":20,"column":21},"end":{"row":20,"column":22},"action":"insert","lines":["o"],"id":46}],[{"start":{"row":20,"column":22},"end":{"row":20,"column":23},"action":"insert","lines":["n"],"id":47}],[{"start":{"row":20,"column":23},"end":{"row":20,"column":24},"action":"insert","lines":[" "],"id":48}],[{"start":{"row":20,"column":24},"end":{"row":20,"column":25},"action":"insert","lines":["d"],"id":49}],[{"start":{"row":20,"column":25},"end":{"row":20,"column":26},"action":"insert","lines":["u"],"id":50}],[{"start":{"row":20,"column":26},"end":{"row":20,"column":27},"action":"insert","lines":[" "],"id":51}],[{"start":{"row":19,"column":58},"end":{"row":20,"column":0},"action":"insert","lines":["",""],"id":52},{"start":{"row":20,"column":0},"end":{"row":20,"column":7},"action":"insert","lines":[" * "]}],[{"start":{"row":21,"column":27},"end":{"row":22,"column":0},"action":"insert","lines":["",""],"id":53},{"start":{"row":22,"column":0},"end":{"row":22,"column":7},"action":"insert","lines":[" * "]}],[{"start":{"row":21,"column":27},"end":{"row":21,"column":28},"action":"insert","lines":["f"],"id":54}],[{"start":{"row":21,"column":28},"end":{"row":21,"column":29},"action":"insert","lines":["o"],"id":55}],[{"start":{"row":21,"column":29},"end":{"row":21,"column":30},"action":"insert","lines":["r"],"id":56}],[{"start":{"row":21,"column":30},"end":{"row":21,"column":31},"action":"insert","lines":["m"],"id":57}],[{"start":{"row":21,"column":31},"end":{"row":21,"column":32},"action":"insert","lines":["u"],"id":58}],[{"start":{"row":21,"column":32},"end":{"row":21,"column":33},"action":"insert","lines":["l"],"id":59}],[{"start":{"row":21,"column":33},"end":{"row":21,"column":34},"action":"insert","lines":["a"],"id":60}],[{"start":{"row":21,"column":34},"end":{"row":21,"column":35},"action":"insert","lines":["i"],"id":61}],[{"start":{"row":21,"column":35},"end":{"row":21,"column":36},"action":"insert","lines":["r"],"id":62}],[{"start":{"row":21,"column":36},"end":{"row":21,"column":37},"action":"insert","lines":["e"],"id":63}],[{"start":{"row":21,"column":37},"end":{"row":21,"column":38},"action":"insert","lines":[" "],"id":64}],[{"start":{"row":21,"column":38},"end":{"row":21,"column":39},"action":"insert","lines":["d"],"id":65}],[{"start":{"row":21,"column":39},"end":{"row":21,"column":40},"action":"insert","lines":["'"],"id":66}],[{"start":{"row":21,"column":40},"end":{"row":21,"column":41},"action":"insert","lines":["e"],"id":67}],[{"start":{"row":21,"column":41},"end":{"row":21,"column":42},"action":"insert","lines":["n"],"id":68}],[{"start":{"row":21,"column":42},"end":{"row":21,"column":43},"action":"insert","lines":["r"],"id":69}],[{"start":{"row":21,"column":43},"end":{"row":21,"column":44},"action":"insert","lines":["e"],"id":70}],[{"start":{"row":21,"column":44},"end":{"row":21,"column":45},"action":"insert","lines":["g"],"id":71}],[{"start":{"row":21,"column":45},"end":{"row":21,"column":46},"action":"insert","lines":["i"],"id":72}],[{"start":{"row":21,"column":46},"end":{"row":21,"column":47},"action":"insert","lines":["s"],"id":73}],[{"start":{"row":21,"column":47},"end":{"row":21,"column":48},"action":"insert","lines":["t"],"id":74}],[{"start":{"row":21,"column":48},"end":{"row":21,"column":49},"action":"insert","lines":["r"],"id":75}],[{"start":{"row":21,"column":49},"end":{"row":21,"column":50},"action":"insert","lines":["e"],"id":76}],[{"start":{"row":21,"column":50},"end":{"row":21,"column":51},"action":"insert","lines":["m"],"id":77}],[{"start":{"row":21,"column":51},"end":{"row":21,"column":52},"action":"insert","lines":["e"],"id":78}],[{"start":{"row":21,"column":52},"end":{"row":21,"column":53},"action":"insert","lines":["n"],"id":79}],[{"start":{"row":21,"column":53},"end":{"row":21,"column":54},"action":"insert","lines":["t"],"id":80}],[{"start":{"row":21,"column":54},"end":{"row":21,"column":55},"action":"insert","lines":[" "],"id":81}],[{"start":{"row":21,"column":55},"end":{"row":21,"column":56},"action":"insert","lines":["d"],"id":82}],[{"start":{"row":21,"column":56},"end":{"row":21,"column":57},"action":"insert","lines":["e"],"id":83}],[{"start":{"row":21,"column":57},"end":{"row":21,"column":58},"action":"insert","lines":[" "],"id":84}],[{"start":{"row":21,"column":58},"end":{"row":21,"column":59},"action":"insert","lines":["l"],"id":85}],[{"start":{"row":21,"column":59},"end":{"row":21,"column":60},"action":"insert","lines":["'"],"id":86}],[{"start":{"row":21,"column":60},"end":{"row":21,"column":61},"action":"insert","lines":["a"],"id":87}],[{"start":{"row":21,"column":61},"end":{"row":21,"column":62},"action":"insert","lines":["n"],"id":88}],[{"start":{"row":21,"column":62},"end":{"row":21,"column":63},"action":"insert","lines":["n"],"id":89}],[{"start":{"row":21,"column":63},"end":{"row":21,"column":64},"action":"insert","lines":["o"],"id":90}],[{"start":{"row":21,"column":64},"end":{"row":21,"column":65},"action":"insert","lines":["n"],"id":91}],[{"start":{"row":21,"column":65},"end":{"row":21,"column":66},"action":"insert","lines":["c"],"id":92}],[{"start":{"row":21,"column":66},"end":{"row":21,"column":67},"action":"insert","lines":["e"],"id":93}],[{"start":{"row":6,"column":13},"end":{"row":6,"column":14},"action":"insert","lines":["R"],"id":94}],[{"start":{"row":6,"column":14},"end":{"row":6,"column":15},"action":"insert","lines":["e"],"id":95}],[{"start":{"row":6,"column":15},"end":{"row":6,"column":16},"action":"insert","lines":["g"],"id":96}],[{"start":{"row":6,"column":16},"end":{"row":6,"column":17},"action":"insert","lines":["i"],"id":97}],[{"start":{"row":6,"column":17},"end":{"row":6,"column":18},"action":"insert","lines":["s"],"id":98}],[{"start":{"row":6,"column":18},"end":{"row":6,"column":19},"action":"insert","lines":["t"],"id":99}],[{"start":{"row":6,"column":19},"end":{"row":6,"column":20},"action":"insert","lines":["e"],"id":100}],[{"start":{"row":6,"column":20},"end":{"row":6,"column":21},"action":"insert","lines":["r"],"id":101}]]},"ace":{"folds":[],"scrolltop":120,"scrollleft":0,"selection":{"start":{"row":6,"column":21},"end":{"row":6,"column":21},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":19,"state":"php-doc-start","mode":"ace/mode/php"}},"timestamp":1510599488505,"hash":"477521e3f65f8ba33c97fef4f0cd18e24a1e7882"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/app/Http/Requests/ProductRequest.php b/workspace/.c9/metadata/workspace/app/Http/Requests/ProductRequest.php new file mode 100644 index 0000000..dd01f2c --- /dev/null +++ b/workspace/.c9/metadata/workspace/app/Http/Requests/ProductRequest.php @@ -0,0 +1 @@ +{"filter":false,"title":"ProductRequest.php","tooltip":"/app/Http/Requests/ProductRequest.php","undoManager":{"mark":91,"position":91,"stack":[[{"start":{"row":15,"column":15},"end":{"row":15,"column":20},"action":"remove","lines":["false"],"id":2},{"start":{"row":15,"column":15},"end":{"row":15,"column":16},"action":"insert","lines":["t"]}],[{"start":{"row":15,"column":16},"end":{"row":15,"column":17},"action":"insert","lines":["r"],"id":3}],[{"start":{"row":15,"column":17},"end":{"row":15,"column":18},"action":"insert","lines":["u"],"id":4}],[{"start":{"row":15,"column":18},"end":{"row":15,"column":19},"action":"insert","lines":["e"],"id":5}],[{"start":{"row":26,"column":13},"end":{"row":26,"column":14},"action":"remove","lines":["/"],"id":6}],[{"start":{"row":26,"column":12},"end":{"row":26,"column":13},"action":"remove","lines":["/"],"id":7}],[{"start":{"row":26,"column":8},"end":{"row":26,"column":12},"action":"remove","lines":[" "],"id":8}],[{"start":{"row":26,"column":8},"end":{"row":26,"column":12},"action":"insert","lines":[" "],"id":9}],[{"start":{"row":26,"column":12},"end":{"row":27,"column":31},"action":"insert","lines":["'nom' => 'required|alpha',","\t\t\t'prenom' => 'required|alpha'"],"id":10}],[{"start":{"row":27,"column":3},"end":{"row":27,"column":31},"action":"remove","lines":["'prenom' => 'required|alpha'"],"id":11},{"start":{"row":27,"column":3},"end":{"row":27,"column":44},"action":"insert","lines":["'email' => 'required|email|unique:users',"]}],[{"start":{"row":27,"column":43},"end":{"row":27,"column":44},"action":"remove","lines":[","],"id":12}],[{"start":{"row":27,"column":40},"end":{"row":27,"column":41},"action":"remove","lines":["r"],"id":13}],[{"start":{"row":27,"column":39},"end":{"row":27,"column":40},"action":"remove","lines":["e"],"id":14}],[{"start":{"row":27,"column":38},"end":{"row":27,"column":39},"action":"remove","lines":["s"],"id":15}],[{"start":{"row":27,"column":37},"end":{"row":27,"column":38},"action":"remove","lines":["u"],"id":16}],[{"start":{"row":27,"column":37},"end":{"row":27,"column":38},"action":"insert","lines":["p"],"id":17}],[{"start":{"row":27,"column":38},"end":{"row":27,"column":39},"action":"insert","lines":["r"],"id":18}],[{"start":{"row":27,"column":39},"end":{"row":27,"column":40},"action":"insert","lines":["o"],"id":19}],[{"start":{"row":27,"column":40},"end":{"row":27,"column":41},"action":"insert","lines":["d"],"id":20}],[{"start":{"row":27,"column":41},"end":{"row":27,"column":42},"action":"insert","lines":["u"],"id":21}],[{"start":{"row":27,"column":42},"end":{"row":27,"column":43},"action":"insert","lines":["c"],"id":22}],[{"start":{"row":27,"column":43},"end":{"row":27,"column":44},"action":"insert","lines":["t"],"id":23}],[{"start":{"row":27,"column":44},"end":{"row":27,"column":45},"action":"insert","lines":["s"],"id":24}],[{"start":{"row":27,"column":44},"end":{"row":27,"column":45},"action":"remove","lines":["s"],"id":25}],[{"start":{"row":26,"column":15},"end":{"row":26,"column":16},"action":"remove","lines":["m"],"id":26}],[{"start":{"row":26,"column":14},"end":{"row":26,"column":15},"action":"remove","lines":["o"],"id":27}],[{"start":{"row":26,"column":14},"end":{"row":26,"column":15},"action":"insert","lines":["a"],"id":28}],[{"start":{"row":26,"column":15},"end":{"row":26,"column":16},"action":"insert","lines":["m"],"id":29}],[{"start":{"row":26,"column":16},"end":{"row":26,"column":17},"action":"insert","lines":["e"],"id":30}],[{"start":{"row":20,"column":6},"end":{"row":20,"column":7},"action":"insert","lines":[" "],"id":31}],[{"start":{"row":20,"column":7},"end":{"row":20,"column":8},"action":"insert","lines":["T"],"id":32}],[{"start":{"row":20,"column":8},"end":{"row":20,"column":9},"action":"insert","lines":["O"],"id":33}],[{"start":{"row":20,"column":9},"end":{"row":20,"column":10},"action":"insert","lines":["D"],"id":34}],[{"start":{"row":20,"column":10},"end":{"row":20,"column":11},"action":"insert","lines":["O"],"id":35}],[{"start":{"row":20,"column":11},"end":{"row":20,"column":12},"action":"insert","lines":[" "],"id":36}],[{"start":{"row":20,"column":12},"end":{"row":20,"column":13},"action":"insert","lines":["e"],"id":37}],[{"start":{"row":20,"column":13},"end":{"row":20,"column":14},"action":"insert","lines":["n"],"id":38}],[{"start":{"row":20,"column":14},"end":{"row":20,"column":15},"action":"insert","lines":[" "],"id":39}],[{"start":{"row":20,"column":15},"end":{"row":20,"column":16},"action":"insert","lines":["f"],"id":40}],[{"start":{"row":20,"column":16},"end":{"row":20,"column":17},"action":"insert","lines":["o"],"id":41}],[{"start":{"row":20,"column":17},"end":{"row":20,"column":18},"action":"insert","lines":["n"],"id":42}],[{"start":{"row":20,"column":18},"end":{"row":20,"column":19},"action":"insert","lines":["c"],"id":43}],[{"start":{"row":20,"column":19},"end":{"row":20,"column":20},"action":"insert","lines":["t"],"id":44}],[{"start":{"row":20,"column":20},"end":{"row":20,"column":21},"action":"insert","lines":["i"],"id":45}],[{"start":{"row":20,"column":21},"end":{"row":20,"column":22},"action":"insert","lines":["o"],"id":46}],[{"start":{"row":20,"column":22},"end":{"row":20,"column":23},"action":"insert","lines":["n"],"id":47}],[{"start":{"row":20,"column":23},"end":{"row":20,"column":24},"action":"insert","lines":[" "],"id":48}],[{"start":{"row":20,"column":24},"end":{"row":20,"column":25},"action":"insert","lines":["d"],"id":49}],[{"start":{"row":20,"column":25},"end":{"row":20,"column":26},"action":"insert","lines":["u"],"id":50}],[{"start":{"row":20,"column":26},"end":{"row":20,"column":27},"action":"insert","lines":[" "],"id":51}],[{"start":{"row":19,"column":58},"end":{"row":20,"column":0},"action":"insert","lines":["",""],"id":52},{"start":{"row":20,"column":0},"end":{"row":20,"column":7},"action":"insert","lines":[" * "]}],[{"start":{"row":21,"column":27},"end":{"row":22,"column":0},"action":"insert","lines":["",""],"id":53},{"start":{"row":22,"column":0},"end":{"row":22,"column":7},"action":"insert","lines":[" * "]}],[{"start":{"row":21,"column":27},"end":{"row":21,"column":28},"action":"insert","lines":["f"],"id":54}],[{"start":{"row":21,"column":28},"end":{"row":21,"column":29},"action":"insert","lines":["o"],"id":55}],[{"start":{"row":21,"column":29},"end":{"row":21,"column":30},"action":"insert","lines":["r"],"id":56}],[{"start":{"row":21,"column":30},"end":{"row":21,"column":31},"action":"insert","lines":["m"],"id":57}],[{"start":{"row":21,"column":31},"end":{"row":21,"column":32},"action":"insert","lines":["u"],"id":58}],[{"start":{"row":21,"column":32},"end":{"row":21,"column":33},"action":"insert","lines":["l"],"id":59}],[{"start":{"row":21,"column":33},"end":{"row":21,"column":34},"action":"insert","lines":["a"],"id":60}],[{"start":{"row":21,"column":34},"end":{"row":21,"column":35},"action":"insert","lines":["i"],"id":61}],[{"start":{"row":21,"column":35},"end":{"row":21,"column":36},"action":"insert","lines":["r"],"id":62}],[{"start":{"row":21,"column":36},"end":{"row":21,"column":37},"action":"insert","lines":["e"],"id":63}],[{"start":{"row":21,"column":37},"end":{"row":21,"column":38},"action":"insert","lines":[" "],"id":64}],[{"start":{"row":21,"column":38},"end":{"row":21,"column":39},"action":"insert","lines":["d"],"id":65}],[{"start":{"row":21,"column":39},"end":{"row":21,"column":40},"action":"insert","lines":["'"],"id":66}],[{"start":{"row":21,"column":40},"end":{"row":21,"column":41},"action":"insert","lines":["e"],"id":67}],[{"start":{"row":21,"column":41},"end":{"row":21,"column":42},"action":"insert","lines":["n"],"id":68}],[{"start":{"row":21,"column":42},"end":{"row":21,"column":43},"action":"insert","lines":["r"],"id":69}],[{"start":{"row":21,"column":43},"end":{"row":21,"column":44},"action":"insert","lines":["e"],"id":70}],[{"start":{"row":21,"column":44},"end":{"row":21,"column":45},"action":"insert","lines":["g"],"id":71}],[{"start":{"row":21,"column":45},"end":{"row":21,"column":46},"action":"insert","lines":["i"],"id":72}],[{"start":{"row":21,"column":46},"end":{"row":21,"column":47},"action":"insert","lines":["s"],"id":73}],[{"start":{"row":21,"column":47},"end":{"row":21,"column":48},"action":"insert","lines":["t"],"id":74}],[{"start":{"row":21,"column":48},"end":{"row":21,"column":49},"action":"insert","lines":["r"],"id":75}],[{"start":{"row":21,"column":49},"end":{"row":21,"column":50},"action":"insert","lines":["e"],"id":76}],[{"start":{"row":21,"column":50},"end":{"row":21,"column":51},"action":"insert","lines":["m"],"id":77}],[{"start":{"row":21,"column":51},"end":{"row":21,"column":52},"action":"insert","lines":["e"],"id":78}],[{"start":{"row":21,"column":52},"end":{"row":21,"column":53},"action":"insert","lines":["n"],"id":79}],[{"start":{"row":21,"column":53},"end":{"row":21,"column":54},"action":"insert","lines":["t"],"id":80}],[{"start":{"row":21,"column":54},"end":{"row":21,"column":55},"action":"insert","lines":[" "],"id":81}],[{"start":{"row":21,"column":55},"end":{"row":21,"column":56},"action":"insert","lines":["d"],"id":82}],[{"start":{"row":21,"column":56},"end":{"row":21,"column":57},"action":"insert","lines":["e"],"id":83}],[{"start":{"row":21,"column":57},"end":{"row":21,"column":58},"action":"insert","lines":[" "],"id":84}],[{"start":{"row":21,"column":58},"end":{"row":21,"column":59},"action":"insert","lines":["l"],"id":85}],[{"start":{"row":21,"column":59},"end":{"row":21,"column":60},"action":"insert","lines":["'"],"id":86}],[{"start":{"row":21,"column":60},"end":{"row":21,"column":61},"action":"insert","lines":["a"],"id":87}],[{"start":{"row":21,"column":61},"end":{"row":21,"column":62},"action":"insert","lines":["n"],"id":88}],[{"start":{"row":21,"column":62},"end":{"row":21,"column":63},"action":"insert","lines":["n"],"id":89}],[{"start":{"row":21,"column":63},"end":{"row":21,"column":64},"action":"insert","lines":["o"],"id":90}],[{"start":{"row":21,"column":64},"end":{"row":21,"column":65},"action":"insert","lines":["n"],"id":91}],[{"start":{"row":21,"column":65},"end":{"row":21,"column":66},"action":"insert","lines":["c"],"id":92}],[{"start":{"row":21,"column":66},"end":{"row":21,"column":67},"action":"insert","lines":["e"],"id":93}]]},"ace":{"folds":[],"scrolltop":60,"scrollleft":0,"selection":{"start":{"row":21,"column":67},"end":{"row":21,"column":67},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":3,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1510575579651,"hash":"2184a5005cb09babe6237590e0f2e46f50f59e94"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/app/Http/Requests/ProductUpdateRequest.php b/workspace/.c9/metadata/workspace/app/Http/Requests/ProductUpdateRequest.php new file mode 100644 index 0000000..e39b452 --- /dev/null +++ b/workspace/.c9/metadata/workspace/app/Http/Requests/ProductUpdateRequest.php @@ -0,0 +1 @@ +{"filter":false,"title":"ProductUpdateRequest.php","tooltip":"/app/Http/Requests/ProductUpdateRequest.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":269,"scrollleft":0,"selection":{"start":{"row":33,"column":28},"end":{"row":33,"column":28},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":36,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1510837554289,"hash":"e2b60f6b5efb2bd73bd77f716522d261c96290a2"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/app/Http/routes.php b/workspace/.c9/metadata/workspace/app/Http/routes.php new file mode 100644 index 0000000..2906348 --- /dev/null +++ b/workspace/.c9/metadata/workspace/app/Http/routes.php @@ -0,0 +1 @@ +{"filter":false,"title":"routes.php","tooltip":"/app/Http/routes.php","undoManager":{"mark":42,"position":42,"stack":[[{"start":{"row":28,"column":1},"end":{"row":28,"column":2},"action":"remove","lines":["/"],"id":3110}],[{"start":{"row":28,"column":0},"end":{"row":28,"column":1},"action":"remove","lines":["/"],"id":3111}],[{"start":{"row":30,"column":0},"end":{"row":30,"column":1},"action":"insert","lines":["/"],"id":3112}],[{"start":{"row":30,"column":1},"end":{"row":30,"column":2},"action":"insert","lines":["*"],"id":3113}],[{"start":{"row":57,"column":4},"end":{"row":57,"column":5},"action":"insert","lines":["*"],"id":3114}],[{"start":{"row":57,"column":5},"end":{"row":57,"column":6},"action":"insert","lines":["/"],"id":3115}],[{"start":{"row":28,"column":55},"end":{"row":29,"column":0},"action":"insert","lines":["",""],"id":3116}],[{"start":{"row":29,"column":0},"end":{"row":29,"column":1},"action":"insert","lines":["R"],"id":3117}],[{"start":{"row":29,"column":1},"end":{"row":29,"column":2},"action":"insert","lines":["o"],"id":3118}],[{"start":{"row":29,"column":2},"end":{"row":29,"column":3},"action":"insert","lines":["u"],"id":3119}],[{"start":{"row":29,"column":3},"end":{"row":29,"column":4},"action":"insert","lines":["t"],"id":3120}],[{"start":{"row":29,"column":4},"end":{"row":29,"column":5},"action":"insert","lines":["e"],"id":3121}],[{"start":{"row":29,"column":5},"end":{"row":29,"column":6},"action":"insert","lines":[":"],"id":3122}],[{"start":{"row":29,"column":6},"end":{"row":29,"column":7},"action":"insert","lines":[":"],"id":3123}],[{"start":{"row":29,"column":7},"end":{"row":29,"column":8},"action":"insert","lines":["g"],"id":3124}],[{"start":{"row":29,"column":8},"end":{"row":29,"column":9},"action":"insert","lines":["e"],"id":3125}],[{"start":{"row":29,"column":9},"end":{"row":29,"column":10},"action":"insert","lines":["t"],"id":3126}],[{"start":{"row":29,"column":10},"end":{"row":29,"column":12},"action":"insert","lines":["()"],"id":3127}],[{"start":{"row":29,"column":11},"end":{"row":29,"column":13},"action":"insert","lines":["''"],"id":3128}],[{"start":{"row":29,"column":12},"end":{"row":29,"column":13},"action":"insert","lines":["r"],"id":3129}],[{"start":{"row":29,"column":13},"end":{"row":29,"column":14},"action":"insert","lines":["e"],"id":3130}],[{"start":{"row":29,"column":14},"end":{"row":29,"column":15},"action":"insert","lines":["s"],"id":3131}],[{"start":{"row":29,"column":15},"end":{"row":29,"column":16},"action":"insert","lines":["e"],"id":3132}],[{"start":{"row":29,"column":16},"end":{"row":29,"column":17},"action":"insert","lines":["a"],"id":3133}],[{"start":{"row":29,"column":17},"end":{"row":29,"column":18},"action":"insert","lines":["r"],"id":3134}],[{"start":{"row":29,"column":18},"end":{"row":29,"column":19},"action":"insert","lines":["c"],"id":3135}],[{"start":{"row":29,"column":19},"end":{"row":29,"column":20},"action":"insert","lines":["h"],"id":3136}],[{"start":{"row":29,"column":20},"end":{"row":29,"column":21},"action":"insert","lines":[","],"id":3137}],[{"start":{"row":29,"column":21},"end":{"row":29,"column":22},"action":"insert","lines":[" "],"id":3138}],[{"start":{"row":29,"column":21},"end":{"row":29,"column":22},"action":"remove","lines":[" "],"id":3139}],[{"start":{"row":29,"column":20},"end":{"row":29,"column":21},"action":"remove","lines":[","],"id":3140}],[{"start":{"row":29,"column":21},"end":{"row":29,"column":22},"action":"insert","lines":[","],"id":3141}],[{"start":{"row":29,"column":22},"end":{"row":29,"column":23},"action":"insert","lines":[" "],"id":3142}],[{"start":{"row":28,"column":55},"end":{"row":29,"column":24},"action":"remove","lines":["","Route::get('research', )"],"id":3143}],[{"start":{"row":28,"column":55},"end":{"row":29,"column":0},"action":"insert","lines":["",""],"id":3144}],[{"start":{"row":29,"column":0},"end":{"row":29,"column":55},"action":"insert","lines":["Route::post('research', 'ProductsController@research');"],"id":3145}],[{"start":{"row":29,"column":10},"end":{"row":29,"column":11},"action":"remove","lines":["t"],"id":3146}],[{"start":{"row":29,"column":9},"end":{"row":29,"column":10},"action":"remove","lines":["s"],"id":3147}],[{"start":{"row":29,"column":8},"end":{"row":29,"column":9},"action":"remove","lines":["o"],"id":3148}],[{"start":{"row":29,"column":7},"end":{"row":29,"column":8},"action":"remove","lines":["p"],"id":3149}],[{"start":{"row":29,"column":7},"end":{"row":29,"column":8},"action":"insert","lines":["g"],"id":3150}],[{"start":{"row":29,"column":8},"end":{"row":29,"column":9},"action":"insert","lines":["e"],"id":3151}],[{"start":{"row":29,"column":9},"end":{"row":29,"column":10},"action":"insert","lines":["t"],"id":3152}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":29,"column":10},"end":{"row":29,"column":10},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":12,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1511173613420,"hash":"c18575f06ee60c7749de27d3a56b215ea7d23648"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/app/Product.php b/workspace/.c9/metadata/workspace/app/Product.php new file mode 100644 index 0000000..bdd15e3 --- /dev/null +++ b/workspace/.c9/metadata/workspace/app/Product.php @@ -0,0 +1 @@ +{"filter":false,"title":"Product.php","tooltip":"/app/Product.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":10,"column":31},"end":{"row":10,"column":31},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511096764538,"hash":"e2c451d7d86c7a3a01a3fb0bdcd2be902c05a55c"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/app/Products.php b/workspace/.c9/metadata/workspace/app/Products.php new file mode 100644 index 0000000..2029cf4 --- /dev/null +++ b/workspace/.c9/metadata/workspace/app/Products.php @@ -0,0 +1 @@ +{"filter":false,"title":"Products.php","tooltip":"/app/Products.php","undoManager":{"mark":10,"position":10,"stack":[[{"start":{"row":8,"column":0},"end":{"row":8,"column":6},"action":"remove","lines":[" //"],"id":2},{"start":{"row":8,"column":0},"end":{"row":10,"column":31},"action":"insert","lines":[" protected $table = 'emails';"," "," public $timestamps = false;"]}],[{"start":{"row":8,"column":24},"end":{"row":8,"column":30},"action":"remove","lines":["emails"],"id":3},{"start":{"row":8,"column":24},"end":{"row":8,"column":25},"action":"insert","lines":["p"]}],[{"start":{"row":8,"column":25},"end":{"row":8,"column":26},"action":"insert","lines":["r"],"id":4}],[{"start":{"row":8,"column":26},"end":{"row":8,"column":27},"action":"insert","lines":["o"],"id":5}],[{"start":{"row":8,"column":27},"end":{"row":8,"column":28},"action":"insert","lines":["t"],"id":6}],[{"start":{"row":8,"column":27},"end":{"row":8,"column":28},"action":"remove","lines":["t"],"id":7}],[{"start":{"row":8,"column":27},"end":{"row":8,"column":28},"action":"insert","lines":["d"],"id":8}],[{"start":{"row":8,"column":28},"end":{"row":8,"column":29},"action":"insert","lines":["u"],"id":9}],[{"start":{"row":8,"column":29},"end":{"row":8,"column":30},"action":"insert","lines":["c"],"id":10}],[{"start":{"row":8,"column":30},"end":{"row":8,"column":31},"action":"insert","lines":["t"],"id":11}],[{"start":{"row":8,"column":31},"end":{"row":8,"column":32},"action":"insert","lines":["s"],"id":12}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":8,"column":32},"end":{"row":8,"column":32},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1510574972447,"hash":"d380dceff2020dfdb0677fd13249866c186eeddf"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/app/Providers/RouteServiceProvider.php b/workspace/.c9/metadata/workspace/app/Providers/RouteServiceProvider.php new file mode 100644 index 0000000..2a053e5 --- /dev/null +++ b/workspace/.c9/metadata/workspace/app/Providers/RouteServiceProvider.php @@ -0,0 +1 @@ +{"filter":false,"title":"RouteServiceProvider.php","tooltip":"/app/Providers/RouteServiceProvider.php","undoManager":{"mark":9,"position":9,"stack":[[{"start":{"row":51,"column":6},"end":{"row":51,"column":7},"action":"remove","lines":["/"],"id":2}],[{"start":{"row":59,"column":5},"end":{"row":59,"column":6},"action":"insert","lines":["*"],"id":3}],[{"start":{"row":59,"column":6},"end":{"row":59,"column":7},"action":"insert","lines":["/"],"id":4}],[{"start":{"row":39,"column":8},"end":{"row":39,"column":9},"action":"insert","lines":["/"],"id":5}],[{"start":{"row":39,"column":9},"end":{"row":39,"column":10},"action":"insert","lines":["/"],"id":6}],[{"start":{"row":39,"column":9},"end":{"row":39,"column":10},"action":"remove","lines":["/"],"id":7}],[{"start":{"row":39,"column":8},"end":{"row":39,"column":9},"action":"remove","lines":["/"],"id":8}],[{"start":{"row":59,"column":6},"end":{"row":59,"column":7},"action":"remove","lines":["/"],"id":9}],[{"start":{"row":59,"column":5},"end":{"row":59,"column":6},"action":"remove","lines":["*"],"id":10}],[{"start":{"row":51,"column":6},"end":{"row":51,"column":7},"action":"insert","lines":["/"],"id":11}]]},"ace":{"folds":[],"scrolltop":660,"scrollleft":0,"selection":{"start":{"row":51,"column":7},"end":{"row":51,"column":7},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":41,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1511143310464,"hash":"a75c967dc07e55b3c55016c942375655f6d27381"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/app/Repositories/ProductRepository.php b/workspace/.c9/metadata/workspace/app/Repositories/ProductRepository.php new file mode 100644 index 0000000..150792f --- /dev/null +++ b/workspace/.c9/metadata/workspace/app/Repositories/ProductRepository.php @@ -0,0 +1 @@ +{"filter":false,"title":"ProductRepository.php","tooltip":"/app/Repositories/ProductRepository.php","undoManager":{"mark":13,"position":13,"stack":[[{"start":{"row":68,"column":28},"end":{"row":68,"column":29},"action":"insert","lines":["'"],"id":1}],[{"start":{"row":68,"column":29},"end":{"row":68,"column":30},"action":"insert","lines":["%"],"id":2}],[{"start":{"row":68,"column":30},"end":{"row":68,"column":31},"action":"insert","lines":["'"],"id":3}],[{"start":{"row":68,"column":31},"end":{"row":68,"column":32},"action":"insert","lines":["."],"id":4}],[{"start":{"row":68,"column":37},"end":{"row":68,"column":38},"action":"insert","lines":["."],"id":5}],[{"start":{"row":68,"column":38},"end":{"row":68,"column":40},"action":"insert","lines":["''"],"id":6}],[{"start":{"row":68,"column":39},"end":{"row":68,"column":40},"action":"insert","lines":["%"],"id":7}],[{"start":{"row":69,"column":36},"end":{"row":69,"column":41},"action":"remove","lines":["$data"],"id":8},{"start":{"row":69,"column":36},"end":{"row":69,"column":49},"action":"insert","lines":["'%'.$data.'%'"]}],[{"start":{"row":68,"column":37},"end":{"row":68,"column":39},"action":"insert","lines":["[]"],"id":9}],[{"start":{"row":68,"column":38},"end":{"row":68,"column":40},"action":"insert","lines":["''"],"id":10}],[{"start":{"row":68,"column":39},"end":{"row":68,"column":40},"action":"insert","lines":["r"],"id":11}],[{"start":{"row":69,"column":45},"end":{"row":69,"column":47},"action":"insert","lines":["[]"],"id":12}],[{"start":{"row":69,"column":46},"end":{"row":69,"column":48},"action":"insert","lines":["''"],"id":13}],[{"start":{"row":69,"column":47},"end":{"row":69,"column":48},"action":"insert","lines":["r"],"id":14}]]},"ace":{"folds":[],"scrolltop":1065.400000000001,"scrollleft":0,"selection":{"start":{"row":79,"column":35},"end":{"row":79,"column":35},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511172546631,"hash":"41de598f9dbfe0ab11d78cc2e83b713e282a71c9"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/app/Repositories/UserRepository.php b/workspace/.c9/metadata/workspace/app/Repositories/UserRepository.php new file mode 100644 index 0000000..083e395 --- /dev/null +++ b/workspace/.c9/metadata/workspace/app/Repositories/UserRepository.php @@ -0,0 +1 @@ +{"filter":false,"title":"UserRepository.php","tooltip":"/app/Repositories/UserRepository.php","undoManager":{"mark":24,"position":24,"stack":[[{"start":{"row":0,"column":0},"end":{"row":77,"column":0},"action":"remove","lines":["<?php","","namespace App\\Repositories;","","use App\\User;","","/*","TODO","","https://openclassrooms.com/courses/decouvrez-le-framework-php-laravel-1/les-ressources-2-2-et-les-erreurs","","*/","class UserRepository","{",""," protected $product;",""," public function __construct(Product $product)","\t{","\t\t$this->product = $product;","\t}","\t","","\tprivate function save(Product $product, Array $inputs)","\t{","\t\t$product->title = $inputs['title'];","\t\t$product->email = $inputs['email'];","\t\t$product->address_number = $inputs['address_number'];","\t\t$product->address_street = $inputs['address_street'];","\t\t$product->address_city = $inputs['address_city'];","\t\t$product->postal_code = $inputs['postal_code'];","\t\t$product->description = $inputs['description'];","\t\t$product->expire_at = $inputs['expire_at'];","\t\t$product->category = $inputs['category'];","\t\t","\t\tif( isset($inputs['vegan']) ){","\t\t\t//Boolean type","\t\t\t$product->vegan = $inputs['vegan'];","\t\t}","","\t\t$product->save();","\t}","","\tpublic function getPaginate($n)","\t{","\t\treturn $this->product->paginate($n);","\t}","\t","\tpublic function store(Array $inputs)","\t{","\t\t$product = new $this->product;","\t\t","\t\t// possibilité de chiffrer des données","\t\t//$product->password = bcrypt($inputs['password']);","","\t\t$this->save($product, $inputs);","","\t\treturn $product;","\t}","","\tpublic function getById($id)","\t{","\t\treturn $this->product->findOrFail($id);","\t}","","\tpublic function update($id, Array $inputs)","\t{","\t\t$this->save($this->getById($id), $inputs);","\t}","","\tpublic function destroy($id)","\t{","\t\t$this->getById($id)->delete();","\t}","","}","",""],"id":13}],[{"start":{"row":0,"column":0},"end":{"row":91,"column":0},"action":"insert","lines":["<?php","","namespace App\\Repositories;","","use App\\Product;","","/*","TODO","","https://openclassrooms.com/courses/decouvrez-le-framework-php-laravel-1/les-ressources-2-2-et-les-erreurs","","*/","class ProductRepository","{",""," protected $product;",""," public function __construct(Product $product)","\t{","\t\t$this->product = $product;","\t}","\t","","\tprivate function save(Product $product, Array $inputs)","\t{","\t\t$product->title = $inputs['title'];","\t\t$product->email = $inputs['email'];","\t\t$product->address_number = $inputs['address_number'];","\t\t$product->address_street = $inputs['address_street'];","\t\t$product->address_city = $inputs['address_city'];","\t\t$product->postal_code = $inputs['postal_code'];","\t\t$product->description = $inputs['description'];","\t\t$product->expire_at = $inputs['expire_at'];","\t\t$product->category = $inputs['category'];","\t\t","\t\tif( isset($inputs['vegan']) ){","\t\t\t//Boolean type","\t\t\t$product->vegan = $inputs['vegan'];","\t\t}","","\t\t$product->save();","\t}","","\tpublic function getPaginate($n)","\t{","\t\treturn $this->product->paginate($n);","\t}","\t","\tpublic function store(Array $inputs)","\t{","\t\t$product = new $this->product;","\t\t","\t\t// possibilité de chiffrer des données","\t\t//$product->password = bcrypt($inputs['password']);","","\t\t$this->save($product, $inputs);","","\t\treturn $product;","\t}","","\tpublic function getById($id)","\t{","\t\treturn $this->product->findOrFail($id);","\t}","\t/* https://stackoverflow.com/questions/37313187/laravel-5-2-search-function */","\tpublic function getByString($data,$n)","\t{","\t\treturn $this->product","\t\t\t->where('title', 'LIKE', $data)","\t\t\t->orwhere('description', 'LIKE', $data)","\t\t\t->paginate($n);","\t}","\t","\t/* http://laraveldaily.com/eloquent-date-filtering-wheredate-and-other-methods/ */","\tpublic function getByDate($id)","\t{","\t\treturn $this->product->findOrFail($id);","\t}","","\tpublic function update($id, Array $inputs)","\t{","\t\t$this->save($this->getById($id), $inputs);","\t}","","\tpublic function destroy($id)","\t{","\t\t$this->getById($id)->delete();","\t}","","}","",""],"id":14}],[{"start":{"row":12,"column":5},"end":{"row":12,"column":12},"action":"remove","lines":[" Produc"],"id":15}],[{"start":{"row":12,"column":5},"end":{"row":12,"column":6},"action":"remove","lines":["t"],"id":16}],[{"start":{"row":12,"column":5},"end":{"row":12,"column":6},"action":"remove","lines":["R"],"id":17}],[{"start":{"row":12,"column":5},"end":{"row":12,"column":6},"action":"insert","lines":[" "],"id":18}],[{"start":{"row":12,"column":6},"end":{"row":12,"column":7},"action":"insert","lines":["E"],"id":19}],[{"start":{"row":12,"column":7},"end":{"row":12,"column":8},"action":"insert","lines":["m"],"id":20}],[{"start":{"row":12,"column":8},"end":{"row":12,"column":9},"action":"insert","lines":["a"],"id":21}],[{"start":{"row":12,"column":8},"end":{"row":12,"column":9},"action":"remove","lines":["a"],"id":22}],[{"start":{"row":12,"column":7},"end":{"row":12,"column":8},"action":"remove","lines":["m"],"id":23}],[{"start":{"row":12,"column":6},"end":{"row":12,"column":7},"action":"remove","lines":["E"],"id":24}],[{"start":{"row":12,"column":6},"end":{"row":12,"column":7},"action":"insert","lines":["U"],"id":25}],[{"start":{"row":12,"column":7},"end":{"row":12,"column":8},"action":"insert","lines":["s"],"id":26}],[{"start":{"row":12,"column":8},"end":{"row":12,"column":9},"action":"insert","lines":["e"],"id":27}],[{"start":{"row":12,"column":9},"end":{"row":12,"column":10},"action":"insert","lines":["r"],"id":28}],[{"start":{"row":12,"column":10},"end":{"row":12,"column":11},"action":"insert","lines":["R"],"id":29}],[{"start":{"row":4,"column":9},"end":{"row":4,"column":15},"action":"remove","lines":["roduct"],"id":30}],[{"start":{"row":4,"column":9},"end":{"row":4,"column":10},"action":"remove","lines":[";"],"id":31}],[{"start":{"row":4,"column":8},"end":{"row":4,"column":9},"action":"remove","lines":["P"],"id":32}],[{"start":{"row":4,"column":8},"end":{"row":4,"column":9},"action":"insert","lines":["U"],"id":33}],[{"start":{"row":4,"column":9},"end":{"row":4,"column":10},"action":"insert","lines":["s"],"id":34}],[{"start":{"row":4,"column":10},"end":{"row":4,"column":11},"action":"insert","lines":["e"],"id":35}],[{"start":{"row":4,"column":11},"end":{"row":4,"column":12},"action":"insert","lines":["r"],"id":36}],[{"start":{"row":0,"column":0},"end":{"row":91,"column":0},"action":"remove","lines":["<?php","","namespace App\\Repositories;","","use App\\User","","/*","TODO","","https://openclassrooms.com/courses/decouvrez-le-framework-php-laravel-1/les-ressources-2-2-et-les-erreurs","","*/","class UserRepository","{",""," protected $product;",""," public function __construct(Product $product)","\t{","\t\t$this->product = $product;","\t}","\t","","\tprivate function save(Product $product, Array $inputs)","\t{","\t\t$product->title = $inputs['title'];","\t\t$product->email = $inputs['email'];","\t\t$product->address_number = $inputs['address_number'];","\t\t$product->address_street = $inputs['address_street'];","\t\t$product->address_city = $inputs['address_city'];","\t\t$product->postal_code = $inputs['postal_code'];","\t\t$product->description = $inputs['description'];","\t\t$product->expire_at = $inputs['expire_at'];","\t\t$product->category = $inputs['category'];","\t\t","\t\tif( isset($inputs['vegan']) ){","\t\t\t//Boolean type","\t\t\t$product->vegan = $inputs['vegan'];","\t\t}","","\t\t$product->save();","\t}","","\tpublic function getPaginate($n)","\t{","\t\treturn $this->product->paginate($n);","\t}","\t","\tpublic function store(Array $inputs)","\t{","\t\t$product = new $this->product;","\t\t","\t\t// possibilité de chiffrer des données","\t\t//$product->password = bcrypt($inputs['password']);","","\t\t$this->save($product, $inputs);","","\t\treturn $product;","\t}","","\tpublic function getById($id)","\t{","\t\treturn $this->product->findOrFail($id);","\t}","\t/* https://stackoverflow.com/questions/37313187/laravel-5-2-search-function */","\tpublic function getByString($data,$n)","\t{","\t\treturn $this->product","\t\t\t->where('title', 'LIKE', $data)","\t\t\t->orwhere('description', 'LIKE', $data)","\t\t\t->paginate($n);","\t}","\t","\t/* http://laraveldaily.com/eloquent-date-filtering-wheredate-and-other-methods/ */","\tpublic function getByDate($id)","\t{","\t\treturn $this->product->findOrFail($id);","\t}","","\tpublic function update($id, Array $inputs)","\t{","\t\t$this->save($this->getById($id), $inputs);","\t}","","\tpublic function destroy($id)","\t{","\t\t$this->getById($id)->delete();","\t}","","}","",""],"id":37},{"start":{"row":0,"column":0},"end":{"row":55,"column":1},"action":"insert","lines":["<?php","","namespace App\\Repositories;","","use App\\User;","","class UserRepository","{",""," protected $user;",""," public function __construct(User $user)","\t{","\t\t$this->user = $user;","\t}","","\tprivate function save(User $user, Array $inputs)","\t{","\t\t$user->name = $inputs['name'];","\t\t$user->email = $inputs['email'];\t","\t\t$user->admin = isset($inputs['admin']);\t","","\t\t$user->save();","\t}","","\tpublic function getPaginate($n)","\t{","\t\treturn $this->user->paginate($n);","\t}","","\tpublic function store(Array $inputs)","\t{","\t\t$user = new $this->user;\t\t","\t\t$user->password = bcrypt($inputs['password']);","","\t\t$this->save($user, $inputs);","","\t\treturn $user;","\t}","","\tpublic function getById($id)","\t{","\t\treturn $this->user->findOrFail($id);","\t}","","\tpublic function update($id, Array $inputs)","\t{","\t\t$this->save($this->getById($id), $inputs);","\t}","","\tpublic function destroy($id)","\t{","\t\t$this->getById($id)->delete();","\t}","","}"]}]]},"ace":{"folds":[],"scrolltop":300,"scrollleft":0,"selection":{"start":{"row":23,"column":2},"end":{"row":23,"column":2},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511143127275,"hash":"87785b12ff48d30d9fc551766422264e50d6ac3f"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/app/User.php b/workspace/.c9/metadata/workspace/app/User.php new file mode 100644 index 0000000..5018e14 --- /dev/null +++ b/workspace/.c9/metadata/workspace/app/User.php @@ -0,0 +1 @@ +{"filter":false,"title":"User.php","tooltip":"/app/User.php","undoManager":{"mark":1,"position":1,"stack":[[{"start":{"row":6,"column":10},"end":{"row":6,"column":11},"action":"insert","lines":["s"],"id":2}],[{"start":{"row":6,"column":10},"end":{"row":6,"column":11},"action":"remove","lines":["s"],"id":3}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":18,"column":32},"end":{"row":18,"column":32},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511102724425,"hash":"e892c3a64aa6ba6e436db9ff11a628c2c16fac19"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/bonsaiie/app/Http/routes.php b/workspace/.c9/metadata/workspace/bonsaiie/app/Http/routes.php new file mode 100644 index 0000000..7ae9c58 --- /dev/null +++ b/workspace/.c9/metadata/workspace/bonsaiie/app/Http/routes.php @@ -0,0 +1 @@ +{"filter":false,"title":"routes.php","tooltip":"/bonsaiie/app/Http/routes.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":6,"column":1},"end":{"row":6,"column":1},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1508807209434,"hash":"0ec4753bb3feb8afac72c23cdff1f4f12df32ede"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/bonsaiie/public/index.php b/workspace/.c9/metadata/workspace/bonsaiie/public/index.php new file mode 100644 index 0000000..8ceb506 --- /dev/null +++ b/workspace/.c9/metadata/workspace/bonsaiie/public/index.php @@ -0,0 +1 @@ +{"filter":false,"title":"index.php","tooltip":"/bonsaiie/public/index.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1461762072000,"hash":"b41f4a5149b9cece436793ffe9b13d3144fa0980"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/bonsaiie/resources/views/header.blade.php b/workspace/.c9/metadata/workspace/bonsaiie/resources/views/header.blade.php new file mode 100644 index 0000000..cb4338e --- /dev/null +++ b/workspace/.c9/metadata/workspace/bonsaiie/resources/views/header.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"header.blade.php","tooltip":"/bonsaiie/resources/views/header.blade.php","ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":11,"column":28},"end":{"row":11,"column":28},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"hash":"97affbb35c5b15e6e071978db7fc6cc60e1fc683","undoManager":{"mark":-1,"position":-1,"stack":[]},"timestamp":1508781266821} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/bonsaiie/resources/views/index.blade.php b/workspace/.c9/metadata/workspace/bonsaiie/resources/views/index.blade.php new file mode 100644 index 0000000..694a38d --- /dev/null +++ b/workspace/.c9/metadata/workspace/bonsaiie/resources/views/index.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"index.blade.php","tooltip":"/bonsaiie/resources/views/index.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1508781266741,"hash":"5c53e72997d59abd63380a610a53941b99952dca"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/bonsaiie/resources/views/index.php b/workspace/.c9/metadata/workspace/bonsaiie/resources/views/index.php new file mode 100644 index 0000000..1e94b0b --- /dev/null +++ b/workspace/.c9/metadata/workspace/bonsaiie/resources/views/index.php @@ -0,0 +1 @@ +{"filter":false,"title":"index.php","tooltip":"/bonsaiie/resources/views/index.php","ace":{},"undoManager":{"mark":-1,"position":-1,"stack":[]},"timestamp":1508769387197,"hash":"c8251f6a94a1837f7f90bb18d781e2acfd254f31"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/bootstrap/app.php b/workspace/.c9/metadata/workspace/bootstrap/app.php new file mode 100644 index 0000000..4e35fab --- /dev/null +++ b/workspace/.c9/metadata/workspace/bootstrap/app.php @@ -0,0 +1 @@ +{"filter":false,"title":"app.php","tooltip":"/bootstrap/app.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":543.8333745002747,"scrollleft":0,"selection":{"start":{"row":43,"column":2},"end":{"row":43,"column":2},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":12,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1509143301819,"hash":"3f769f0f6e953fe4f68f488e494accfc9ba91d50"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/bootstrap/autoload.php b/workspace/.c9/metadata/workspace/bootstrap/autoload.php new file mode 100644 index 0000000..b23b7e8 --- /dev/null +++ b/workspace/.c9/metadata/workspace/bootstrap/autoload.php @@ -0,0 +1 @@ +{"filter":false,"title":"autoload.php","tooltip":"/bootstrap/autoload.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":217.1666922569275,"scrollleft":0,"selection":{"start":{"row":34,"column":0},"end":{"row":34,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":12,"state":"php-comment","mode":"ace/mode/php"}},"timestamp":1509956766612,"hash":"1b3ec5f38f034402338768130af1381b490c2d35"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/bootstrap/cache/services.php b/workspace/.c9/metadata/workspace/bootstrap/cache/services.php new file mode 100644 index 0000000..6ef63e5 --- /dev/null +++ b/workspace/.c9/metadata/workspace/bootstrap/cache/services.php @@ -0,0 +1 @@ +{"filter":false,"title":"services.php","tooltip":"/bootstrap/cache/services.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":2678.5,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":166,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1511012733498,"hash":"36044762789ff96d76ae13308a3e2bb1a2f45894"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/composer.json b/workspace/.c9/metadata/workspace/composer.json new file mode 100644 index 0000000..69bd12b --- /dev/null +++ b/workspace/.c9/metadata/workspace/composer.json @@ -0,0 +1 @@ +{"filter":false,"title":"composer.json","tooltip":"/composer.json","undoManager":{"mark":27,"position":27,"stack":[[{"start":{"row":10,"column":33},"end":{"row":11,"column":0},"action":"insert","lines":["",""],"id":11},{"start":{"row":11,"column":0},"end":{"row":11,"column":8},"action":"insert","lines":[" "]}],[{"start":{"row":11,"column":8},"end":{"row":11,"column":33},"action":"insert","lines":["\"illuminate/html\": \"5.*\","],"id":12}],[{"start":{"row":11,"column":20},"end":{"row":11,"column":24},"action":"remove","lines":["html"],"id":13},{"start":{"row":11,"column":20},"end":{"row":11,"column":21},"action":"insert","lines":["f"]}],[{"start":{"row":11,"column":21},"end":{"row":11,"column":22},"action":"insert","lines":["o"],"id":14}],[{"start":{"row":11,"column":22},"end":{"row":11,"column":23},"action":"insert","lines":["u"],"id":15}],[{"start":{"row":11,"column":23},"end":{"row":11,"column":24},"action":"insert","lines":["n"],"id":16}],[{"start":{"row":11,"column":24},"end":{"row":11,"column":25},"action":"insert","lines":["d"],"id":17}],[{"start":{"row":11,"column":25},"end":{"row":11,"column":26},"action":"insert","lines":["a"],"id":18}],[{"start":{"row":11,"column":26},"end":{"row":11,"column":27},"action":"insert","lines":["t"],"id":19}],[{"start":{"row":11,"column":27},"end":{"row":11,"column":28},"action":"insert","lines":["i"],"id":20}],[{"start":{"row":11,"column":28},"end":{"row":11,"column":29},"action":"insert","lines":["o"],"id":21}],[{"start":{"row":11,"column":29},"end":{"row":11,"column":30},"action":"insert","lines":["n"],"id":22}],[{"start":{"row":11,"column":35},"end":{"row":11,"column":36},"action":"remove","lines":["."],"id":23}],[{"start":{"row":11,"column":34},"end":{"row":11,"column":35},"action":"remove","lines":["5"],"id":24}],[{"start":{"row":11,"column":34},"end":{"row":11,"column":35},"action":"remove","lines":["*"],"id":25}],[{"start":{"row":11,"column":34},"end":{"row":11,"column":35},"action":"insert","lines":["1"],"id":26}],[{"start":{"row":11,"column":35},"end":{"row":11,"column":36},"action":"insert","lines":["."],"id":27}],[{"start":{"row":11,"column":36},"end":{"row":11,"column":37},"action":"insert","lines":["*"],"id":28}],[{"start":{"row":10,"column":33},"end":{"row":11,"column":0},"action":"insert","lines":["",""],"id":29},{"start":{"row":11,"column":0},"end":{"row":11,"column":8},"action":"insert","lines":[" "]}],[{"start":{"row":11,"column":4},"end":{"row":11,"column":8},"action":"remove","lines":[" "],"id":30}],[{"start":{"row":11,"column":0},"end":{"row":11,"column":4},"action":"remove","lines":[" "],"id":31}],[{"start":{"row":10,"column":33},"end":{"row":11,"column":0},"action":"remove","lines":["",""],"id":32}],[{"start":{"row":11,"column":20},"end":{"row":11,"column":29},"action":"remove","lines":["foundatio"],"id":33}],[{"start":{"row":11,"column":19},"end":{"row":11,"column":20},"action":"remove","lines":["/"],"id":34}],[{"start":{"row":11,"column":19},"end":{"row":11,"column":20},"action":"remove","lines":["n"],"id":35}],[{"start":{"row":11,"column":23},"end":{"row":11,"column":24},"action":"remove","lines":["1"],"id":36}],[{"start":{"row":11,"column":23},"end":{"row":11,"column":24},"action":"insert","lines":["5"],"id":37}],[{"start":{"row":10,"column":33},"end":{"row":11,"column":28},"action":"remove","lines":[""," \"illuminate\": \"5.*\","],"id":38}]]},"ace":{"folds":[],"scrolltop":259.9997253417969,"scrollleft":0,"selection":{"start":{"row":31,"column":9},"end":{"row":31,"column":9},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":17,"state":"start","mode":"ace/mode/json"}},"timestamp":1509895305382,"hash":"abf72a736ece2a448a039d7e97e77b3c58060191"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/config/app.php b/workspace/.c9/metadata/workspace/config/app.php new file mode 100644 index 0000000..9710f29 --- /dev/null +++ b/workspace/.c9/metadata/workspace/config/app.php @@ -0,0 +1 @@ +{"filter":false,"title":"app.php","tooltip":"/config/app.php","undoManager":{"mark":55,"position":55,"stack":[[{"start":{"row":187,"column":57},"end":{"row":188,"column":0},"action":"insert","lines":["",""],"id":2},{"start":{"row":188,"column":0},"end":{"row":188,"column":8},"action":"insert","lines":[" "]}],[{"start":{"row":188,"column":8},"end":{"row":188,"column":59},"action":"insert","lines":["'Input' => Illuminate\\Support\\Facades\\Input::class,"],"id":3}],[{"start":{"row":192,"column":65},"end":{"row":193,"column":0},"action":"insert","lines":["",""],"id":4},{"start":{"row":193,"column":0},"end":{"row":193,"column":8},"action":"insert","lines":[" "]}],[{"start":{"row":193,"column":8},"end":{"row":193,"column":10},"action":"insert","lines":["''"],"id":5}],[{"start":{"row":193,"column":9},"end":{"row":193,"column":10},"action":"insert","lines":["P"],"id":6}],[{"start":{"row":193,"column":10},"end":{"row":193,"column":11},"action":"insert","lines":["r"],"id":7}],[{"start":{"row":193,"column":11},"end":{"row":193,"column":12},"action":"insert","lines":["o"],"id":8}],[{"start":{"row":193,"column":12},"end":{"row":193,"column":13},"action":"insert","lines":["d"],"id":9}],[{"start":{"row":193,"column":13},"end":{"row":193,"column":14},"action":"insert","lines":["u"],"id":10}],[{"start":{"row":193,"column":14},"end":{"row":193,"column":15},"action":"insert","lines":["c"],"id":11}],[{"start":{"row":193,"column":15},"end":{"row":193,"column":16},"action":"insert","lines":["t"],"id":12}],[{"start":{"row":193,"column":16},"end":{"row":193,"column":17},"action":"remove","lines":["'"],"id":13}],[{"start":{"row":193,"column":15},"end":{"row":193,"column":16},"action":"remove","lines":["t"],"id":14}],[{"start":{"row":193,"column":14},"end":{"row":193,"column":15},"action":"remove","lines":["c"],"id":15}],[{"start":{"row":193,"column":13},"end":{"row":193,"column":14},"action":"remove","lines":["u"],"id":16}],[{"start":{"row":193,"column":12},"end":{"row":193,"column":13},"action":"remove","lines":["d"],"id":17}],[{"start":{"row":193,"column":11},"end":{"row":193,"column":12},"action":"remove","lines":["o"],"id":18}],[{"start":{"row":193,"column":10},"end":{"row":193,"column":11},"action":"remove","lines":["r"],"id":19}],[{"start":{"row":193,"column":9},"end":{"row":193,"column":10},"action":"remove","lines":["P"],"id":20}],[{"start":{"row":193,"column":8},"end":{"row":193,"column":9},"action":"remove","lines":["'"],"id":21}],[{"start":{"row":193,"column":4},"end":{"row":193,"column":8},"action":"remove","lines":[" "],"id":22}],[{"start":{"row":193,"column":0},"end":{"row":193,"column":4},"action":"remove","lines":[" "],"id":23}],[{"start":{"row":192,"column":65},"end":{"row":193,"column":0},"action":"remove","lines":["",""],"id":24}],[{"start":{"row":192,"column":65},"end":{"row":193,"column":0},"action":"insert","lines":["",""],"id":25},{"start":{"row":193,"column":0},"end":{"row":193,"column":8},"action":"insert","lines":[" "]}],[{"start":{"row":193,"column":8},"end":{"row":193,"column":10},"action":"insert","lines":["''"],"id":26}],[{"start":{"row":193,"column":9},"end":{"row":193,"column":10},"action":"insert","lines":["P"],"id":27}],[{"start":{"row":193,"column":10},"end":{"row":193,"column":11},"action":"insert","lines":["r"],"id":28}],[{"start":{"row":193,"column":11},"end":{"row":193,"column":12},"action":"insert","lines":["o"],"id":29}],[{"start":{"row":193,"column":12},"end":{"row":193,"column":13},"action":"insert","lines":["d"],"id":30}],[{"start":{"row":193,"column":13},"end":{"row":193,"column":14},"action":"insert","lines":["u"],"id":31}],[{"start":{"row":193,"column":14},"end":{"row":193,"column":15},"action":"insert","lines":["c"],"id":32}],[{"start":{"row":193,"column":15},"end":{"row":193,"column":16},"action":"insert","lines":["t"],"id":33}],[{"start":{"row":193,"column":17},"end":{"row":193,"column":18},"action":"insert","lines":[" "],"id":34}],[{"start":{"row":193,"column":18},"end":{"row":193,"column":19},"action":"insert","lines":["="],"id":35}],[{"start":{"row":193,"column":19},"end":{"row":193,"column":20},"action":"insert","lines":[">"],"id":36}],[{"start":{"row":193,"column":20},"end":{"row":193,"column":21},"action":"insert","lines":[" "],"id":37}],[{"start":{"row":193,"column":21},"end":{"row":193,"column":22},"action":"insert","lines":["A"],"id":38}],[{"start":{"row":193,"column":22},"end":{"row":193,"column":23},"action":"insert","lines":["p"],"id":39}],[{"start":{"row":193,"column":23},"end":{"row":193,"column":24},"action":"insert","lines":["p"],"id":40}],[{"start":{"row":193,"column":24},"end":{"row":193,"column":25},"action":"insert","lines":["/"],"id":41}],[{"start":{"row":193,"column":24},"end":{"row":193,"column":25},"action":"remove","lines":["/"],"id":42}],[{"start":{"row":193,"column":24},"end":{"row":193,"column":25},"action":"insert","lines":["\\"],"id":43}],[{"start":{"row":193,"column":25},"end":{"row":193,"column":26},"action":"insert","lines":["P"],"id":44}],[{"start":{"row":193,"column":26},"end":{"row":193,"column":27},"action":"insert","lines":["r"],"id":45}],[{"start":{"row":193,"column":27},"end":{"row":193,"column":28},"action":"insert","lines":["o"],"id":46}],[{"start":{"row":193,"column":25},"end":{"row":193,"column":28},"action":"remove","lines":["Pro"],"id":47},{"start":{"row":193,"column":25},"end":{"row":193,"column":32},"action":"insert","lines":["Product"]}],[{"start":{"row":193,"column":32},"end":{"row":193,"column":33},"action":"insert","lines":[":"],"id":48}],[{"start":{"row":193,"column":33},"end":{"row":193,"column":34},"action":"insert","lines":[":"],"id":49}],[{"start":{"row":193,"column":34},"end":{"row":193,"column":35},"action":"insert","lines":["c"],"id":50}],[{"start":{"row":193,"column":35},"end":{"row":193,"column":36},"action":"insert","lines":["l"],"id":51}],[{"start":{"row":193,"column":36},"end":{"row":193,"column":37},"action":"insert","lines":["a"],"id":52}],[{"start":{"row":193,"column":37},"end":{"row":193,"column":38},"action":"insert","lines":["s"],"id":53}],[{"start":{"row":193,"column":38},"end":{"row":193,"column":39},"action":"insert","lines":["s"],"id":54}],[{"start":{"row":193,"column":39},"end":{"row":193,"column":40},"action":"insert","lines":[";"],"id":55}],[{"start":{"row":193,"column":39},"end":{"row":193,"column":40},"action":"remove","lines":[";"],"id":56}],[{"start":{"row":193,"column":39},"end":{"row":193,"column":40},"action":"insert","lines":[","],"id":57}]]},"ace":{"folds":[],"scrolltop":2442.055600166321,"scrollleft":0,"selection":{"start":{"row":188,"column":8},"end":{"row":188,"column":8},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":168,"state":"php-comment","mode":"ace/mode/php"}},"timestamp":1511139802389,"hash":"1c7fc3cd50e9f4b0ca97daff86d32e7f34ff8b80"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/config/auth.php b/workspace/.c9/metadata/workspace/config/auth.php new file mode 100644 index 0000000..26e8ac3 --- /dev/null +++ b/workspace/.c9/metadata/workspace/config/auth.php @@ -0,0 +1 @@ +{"filter":false,"title":"auth.php","tooltip":"/config/auth.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":1534.5,"scrollleft":0,"selection":{"start":{"row":107,"column":0},"end":{"row":107,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":94,"state":"php-comment","mode":"ace/mode/php"}},"timestamp":1509439809285,"hash":"176040c90ee997efefaa93c44a9bbb4fe5072891"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/config/broadcasting.php b/workspace/.c9/metadata/workspace/config/broadcasting.php new file mode 100644 index 0000000..e0e3465 --- /dev/null +++ b/workspace/.c9/metadata/workspace/config/broadcasting.php @@ -0,0 +1 @@ +{"filter":false,"title":"broadcasting.php","tooltip":"/config/broadcasting.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":479,"scrollleft":0,"selection":{"start":{"row":52,"column":0},"end":{"row":52,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":28,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1509439813191,"hash":"0ca9d7946f6a2a030b6cc16cee2b1d23ed7586a2"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/config/cache.php b/workspace/.c9/metadata/workspace/config/cache.php new file mode 100644 index 0000000..2dfeeff --- /dev/null +++ b/workspace/.c9/metadata/workspace/config/cache.php @@ -0,0 +1 @@ +{"filter":false,"title":"cache.php","tooltip":"/config/cache.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":287,"scrollleft":0,"selection":{"start":{"row":40,"column":25},"end":{"row":40,"column":25},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":16,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1509956949176,"hash":"3796c0515a1a3ba430ecbee3c44688f21cedca4c"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/config/compile.php b/workspace/.c9/metadata/workspace/config/compile.php new file mode 100644 index 0000000..f457093 --- /dev/null +++ b/workspace/.c9/metadata/workspace/config/compile.php @@ -0,0 +1 @@ +{"filter":false,"title":"compile.php","tooltip":"/config/compile.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":382.5,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":22,"state":"php-comment","mode":"ace/mode/php"}},"timestamp":1511012761518,"hash":"aa12ac5c487555719e494e35c18bbdba37918956"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/config/database.php b/workspace/.c9/metadata/workspace/config/database.php new file mode 100644 index 0000000..b5960e2 --- /dev/null +++ b/workspace/.c9/metadata/workspace/config/database.php @@ -0,0 +1 @@ +{"filter":false,"title":"database.php","tooltip":"/config/database.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":501,"scrollleft":0,"selection":{"start":{"row":59,"column":41},"end":{"row":59,"column":41},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":37,"state":"php-comment","mode":"ace/mode/php"}},"timestamp":1510573362243,"hash":"1af154e2a271ffce23dfc80581b5a17ce07d6250"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/config/mail.php b/workspace/.c9/metadata/workspace/config/mail.php new file mode 100644 index 0000000..53caa81 --- /dev/null +++ b/workspace/.c9/metadata/workspace/config/mail.php @@ -0,0 +1 @@ +{"filter":false,"title":"mail.php","tooltip":"/config/mail.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":1597,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":98,"state":"php-comment","mode":"ace/mode/php"}},"timestamp":1509439820106,"hash":"5948cb5e430f3ea8705b1a19734797eda01f22a7"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/config/session.php b/workspace/.c9/metadata/workspace/config/session.php new file mode 100644 index 0000000..38c836c --- /dev/null +++ b/workspace/.c9/metadata/workspace/config/session.php @@ -0,0 +1 @@ +{"filter":false,"title":"session.php","tooltip":"/config/session.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":2478.5,"scrollleft":0,"selection":{"start":{"row":166,"column":0},"end":{"row":166,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":153,"state":"php-comment","mode":"ace/mode/php"}},"timestamp":1461762072000,"hash":"77dafa6dff2a63144bb3fbce260e92c817842a47"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/config/view.php b/workspace/.c9/metadata/workspace/config/view.php new file mode 100644 index 0000000..140f6e5 --- /dev/null +++ b/workspace/.c9/metadata/workspace/config/view.php @@ -0,0 +1 @@ +{"filter":false,"title":"view.php","tooltip":"/config/view.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509099755624,"hash":"4ddbfd75496ebef2995ab3bd4fe304ce333359b2"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/database/factories/ModelFactory.php b/workspace/.c9/metadata/workspace/database/factories/ModelFactory.php new file mode 100644 index 0000000..e53d997 --- /dev/null +++ b/workspace/.c9/metadata/workspace/database/factories/ModelFactory.php @@ -0,0 +1 @@ +{"filter":false,"title":"ModelFactory.php","tooltip":"/database/factories/ModelFactory.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":9,"state":"php-comment","mode":"ace/mode/php"}},"timestamp":1509726111486,"hash":"7c09ed2522a689bf891a6871c41a7834cc0336b2"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/database/migrations/2014_10_12_000000_create_users_table.php b/workspace/.c9/metadata/workspace/database/migrations/2014_10_12_000000_create_users_table.php new file mode 100644 index 0000000..0a6489d --- /dev/null +++ b/workspace/.c9/metadata/workspace/database/migrations/2014_10_12_000000_create_users_table.php @@ -0,0 +1 @@ +{"filter":false,"title":"2014_10_12_000000_create_users_table.php","tooltip":"/database/migrations/2014_10_12_000000_create_users_table.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":18,"column":20},"end":{"row":18,"column":20},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1510759822615,"hash":"fa1d2e026bb518091c8f816b0ef48b739db17103"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/database/migrations/2014_10_12_100000_create_password_resets_table.php b/workspace/.c9/metadata/workspace/database/migrations/2014_10_12_100000_create_password_resets_table.php new file mode 100644 index 0000000..46fb9df --- /dev/null +++ b/workspace/.c9/metadata/workspace/database/migrations/2014_10_12_100000_create_password_resets_table.php @@ -0,0 +1 @@ +{"filter":false,"title":"2014_10_12_100000_create_password_resets_table.php","tooltip":"/database/migrations/2014_10_12_100000_create_password_resets_table.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":17,"column":44},"end":{"row":17,"column":44},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509832346754,"hash":"1686c1f858a1b0b6c531b4748f2c30e547048690"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/database/migrations/2017_11_08_233536_create_product_table.php b/workspace/.c9/metadata/workspace/database/migrations/2017_11_08_233536_create_product_table.php new file mode 100644 index 0000000..51b38aa --- /dev/null +++ b/workspace/.c9/metadata/workspace/database/migrations/2017_11_08_233536_create_product_table.php @@ -0,0 +1 @@ +{"filter":false,"title":"2017_11_08_233536_create_product_table.php","tooltip":"/database/migrations/2017_11_08_233536_create_product_table.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":121.89973449707031,"scrollleft":0,"selection":{"start":{"row":26,"column":27},"end":{"row":26,"column":27},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":40,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1510841905951,"hash":"f0db76ae206eed9c2842406fd102d222cb611c4f"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/database/seeds/DatabaseSeeder.php b/workspace/.c9/metadata/workspace/database/seeds/DatabaseSeeder.php new file mode 100644 index 0000000..be3359d --- /dev/null +++ b/workspace/.c9/metadata/workspace/database/seeds/DatabaseSeeder.php @@ -0,0 +1 @@ +{"filter":false,"title":"DatabaseSeeder.php","tooltip":"/database/seeds/DatabaseSeeder.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1461762072000,"hash":"30c89f0ffab73ca2ebe1789253d1eb6d6e5ad17f"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/index.php b/workspace/.c9/metadata/workspace/index.php new file mode 100644 index 0000000..436f4aa --- /dev/null +++ b/workspace/.c9/metadata/workspace/index.php @@ -0,0 +1 @@ +{"filter":false,"title":"index.php","tooltip":"/index.php","undoManager":{"mark":37,"position":37,"stack":[[{"start":{"row":10,"column":7},"end":{"row":10,"column":8},"action":"remove","lines":["a"],"id":31,"ignore":true}],[{"start":{"row":6,"column":25},"end":{"row":7,"column":0},"action":"insert","lines":["",""],"id":32}],[{"start":{"row":7,"column":0},"end":{"row":7,"column":1},"action":"insert","lines":["e"],"id":33}],[{"start":{"row":7,"column":1},"end":{"row":7,"column":2},"action":"insert","lines":["c"],"id":34}],[{"start":{"row":7,"column":2},"end":{"row":7,"column":3},"action":"insert","lines":["h"],"id":35}],[{"start":{"row":7,"column":3},"end":{"row":7,"column":4},"action":"insert","lines":["o"],"id":36}],[{"start":{"row":7,"column":4},"end":{"row":7,"column":5},"action":"insert","lines":[" "],"id":37}],[{"start":{"row":7,"column":5},"end":{"row":7,"column":7},"action":"insert","lines":["\"\""],"id":38}],[{"start":{"row":7,"column":6},"end":{"row":7,"column":7},"action":"remove","lines":["\""],"id":39}],[{"start":{"row":7,"column":5},"end":{"row":7,"column":6},"action":"remove","lines":["\""],"id":40}],[{"start":{"row":7,"column":5},"end":{"row":7,"column":7},"action":"insert","lines":["''"],"id":41}],[{"start":{"row":7,"column":6},"end":{"row":7,"column":7},"action":"insert","lines":["Y"],"id":42}],[{"start":{"row":7,"column":7},"end":{"row":7,"column":8},"action":"insert","lines":["o"],"id":43}],[{"start":{"row":7,"column":8},"end":{"row":7,"column":9},"action":"insert","lines":["u"],"id":44}],[{"start":{"row":7,"column":9},"end":{"row":7,"column":10},"action":"insert","lines":[" "],"id":45}],[{"start":{"row":7,"column":10},"end":{"row":7,"column":11},"action":"insert","lines":["s"],"id":46}],[{"start":{"row":7,"column":11},"end":{"row":7,"column":12},"action":"insert","lines":["u"],"id":47}],[{"start":{"row":7,"column":12},"end":{"row":7,"column":13},"action":"insert","lines":["k"],"id":48}],[{"start":{"row":7,"column":13},"end":{"row":7,"column":14},"action":"insert","lines":["e"],"id":49}],[{"start":{"row":7,"column":13},"end":{"row":7,"column":14},"action":"remove","lines":["e"],"id":50}],[{"start":{"row":7,"column":12},"end":{"row":7,"column":13},"action":"remove","lines":["k"],"id":51}],[{"start":{"row":7,"column":12},"end":{"row":7,"column":13},"action":"insert","lines":["c"],"id":52}],[{"start":{"row":7,"column":13},"end":{"row":7,"column":14},"action":"insert","lines":["k"],"id":53}],[{"start":{"row":7,"column":14},"end":{"row":7,"column":15},"action":"insert","lines":[" "],"id":54}],[{"start":{"row":7,"column":15},"end":{"row":7,"column":16},"action":"insert","lines":[":"],"id":55}],[{"start":{"row":7,"column":16},"end":{"row":7,"column":17},"action":"insert","lines":[")"],"id":56}],[{"start":{"row":6,"column":6},"end":{"row":6,"column":7},"action":"insert","lines":["<"],"id":57}],[{"start":{"row":6,"column":7},"end":{"row":6,"column":8},"action":"insert","lines":[">"],"id":58}],[{"start":{"row":6,"column":7},"end":{"row":6,"column":8},"action":"insert","lines":["p"],"id":59}],[{"start":{"row":6,"column":26},"end":{"row":6,"column":27},"action":"insert","lines":["<"],"id":60}],[{"start":{"row":6,"column":27},"end":{"row":6,"column":28},"action":"insert","lines":[">"],"id":61}],[{"start":{"row":6,"column":27},"end":{"row":6,"column":28},"action":"insert","lines":["/"],"id":62}],[{"start":{"row":6,"column":28},"end":{"row":6,"column":29},"action":"insert","lines":["p"],"id":63}],[{"start":{"row":7,"column":0},"end":{"row":8,"column":0},"action":"remove","lines":["echo 'You suck :)'",""],"id":64,"ignore":true}],[{"start":{"row":6,"column":24},"end":{"row":6,"column":25},"action":"remove","lines":["d"],"id":65}],[{"start":{"row":6,"column":23},"end":{"row":6,"column":24},"action":"remove","lines":["p"],"id":66}],[{"start":{"row":6,"column":23},"end":{"row":6,"column":24},"action":"insert","lines":["b"],"id":67}],[{"start":{"row":6,"column":24},"end":{"row":6,"column":25},"action":"insert","lines":["g"],"id":68}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":10,"column":7},"end":{"row":10,"column":7},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1508769387197,"hash":"c8251f6a94a1837f7f90bb18d781e2acfd254f31"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/php.ini b/workspace/.c9/metadata/workspace/php.ini new file mode 100644 index 0000000..b2c6ac8 --- /dev/null +++ b/workspace/.c9/metadata/workspace/php.ini @@ -0,0 +1 @@ +{"filter":false,"title":"php.ini","tooltip":"/php.ini","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":19766.5,"scrollleft":0,"selection":{"start":{"row":904,"column":41},"end":{"row":904,"column":41},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":104,"state":"start","mode":"ace/mode/ini"}},"timestamp":1504183309000,"hash":"c8b4e98be9c31593363822aede534ce905efffee"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/phpunit.xml b/workspace/.c9/metadata/workspace/phpunit.xml new file mode 100644 index 0000000..0e10b25 --- /dev/null +++ b/workspace/.c9/metadata/workspace/phpunit.xml @@ -0,0 +1 @@ +{"filter":false,"title":"phpunit.xml","tooltip":"/phpunit.xml","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509099481856,"hash":"020105d25d9ff015368be6bc2988b2cc7b89cfe2"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/public/css/app.css b/workspace/.c9/metadata/workspace/public/css/app.css new file mode 100644 index 0000000..d25f66f --- /dev/null +++ b/workspace/.c9/metadata/workspace/public/css/app.css @@ -0,0 +1 @@ +{"filter":false,"title":"app.css","tooltip":"/public/css/app.css","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511012995714,"hash":"9c6b89cc975e88ef85915aa02571906f2561640c"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/public/css/bootstrap.min.css b/workspace/.c9/metadata/workspace/public/css/bootstrap.min.css new file mode 100644 index 0000000..a39fa65 --- /dev/null +++ b/workspace/.c9/metadata/workspace/public/css/bootstrap.min.css @@ -0,0 +1 @@ +{"filter":false,"title":"bootstrap.min.css","tooltip":"/public/css/bootstrap.min.css","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":126145.5625,"selection":{"start":{"row":5,"column":22098},"end":{"row":5,"column":22110},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509117639157,"hash":"3e035b1a98c46848c442529af959270bae59471b"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/public/css/custom.css b/workspace/.c9/metadata/workspace/public/css/custom.css new file mode 100644 index 0000000..ac837a5 --- /dev/null +++ b/workspace/.c9/metadata/workspace/public/css/custom.css @@ -0,0 +1 @@ +{"filter":false,"title":"custom.css","tooltip":"/public/css/custom.css","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":3097.6986083984375,"scrollleft":0,"selection":{"start":{"row":227,"column":1},"end":{"row":227,"column":1},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":214,"state":"ruleset","mode":"ace/mode/css"}},"timestamp":1509204328100,"hash":"0428343a5750d1ccdbe41e43c19b863950a8e831"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/public/css/mdb.min.css b/workspace/.c9/metadata/workspace/public/css/mdb.min.css new file mode 100644 index 0000000..bf40571 --- /dev/null +++ b/workspace/.c9/metadata/workspace/public/css/mdb.min.css @@ -0,0 +1 @@ +{"filter":false,"title":"mdb.min.css","tooltip":"/public/css/mdb.min.css","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":94491.8902797699,"scrollleft":0,"selection":{"start":{"row":6563,"column":7},"end":{"row":6563,"column":13},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":6540,"state":"ruleset","mode":"ace/mode/css"}},"timestamp":1509113133352,"hash":"d50d66a6d405d21b734a12ad973398c4d275f194"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/public/favicon.ico b/workspace/.c9/metadata/workspace/public/favicon.ico new file mode 100644 index 0000000..a29a006 --- /dev/null +++ b/workspace/.c9/metadata/workspace/public/favicon.ico @@ -0,0 +1 @@ +{"filter":false,"title":"favicon.ico","tooltip":"/public/favicon.ico","undoManager":{"mark":-1,"position":-1,"stack":[]},"imgview":{},"timestamp":1509956988265,"hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/public/img/arbreRond.png b/workspace/.c9/metadata/workspace/public/img/arbreRond.png new file mode 100644 index 0000000..a85dc78 --- /dev/null +++ b/workspace/.c9/metadata/workspace/public/img/arbreRond.png @@ -0,0 +1 @@ +{"filter":false,"title":"arbreRond.png","tooltip":"/public/img/arbreRond.png","undoManager":{"mark":-1,"position":-1,"stack":[]},"imgeditor":{},"timestamp":1510791024679,"hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/public/img/feuillesNav.jpeg b/workspace/.c9/metadata/workspace/public/img/feuillesNav.jpeg new file mode 100644 index 0000000..de24774 --- /dev/null +++ b/workspace/.c9/metadata/workspace/public/img/feuillesNav.jpeg @@ -0,0 +1 @@ +{"filter":false,"title":"feuillesNav.jpeg","tooltip":"/public/img/feuillesNav.jpeg","undoManager":{"mark":-1,"position":-1,"stack":[]},"imgeditor":{},"timestamp":1509439655895,"hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/public/index.php b/workspace/.c9/metadata/workspace/public/index.php new file mode 100644 index 0000000..cb216ca --- /dev/null +++ b/workspace/.c9/metadata/workspace/public/index.php @@ -0,0 +1 @@ +{"filter":false,"title":"index.php","tooltip":"/public/index.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":49,"column":35},"end":{"row":49,"column":35},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1508897998454,"hash":"b41f4a5149b9cece436793ffe9b13d3144fa0980"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/public/jquery/jquery.min.js b/workspace/.c9/metadata/workspace/public/jquery/jquery.min.js new file mode 100644 index 0000000..e68bf8e --- /dev/null +++ b/workspace/.c9/metadata/workspace/public/jquery/jquery.min.js @@ -0,0 +1 @@ +{"filter":false,"title":"jquery.min.js","tooltip":"/public/jquery/jquery.min.js","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":99008,"selection":{"start":{"row":3,"column":16618},"end":{"row":3,"column":16628},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1510649587882,"hash":"1055018c28ab41087ef9ccefe411606893dabea2"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/public/js/app.js b/workspace/.c9/metadata/workspace/public/js/app.js new file mode 100644 index 0000000..890a87b --- /dev/null +++ b/workspace/.c9/metadata/workspace/public/js/app.js @@ -0,0 +1 @@ +{"filter":false,"title":"app.js","tooltip":"/public/js/app.js","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511013048938,"hash":"3a1c7402172be81493110e2b49680a533043725d"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/public/js/bootstrap.js b/workspace/.c9/metadata/workspace/public/js/bootstrap.js new file mode 100644 index 0000000..3b945bd --- /dev/null +++ b/workspace/.c9/metadata/workspace/public/js/bootstrap.js @@ -0,0 +1 @@ +{"filter":false,"title":"bootstrap.js","tooltip":"/public/js/bootstrap.js","undoManager":{"mark":20,"position":20,"stack":[[{"start":{"row":24,"column":19},"end":{"row":24,"column":24},"action":"remove","lines":["false"],"id":9},{"start":{"row":24,"column":19},"end":{"row":24,"column":20},"action":"insert","lines":["t"]}],[{"start":{"row":24,"column":20},"end":{"row":24,"column":21},"action":"insert","lines":["r"],"id":10}],[{"start":{"row":24,"column":21},"end":{"row":24,"column":22},"action":"insert","lines":["u"],"id":11}],[{"start":{"row":24,"column":22},"end":{"row":24,"column":23},"action":"insert","lines":["e"],"id":12}],[{"start":{"row":24,"column":22},"end":{"row":24,"column":23},"action":"remove","lines":["e"],"id":13}],[{"start":{"row":24,"column":21},"end":{"row":24,"column":22},"action":"remove","lines":["u"],"id":14}],[{"start":{"row":24,"column":20},"end":{"row":24,"column":21},"action":"remove","lines":["r"],"id":15}],[{"start":{"row":24,"column":19},"end":{"row":24,"column":20},"action":"remove","lines":["t"],"id":16}],[{"start":{"row":24,"column":19},"end":{"row":24,"column":20},"action":"insert","lines":["f"],"id":17}],[{"start":{"row":24,"column":20},"end":{"row":24,"column":21},"action":"insert","lines":["a"],"id":18}],[{"start":{"row":24,"column":21},"end":{"row":24,"column":22},"action":"insert","lines":["l"],"id":19}],[{"start":{"row":24,"column":22},"end":{"row":24,"column":23},"action":"insert","lines":["e"],"id":20}],[{"start":{"row":24,"column":23},"end":{"row":24,"column":24},"action":"insert","lines":["="],"id":21}],[{"start":{"row":24,"column":24},"end":{"row":24,"column":25},"action":"insert","lines":["s"],"id":22}],[{"start":{"row":24,"column":25},"end":{"row":24,"column":26},"action":"insert","lines":["e"],"id":23}],[{"start":{"row":24,"column":25},"end":{"row":24,"column":26},"action":"remove","lines":["e"],"id":24}],[{"start":{"row":24,"column":24},"end":{"row":24,"column":25},"action":"remove","lines":["s"],"id":25}],[{"start":{"row":24,"column":23},"end":{"row":24,"column":24},"action":"remove","lines":["="],"id":26}],[{"start":{"row":24,"column":22},"end":{"row":24,"column":23},"action":"remove","lines":["e"],"id":27}],[{"start":{"row":24,"column":22},"end":{"row":24,"column":23},"action":"insert","lines":["s"],"id":28}],[{"start":{"row":24,"column":23},"end":{"row":24,"column":24},"action":"insert","lines":["e"],"id":29}]]},"ace":{"folds":[],"scrolltop":360,"scrollleft":0,"selection":{"start":{"row":24,"column":24},"end":{"row":24,"column":24},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":24,"state":"start","mode":"ace/mode/javascript"}},"timestamp":1510649549467,"hash":"b720f839e87435959fceb77fffb8b03c2304c5c5"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/public/robots.txt b/workspace/.c9/metadata/workspace/public/robots.txt new file mode 100644 index 0000000..1a0b03d --- /dev/null +++ b/workspace/.c9/metadata/workspace/public/robots.txt @@ -0,0 +1 @@ +{"filter":false,"title":"robots.txt","tooltip":"/public/robots.txt","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511013021042,"hash":"c47ccf1a49c24cc5842430aa75c72ef491292412"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/public/web.config b/workspace/.c9/metadata/workspace/public/web.config new file mode 100644 index 0000000..aa124cc --- /dev/null +++ b/workspace/.c9/metadata/workspace/public/web.config @@ -0,0 +1 @@ +{"filter":false,"title":"web.config","tooltip":"/public/web.config","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509099524248,"hash":"a74db3869daa64568f2c44afe2a008631109a5c4"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/readme.md b/workspace/.c9/metadata/workspace/readme.md new file mode 100644 index 0000000..c98a0a5 --- /dev/null +++ b/workspace/.c9/metadata/workspace/readme.md @@ -0,0 +1 @@ +{"filter":false,"title":"readme.md","tooltip":"/readme.md","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509099482732,"hash":"4d751e090813fea6c14191826c5ee19edc5812c0"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/reports/iteration_2.md b/workspace/.c9/metadata/workspace/reports/iteration_2.md new file mode 100644 index 0000000..3089254 --- /dev/null +++ b/workspace/.c9/metadata/workspace/reports/iteration_2.md @@ -0,0 +1 @@ +{"filter":false,"title":"iteration_2.md","tooltip":"/reports/iteration_2.md","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":58,"column":5},"end":{"row":58,"column":6},"action":"insert","lines":["f"],"id":730}],[{"start":{"row":58,"column":6},"end":{"row":58,"column":7},"action":"insert","lines":["é"],"id":731}],[{"start":{"row":58,"column":7},"end":{"row":58,"column":8},"action":"insert","lines":["r"],"id":732}],[{"start":{"row":58,"column":8},"end":{"row":58,"column":9},"action":"insert","lines":["e"],"id":733}],[{"start":{"row":58,"column":9},"end":{"row":58,"column":10},"action":"insert","lines":["n"],"id":734}],[{"start":{"row":58,"column":10},"end":{"row":58,"column":11},"action":"insert","lines":["c"],"id":735}],[{"start":{"row":58,"column":11},"end":{"row":58,"column":12},"action":"insert","lines":["e"],"id":736}],[{"start":{"row":58,"column":12},"end":{"row":58,"column":13},"action":"insert","lines":[" "],"id":737}],[{"start":{"row":58,"column":13},"end":{"row":58,"column":14},"action":"insert","lines":["c"],"id":738}],[{"start":{"row":58,"column":14},"end":{"row":58,"column":15},"action":"insert","lines":["e"],"id":739}],[{"start":{"row":58,"column":15},"end":{"row":58,"column":16},"action":"insert","lines":[" "],"id":740}],[{"start":{"row":58,"column":16},"end":{"row":58,"column":17},"action":"insert","lines":["m"],"id":741}],[{"start":{"row":58,"column":17},"end":{"row":58,"column":18},"action":"insert","lines":["i"],"id":742}],[{"start":{"row":58,"column":18},"end":{"row":58,"column":19},"action":"insert","lines":["d"],"id":743}],[{"start":{"row":58,"column":19},"end":{"row":58,"column":20},"action":"insert","lines":["i"],"id":744}],[{"start":{"row":58,"column":20},"end":{"row":59,"column":0},"action":"insert","lines":["",""],"id":745}],[{"start":{"row":59,"column":0},"end":{"row":59,"column":1},"action":"insert","lines":[">"],"id":746}],[{"start":{"row":59,"column":1},"end":{"row":59,"column":2},"action":"insert","lines":["C"],"id":747}],[{"start":{"row":59,"column":1},"end":{"row":59,"column":2},"action":"remove","lines":["C"],"id":748}],[{"start":{"row":59,"column":1},"end":{"row":59,"column":2},"action":"insert","lines":[" "],"id":749}],[{"start":{"row":59,"column":2},"end":{"row":59,"column":3},"action":"insert","lines":["C"],"id":750}],[{"start":{"row":59,"column":3},"end":{"row":59,"column":4},"action":"insert","lines":["o"],"id":751}],[{"start":{"row":59,"column":4},"end":{"row":59,"column":5},"action":"insert","lines":["n"],"id":752}],[{"start":{"row":59,"column":5},"end":{"row":59,"column":6},"action":"insert","lines":["f"],"id":753}],[{"start":{"row":59,"column":6},"end":{"row":59,"column":7},"action":"insert","lines":["é"],"id":754}],[{"start":{"row":59,"column":7},"end":{"row":59,"column":8},"action":"insert","lines":["r"],"id":755}],[{"start":{"row":59,"column":8},"end":{"row":59,"column":9},"action":"insert","lines":["e"],"id":756}],[{"start":{"row":59,"column":9},"end":{"row":59,"column":10},"action":"insert","lines":["n"],"id":757}],[{"start":{"row":59,"column":10},"end":{"row":59,"column":11},"action":"insert","lines":["c"],"id":758}],[{"start":{"row":59,"column":11},"end":{"row":59,"column":12},"action":"insert","lines":["e"],"id":759}],[{"start":{"row":59,"column":12},"end":{"row":59,"column":13},"action":"insert","lines":[" "],"id":760}],[{"start":{"row":59,"column":13},"end":{"row":59,"column":14},"action":"insert","lines":["m"],"id":761}],[{"start":{"row":59,"column":14},"end":{"row":59,"column":15},"action":"insert","lines":["a"],"id":762}],[{"start":{"row":59,"column":15},"end":{"row":59,"column":16},"action":"insert","lines":["i"],"id":763}],[{"start":{"row":59,"column":16},"end":{"row":59,"column":17},"action":"insert","lines":["n"],"id":764}],[{"start":{"row":59,"column":17},"end":{"row":59,"column":18},"action":"insert","lines":["t"],"id":765}],[{"start":{"row":59,"column":18},"end":{"row":59,"column":19},"action":"insert","lines":["e"],"id":766}],[{"start":{"row":59,"column":19},"end":{"row":59,"column":20},"action":"insert","lines":["n"],"id":767}],[{"start":{"row":59,"column":20},"end":{"row":59,"column":21},"action":"insert","lines":["a"],"id":768}],[{"start":{"row":59,"column":21},"end":{"row":59,"column":22},"action":"insert","lines":["n"],"id":769}],[{"start":{"row":59,"column":22},"end":{"row":59,"column":23},"action":"insert","lines":["t"],"id":770}],[{"start":{"row":59,"column":23},"end":{"row":60,"column":0},"action":"insert","lines":["",""],"id":771}],[{"start":{"row":60,"column":0},"end":{"row":60,"column":1},"action":"insert","lines":[">"],"id":772}],[{"start":{"row":60,"column":1},"end":{"row":60,"column":2},"action":"insert","lines":[" "],"id":773}],[{"start":{"row":60,"column":2},"end":{"row":60,"column":3},"action":"insert","lines":["C"],"id":774}],[{"start":{"row":60,"column":3},"end":{"row":60,"column":4},"action":"insert","lines":["o"],"id":775}],[{"start":{"row":60,"column":4},"end":{"row":60,"column":5},"action":"insert","lines":["n"],"id":776}],[{"start":{"row":60,"column":5},"end":{"row":60,"column":6},"action":"insert","lines":["f"],"id":777}],[{"start":{"row":60,"column":6},"end":{"row":60,"column":7},"action":"insert","lines":["é"],"id":778}],[{"start":{"row":60,"column":7},"end":{"row":60,"column":8},"action":"insert","lines":["r"],"id":779}],[{"start":{"row":60,"column":8},"end":{"row":60,"column":9},"action":"insert","lines":["e"],"id":780}],[{"start":{"row":60,"column":9},"end":{"row":60,"column":10},"action":"insert","lines":["n"],"id":781}],[{"start":{"row":60,"column":10},"end":{"row":60,"column":11},"action":"insert","lines":["c"],"id":782}],[{"start":{"row":60,"column":11},"end":{"row":60,"column":12},"action":"insert","lines":["e"],"id":783}],[{"start":{"row":60,"column":12},"end":{"row":60,"column":13},"action":"insert","lines":[" "],"id":784}],[{"start":{"row":60,"column":13},"end":{"row":60,"column":14},"action":"insert","lines":["d"],"id":785}],[{"start":{"row":60,"column":14},"end":{"row":60,"column":15},"action":"insert","lines":["a"],"id":786}],[{"start":{"row":60,"column":15},"end":{"row":60,"column":16},"action":"insert","lines":["n"],"id":787}],[{"start":{"row":60,"column":16},"end":{"row":60,"column":17},"action":"insert","lines":["s"],"id":788}],[{"start":{"row":60,"column":17},"end":{"row":60,"column":18},"action":"insert","lines":[" "],"id":789}],[{"start":{"row":60,"column":18},"end":{"row":60,"column":19},"action":"insert","lines":["5"],"id":790}],[{"start":{"row":60,"column":19},"end":{"row":60,"column":20},"action":"insert","lines":[" "],"id":791}],[{"start":{"row":60,"column":20},"end":{"row":60,"column":21},"action":"insert","lines":["m"],"id":792}],[{"start":{"row":60,"column":21},"end":{"row":60,"column":22},"action":"insert","lines":["i"],"id":793}],[{"start":{"row":60,"column":22},"end":{"row":60,"column":23},"action":"insert","lines":["n"],"id":794}],[{"start":{"row":58,"column":0},"end":{"row":61,"column":0},"action":"remove","lines":["> Conférence ce midi","> Conférence maintenant","> Conférence dans 5 min",""],"id":795,"ignore":true}],[{"start":{"row":49,"column":9},"end":{"row":49,"column":10},"action":"remove","lines":[" "],"id":796}],[{"start":{"row":49,"column":8},"end":{"row":49,"column":9},"action":"remove","lines":["-"],"id":797}],[{"start":{"row":49,"column":4},"end":{"row":49,"column":8},"action":"remove","lines":[" "],"id":798}],[{"start":{"row":49,"column":3},"end":{"row":49,"column":4},"action":"remove","lines":[" "],"id":799}],[{"start":{"row":49,"column":2},"end":{"row":49,"column":3},"action":"remove","lines":[" "],"id":800}],[{"start":{"row":49,"column":1},"end":{"row":49,"column":2},"action":"remove","lines":[" "],"id":801}],[{"start":{"row":49,"column":0},"end":{"row":49,"column":1},"action":"remove","lines":[">"],"id":802}],[{"start":{"row":48,"column":41},"end":{"row":49,"column":0},"action":"remove","lines":["",""],"id":803}],[{"start":{"row":62,"column":17},"end":{"row":62,"column":29},"action":"remove","lines":["les annonces"],"id":804,"ignore":true}],[{"start":{"row":62,"column":11},"end":{"row":62,"column":17},"action":"remove","lines":[" dans "],"id":805,"ignore":true}],[{"start":{"row":62,"column":2},"end":{"row":62,"column":11},"action":"remove","lines":["Recherche"],"id":806,"ignore":true}],[{"start":{"row":61,"column":38},"end":{"row":62,"column":2},"action":"remove","lines":["","> "],"id":807,"ignore":true}],[{"start":{"row":57,"column":0},"end":{"row":57,"column":1},"action":"insert","lines":["t"],"id":808,"ignore":true}],[{"start":{"row":63,"column":1},"end":{"row":63,"column":2},"action":"insert","lines":[" "],"id":809,"ignore":true}],[{"start":{"row":57,"column":0},"end":{"row":57,"column":1},"action":"remove","lines":["t"],"id":810,"ignore":true}],[{"start":{"row":57,"column":0},"end":{"row":57,"column":1},"action":"insert","lines":["<"],"id":811,"ignore":true}],[{"start":{"row":57,"column":0},"end":{"row":57,"column":1},"action":"remove","lines":["<"],"id":812,"ignore":true}],[{"start":{"row":57,"column":0},"end":{"row":57,"column":1},"action":"insert","lines":[">"],"id":813,"ignore":true}],[{"start":{"row":63,"column":2},"end":{"row":63,"column":3},"action":"insert","lines":["D"],"id":814,"ignore":true}],[{"start":{"row":63,"column":3},"end":{"row":63,"column":7},"action":"insert","lines":["eman"],"id":815,"ignore":true}],[{"start":{"row":63,"column":7},"end":{"row":63,"column":13},"action":"insert","lines":["de de "],"id":816,"ignore":true}],[{"start":{"row":63,"column":13},"end":{"row":63,"column":15},"action":"insert","lines":["ré"],"id":817,"ignore":true}],[{"start":{"row":63,"column":15},"end":{"row":63,"column":17},"action":"insert","lines":["se"],"id":818,"ignore":true}],[{"start":{"row":63,"column":17},"end":{"row":63,"column":21},"action":"insert","lines":["rvat"],"id":819,"ignore":true}],[{"start":{"row":63,"column":21},"end":{"row":63,"column":24},"action":"insert","lines":["ion"],"id":820,"ignore":true}],[{"start":{"row":63,"column":24},"end":{"row":64,"column":1},"action":"insert","lines":["",">"],"id":821,"ignore":true}],[{"start":{"row":64,"column":1},"end":{"row":64,"column":2},"action":"insert","lines":[" "],"id":822,"ignore":true}],[{"start":{"row":64,"column":2},"end":{"row":64,"column":3},"action":"insert","lines":["I"],"id":823,"ignore":true}],[{"start":{"row":64,"column":2},"end":{"row":64,"column":3},"action":"remove","lines":["I"],"id":824,"ignore":true},{"start":{"row":64,"column":2},"end":{"row":64,"column":3},"action":"insert","lines":["U"]}],[{"start":{"row":64,"column":3},"end":{"row":64,"column":4},"action":"insert","lines":["o"],"id":825,"ignore":true}],[{"start":{"row":64,"column":3},"end":{"row":64,"column":4},"action":"remove","lines":["o"],"id":826,"ignore":true},{"start":{"row":64,"column":3},"end":{"row":64,"column":4},"action":"insert","lines":["p"]}],[{"start":{"row":64,"column":4},"end":{"row":64,"column":7},"action":"insert","lines":["loa"],"id":827,"ignore":true}],[{"start":{"row":64,"column":7},"end":{"row":64,"column":10},"action":"insert","lines":["d d"],"id":828,"ignore":true}],[{"start":{"row":64,"column":10},"end":{"row":64,"column":13},"action":"insert","lines":["'im"],"id":829,"ignore":true}],[{"start":{"row":64,"column":13},"end":{"row":64,"column":16},"action":"insert","lines":["age"],"id":830,"ignore":true}]]},"ace":{"folds":[],"scrolltop":367,"scrollleft":0,"selection":{"start":{"row":48,"column":41},"end":{"row":48,"column":41},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":29,"state":"start","mode":"ace/mode/markdown"}},"timestamp":1511174236686,"hash":"6520d4a5949ed2ed2e1bc8b11b965e7e26b1199c"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/assets/sass/app.scss b/workspace/.c9/metadata/workspace/resources/assets/sass/app.scss new file mode 100644 index 0000000..4db5d84 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/assets/sass/app.scss @@ -0,0 +1 @@ +{"filter":false,"title":"app.scss","tooltip":"/resources/assets/sass/app.scss","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509100132443,"hash":"f485929b1b95fed8cf220ad7273c05e393bf405f"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/lang/en/auth.php b/workspace/.c9/metadata/workspace/resources/lang/en/auth.php new file mode 100644 index 0000000..6d27275 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/lang/en/auth.php @@ -0,0 +1 @@ +{"filter":false,"title":"auth.php","tooltip":"/resources/lang/en/auth.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1508923245562,"hash":"b32d466f3d7ed1c67ddad7770056fdda2f2a367f"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/lang/en/passwords.php b/workspace/.c9/metadata/workspace/resources/lang/en/passwords.php new file mode 100644 index 0000000..322ac30 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/lang/en/passwords.php @@ -0,0 +1 @@ +{"filter":false,"title":"passwords.php","tooltip":"/resources/lang/en/passwords.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":15,"column":81},"end":{"row":15,"column":81},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509896124472,"hash":"5bf9f21385f78c5be29a9a05a8b08cd11fb42874"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/lang/en/validation.php b/workspace/.c9/metadata/workspace/resources/lang/en/validation.php new file mode 100644 index 0000000..ff11a85 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/lang/en/validation.php @@ -0,0 +1 @@ +{"filter":false,"title":"validation.php","tooltip":"/resources/lang/en/validation.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":20,"column":39},"end":{"row":20,"column":39},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509896125353,"hash":"632a7d469effc0274daf8d9b7070c75c8b8795ff"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/lang/fr/auth.php b/workspace/.c9/metadata/workspace/resources/lang/fr/auth.php new file mode 100644 index 0000000..db39f60 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/lang/fr/auth.php @@ -0,0 +1 @@ +{"filter":false,"title":"auth.php","tooltip":"/resources/lang/fr/auth.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":18,"column":20},"end":{"row":18,"column":21},"action":"insert","lines":["r"],"id":3}],[{"start":{"row":18,"column":21},"end":{"row":18,"column":22},"action":"insert","lines":["o"],"id":4}],[{"start":{"row":18,"column":22},"end":{"row":18,"column":23},"action":"insert","lines":["p"],"id":5}],[{"start":{"row":18,"column":23},"end":{"row":18,"column":24},"action":"insert","lines":[" "],"id":6}],[{"start":{"row":18,"column":24},"end":{"row":18,"column":25},"action":"insert","lines":["d"],"id":7}],[{"start":{"row":18,"column":25},"end":{"row":18,"column":26},"action":"insert","lines":["e"],"id":8}],[{"start":{"row":18,"column":26},"end":{"row":18,"column":27},"action":"insert","lines":[" "],"id":9}],[{"start":{"row":18,"column":27},"end":{"row":18,"column":28},"action":"insert","lines":["t"],"id":10}],[{"start":{"row":18,"column":28},"end":{"row":18,"column":29},"action":"insert","lines":["e"],"id":11}],[{"start":{"row":18,"column":29},"end":{"row":18,"column":30},"action":"insert","lines":["n"],"id":12}],[{"start":{"row":18,"column":30},"end":{"row":18,"column":31},"action":"insert","lines":["t"],"id":13}],[{"start":{"row":18,"column":31},"end":{"row":18,"column":32},"action":"insert","lines":["a"],"id":14}],[{"start":{"row":18,"column":32},"end":{"row":18,"column":33},"action":"insert","lines":["t"],"id":15}],[{"start":{"row":18,"column":33},"end":{"row":18,"column":34},"action":"insert","lines":["i"],"id":16}],[{"start":{"row":18,"column":34},"end":{"row":18,"column":35},"action":"insert","lines":["v"],"id":17}],[{"start":{"row":18,"column":35},"end":{"row":18,"column":36},"action":"insert","lines":["e"],"id":18}],[{"start":{"row":18,"column":36},"end":{"row":18,"column":37},"action":"insert","lines":["s"],"id":19}],[{"start":{"row":18,"column":37},"end":{"row":18,"column":38},"action":"insert","lines":[" "],"id":20}],[{"start":{"row":18,"column":38},"end":{"row":18,"column":39},"action":"insert","lines":["d"],"id":21}],[{"start":{"row":18,"column":39},"end":{"row":18,"column":40},"action":"insert","lines":["e"],"id":22}],[{"start":{"row":18,"column":40},"end":{"row":18,"column":41},"action":"insert","lines":[" "],"id":23}],[{"start":{"row":18,"column":41},"end":{"row":18,"column":42},"action":"insert","lines":["c"],"id":24}],[{"start":{"row":18,"column":42},"end":{"row":18,"column":43},"action":"insert","lines":["o"],"id":25}],[{"start":{"row":18,"column":43},"end":{"row":18,"column":44},"action":"insert","lines":["n"],"id":26}],[{"start":{"row":18,"column":44},"end":{"row":18,"column":45},"action":"insert","lines":["n"],"id":27}],[{"start":{"row":18,"column":45},"end":{"row":18,"column":46},"action":"insert","lines":["e"],"id":28}],[{"start":{"row":18,"column":46},"end":{"row":18,"column":47},"action":"insert","lines":["x"],"id":29}],[{"start":{"row":18,"column":47},"end":{"row":18,"column":48},"action":"insert","lines":["i"],"id":30}],[{"start":{"row":18,"column":48},"end":{"row":18,"column":49},"action":"insert","lines":["o"],"id":31}],[{"start":{"row":18,"column":49},"end":{"row":18,"column":50},"action":"insert","lines":["n"],"id":32}],[{"start":{"row":18,"column":52},"end":{"row":18,"column":71},"action":"remove","lines":["Please try again in"],"id":33},{"start":{"row":18,"column":52},"end":{"row":18,"column":53},"action":"insert","lines":["R"]}],[{"start":{"row":18,"column":53},"end":{"row":18,"column":54},"action":"insert","lines":["é"],"id":34}],[{"start":{"row":18,"column":54},"end":{"row":18,"column":55},"action":"insert","lines":["e"],"id":35}],[{"start":{"row":18,"column":55},"end":{"row":18,"column":56},"action":"insert","lines":["s"],"id":36}],[{"start":{"row":18,"column":56},"end":{"row":18,"column":57},"action":"insert","lines":["s"],"id":37}],[{"start":{"row":18,"column":57},"end":{"row":18,"column":58},"action":"insert","lines":["a"],"id":38}],[{"start":{"row":18,"column":58},"end":{"row":18,"column":59},"action":"insert","lines":["y"],"id":39}],[{"start":{"row":18,"column":59},"end":{"row":18,"column":60},"action":"insert","lines":["e"],"id":40}],[{"start":{"row":18,"column":60},"end":{"row":18,"column":61},"action":"insert","lines":["z"],"id":41}],[{"start":{"row":18,"column":61},"end":{"row":18,"column":62},"action":"insert","lines":[" "],"id":42}],[{"start":{"row":18,"column":62},"end":{"row":18,"column":63},"action":"insert","lines":["d"],"id":43}],[{"start":{"row":18,"column":63},"end":{"row":18,"column":64},"action":"insert","lines":["a"],"id":44}],[{"start":{"row":18,"column":64},"end":{"row":18,"column":65},"action":"insert","lines":["n"],"id":45}],[{"start":{"row":18,"column":65},"end":{"row":18,"column":66},"action":"insert","lines":["s"],"id":46}],[{"start":{"row":18,"column":82},"end":{"row":18,"column":83},"action":"insert","lines":["e"],"id":47}],[{"start":{"row":17,"column":17},"end":{"row":17,"column":59},"action":"remove","lines":["These credentials do not match our records"],"id":48},{"start":{"row":17,"column":17},"end":{"row":17,"column":18},"action":"insert","lines":["L"]}],[{"start":{"row":17,"column":18},"end":{"row":17,"column":19},"action":"insert","lines":["e"],"id":49}],[{"start":{"row":17,"column":19},"end":{"row":17,"column":20},"action":"insert","lines":["s"],"id":50}],[{"start":{"row":17,"column":20},"end":{"row":17,"column":21},"action":"insert","lines":[" "],"id":51}],[{"start":{"row":17,"column":21},"end":{"row":17,"column":22},"action":"insert","lines":["i"],"id":52}],[{"start":{"row":17,"column":22},"end":{"row":17,"column":23},"action":"insert","lines":["n"],"id":53}],[{"start":{"row":17,"column":23},"end":{"row":17,"column":24},"action":"insert","lines":["f"],"id":54}],[{"start":{"row":17,"column":24},"end":{"row":17,"column":25},"action":"insert","lines":["o"],"id":55}],[{"start":{"row":17,"column":25},"end":{"row":17,"column":26},"action":"insert","lines":["r"],"id":56}],[{"start":{"row":17,"column":26},"end":{"row":17,"column":27},"action":"insert","lines":["m"],"id":57}],[{"start":{"row":17,"column":27},"end":{"row":17,"column":28},"action":"insert","lines":["a"],"id":58}],[{"start":{"row":17,"column":28},"end":{"row":17,"column":29},"action":"insert","lines":["t"],"id":59}],[{"start":{"row":17,"column":29},"end":{"row":17,"column":30},"action":"insert","lines":["i"],"id":60}],[{"start":{"row":17,"column":30},"end":{"row":17,"column":31},"action":"insert","lines":["o"],"id":61}],[{"start":{"row":17,"column":31},"end":{"row":17,"column":32},"action":"insert","lines":["n"],"id":62}],[{"start":{"row":17,"column":32},"end":{"row":17,"column":33},"action":"insert","lines":["s"],"id":63}],[{"start":{"row":17,"column":32},"end":{"row":17,"column":33},"action":"remove","lines":["s"],"id":64}],[{"start":{"row":17,"column":32},"end":{"row":17,"column":33},"action":"insert","lines":["s"],"id":65}],[{"start":{"row":17,"column":33},"end":{"row":17,"column":34},"action":"insert","lines":[" "],"id":66}],[{"start":{"row":17,"column":34},"end":{"row":17,"column":35},"action":"insert","lines":["r"],"id":67}],[{"start":{"row":17,"column":35},"end":{"row":17,"column":36},"action":"insert","lines":["e"],"id":68}],[{"start":{"row":17,"column":36},"end":{"row":17,"column":37},"action":"insert","lines":["n"],"id":69}],[{"start":{"row":17,"column":37},"end":{"row":17,"column":38},"action":"insert","lines":["s"],"id":70}],[{"start":{"row":17,"column":38},"end":{"row":17,"column":39},"action":"insert","lines":["e"],"id":71}],[{"start":{"row":17,"column":39},"end":{"row":17,"column":40},"action":"insert","lines":["i"],"id":72}],[{"start":{"row":17,"column":40},"end":{"row":17,"column":41},"action":"insert","lines":["g"],"id":73}],[{"start":{"row":17,"column":41},"end":{"row":17,"column":42},"action":"insert","lines":["n"],"id":74}],[{"start":{"row":17,"column":42},"end":{"row":17,"column":43},"action":"insert","lines":["é"],"id":75}],[{"start":{"row":17,"column":43},"end":{"row":17,"column":44},"action":"insert","lines":["e"],"id":76}],[{"start":{"row":17,"column":44},"end":{"row":17,"column":45},"action":"insert","lines":["s"],"id":77}],[{"start":{"row":17,"column":45},"end":{"row":17,"column":46},"action":"insert","lines":[" "],"id":78}],[{"start":{"row":17,"column":46},"end":{"row":17,"column":47},"action":"insert","lines":["d"],"id":79}],[{"start":{"row":17,"column":47},"end":{"row":17,"column":48},"action":"insert","lines":["e"],"id":80}],[{"start":{"row":17,"column":48},"end":{"row":17,"column":49},"action":"insert","lines":[" "],"id":81}],[{"start":{"row":17,"column":48},"end":{"row":17,"column":49},"action":"remove","lines":[" "],"id":82}],[{"start":{"row":17,"column":47},"end":{"row":17,"column":48},"action":"remove","lines":["e"],"id":83}],[{"start":{"row":17,"column":46},"end":{"row":17,"column":47},"action":"remove","lines":["d"],"id":84}],[{"start":{"row":17,"column":46},"end":{"row":17,"column":47},"action":"insert","lines":["n"],"id":85}],[{"start":{"row":17,"column":47},"end":{"row":17,"column":48},"action":"insert","lines":["e"],"id":86}],[{"start":{"row":17,"column":48},"end":{"row":17,"column":49},"action":"insert","lines":[" "],"id":87}],[{"start":{"row":17,"column":49},"end":{"row":17,"column":50},"action":"insert","lines":["s"],"id":88}],[{"start":{"row":17,"column":50},"end":{"row":17,"column":51},"action":"insert","lines":["o"],"id":89}],[{"start":{"row":17,"column":51},"end":{"row":17,"column":52},"action":"insert","lines":["n"],"id":90}],[{"start":{"row":17,"column":52},"end":{"row":17,"column":53},"action":"insert","lines":["t"],"id":91}],[{"start":{"row":17,"column":53},"end":{"row":17,"column":54},"action":"insert","lines":[" "],"id":92}],[{"start":{"row":17,"column":54},"end":{"row":17,"column":55},"action":"insert","lines":["p"],"id":93}],[{"start":{"row":17,"column":55},"end":{"row":17,"column":56},"action":"insert","lines":["a"],"id":94}],[{"start":{"row":17,"column":56},"end":{"row":17,"column":57},"action":"insert","lines":["s"],"id":95}],[{"start":{"row":17,"column":57},"end":{"row":17,"column":58},"action":"insert","lines":[" "],"id":96}],[{"start":{"row":17,"column":58},"end":{"row":17,"column":59},"action":"insert","lines":["v"],"id":97}],[{"start":{"row":17,"column":59},"end":{"row":17,"column":60},"action":"insert","lines":["a"],"id":98}],[{"start":{"row":17,"column":60},"end":{"row":17,"column":61},"action":"insert","lines":["l"],"id":99}],[{"start":{"row":17,"column":61},"end":{"row":17,"column":62},"action":"insert","lines":["i"],"id":100}],[{"start":{"row":17,"column":62},"end":{"row":17,"column":63},"action":"insert","lines":["d"],"id":101}],[{"start":{"row":17,"column":63},"end":{"row":17,"column":64},"action":"insert","lines":["e"],"id":102}],[{"start":{"row":17,"column":64},"end":{"row":17,"column":65},"action":"insert","lines":["s"],"id":103}]]},"ace":{"folds":[],"scrolltop":56.05556011199951,"scrollleft":0,"selection":{"start":{"row":17,"column":65},"end":{"row":17,"column":65},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":2,"state":"php-start","mode":"ace/mode/php"}},"timestamp":1511055197762,"hash":"9313132d70dd9e7f5a6effec46077ed20251561d"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/lang/fr/pagination.php b/workspace/.c9/metadata/workspace/resources/lang/fr/pagination.php new file mode 100644 index 0000000..1ae427c --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/lang/fr/pagination.php @@ -0,0 +1 @@ +{"filter":false,"title":"pagination.php","tooltip":"/resources/lang/fr/pagination.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":9,"scrollleft":0,"selection":{"start":{"row":15,"column":18},"end":{"row":15,"column":38},"isBackwards":true},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511055241624,"hash":"3d09898819dc14f1c5da6b849a4c0bec414f94f4"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/lang/fr/passwords.php b/workspace/.c9/metadata/workspace/resources/lang/fr/passwords.php new file mode 100644 index 0000000..e7c0f84 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/lang/fr/passwords.php @@ -0,0 +1 @@ +{"filter":false,"title":"passwords.php","tooltip":"/resources/lang/fr/passwords.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":18,"column":40},"end":{"row":18,"column":41},"action":"insert","lines":["e"],"id":204}],[{"start":{"row":18,"column":41},"end":{"row":18,"column":42},"action":"insert","lines":[" "],"id":205}],[{"start":{"row":18,"column":42},"end":{"row":18,"column":43},"action":"insert","lines":["m"],"id":206}],[{"start":{"row":18,"column":43},"end":{"row":18,"column":44},"action":"insert","lines":["o"],"id":207}],[{"start":{"row":18,"column":44},"end":{"row":18,"column":45},"action":"insert","lines":["t"],"id":208}],[{"start":{"row":18,"column":45},"end":{"row":18,"column":46},"action":"insert","lines":[" "],"id":209}],[{"start":{"row":18,"column":46},"end":{"row":18,"column":47},"action":"insert","lines":["d"],"id":210}],[{"start":{"row":18,"column":47},"end":{"row":18,"column":48},"action":"insert","lines":["e"],"id":211}],[{"start":{"row":18,"column":48},"end":{"row":18,"column":49},"action":"insert","lines":[" "],"id":212}],[{"start":{"row":18,"column":49},"end":{"row":18,"column":50},"action":"insert","lines":["p"],"id":213}],[{"start":{"row":18,"column":50},"end":{"row":18,"column":51},"action":"insert","lines":["a"],"id":214}],[{"start":{"row":18,"column":51},"end":{"row":18,"column":52},"action":"insert","lines":["s"],"id":215}],[{"start":{"row":18,"column":52},"end":{"row":18,"column":53},"action":"insert","lines":["s"],"id":216}],[{"start":{"row":18,"column":53},"end":{"row":18,"column":54},"action":"insert","lines":["e"],"id":217}],[{"start":{"row":18,"column":54},"end":{"row":18,"column":55},"action":"insert","lines":[" "],"id":218}],[{"start":{"row":18,"column":55},"end":{"row":18,"column":56},"action":"insert","lines":["e"],"id":219}],[{"start":{"row":18,"column":56},"end":{"row":18,"column":57},"action":"insert","lines":["s"],"id":220}],[{"start":{"row":18,"column":57},"end":{"row":18,"column":58},"action":"insert","lines":["t"],"id":221}],[{"start":{"row":18,"column":58},"end":{"row":18,"column":59},"action":"insert","lines":[" "],"id":222}],[{"start":{"row":18,"column":59},"end":{"row":18,"column":60},"action":"insert","lines":["i"],"id":223}],[{"start":{"row":18,"column":60},"end":{"row":18,"column":61},"action":"insert","lines":["n"],"id":224}],[{"start":{"row":18,"column":61},"end":{"row":18,"column":62},"action":"insert","lines":["v"],"id":225}],[{"start":{"row":18,"column":62},"end":{"row":18,"column":63},"action":"insert","lines":["a"],"id":226}],[{"start":{"row":18,"column":63},"end":{"row":18,"column":64},"action":"insert","lines":["l"],"id":227}],[{"start":{"row":18,"column":64},"end":{"row":18,"column":65},"action":"insert","lines":["i"],"id":228}],[{"start":{"row":18,"column":65},"end":{"row":18,"column":66},"action":"insert","lines":["d"],"id":229}],[{"start":{"row":18,"column":66},"end":{"row":18,"column":67},"action":"insert","lines":["e"],"id":230}],[{"start":{"row":19,"column":15},"end":{"row":19,"column":60},"action":"remove","lines":["We can't find a user with that e-mail address"],"id":333},{"start":{"row":19,"column":15},"end":{"row":19,"column":16},"action":"insert","lines":["C"]}],[{"start":{"row":19,"column":15},"end":{"row":19,"column":16},"action":"remove","lines":["C"],"id":334}],[{"start":{"row":19,"column":15},"end":{"row":19,"column":16},"action":"insert","lines":["N"],"id":335}],[{"start":{"row":19,"column":16},"end":{"row":19,"column":17},"action":"insert","lines":["o"],"id":336}],[{"start":{"row":19,"column":17},"end":{"row":19,"column":18},"action":"insert","lines":["u"],"id":337}],[{"start":{"row":19,"column":18},"end":{"row":19,"column":19},"action":"insert","lines":["s"],"id":338}],[{"start":{"row":19,"column":19},"end":{"row":19,"column":20},"action":"insert","lines":[" "],"id":339}],[{"start":{"row":19,"column":20},"end":{"row":19,"column":21},"action":"insert","lines":["n"],"id":340}],[{"start":{"row":19,"column":21},"end":{"row":19,"column":22},"action":"insert","lines":["e"],"id":341}],[{"start":{"row":19,"column":22},"end":{"row":19,"column":23},"action":"insert","lines":[" "],"id":342}],[{"start":{"row":19,"column":23},"end":{"row":19,"column":24},"action":"insert","lines":["t"],"id":343}],[{"start":{"row":19,"column":24},"end":{"row":19,"column":25},"action":"insert","lines":["r"],"id":344}],[{"start":{"row":19,"column":25},"end":{"row":19,"column":26},"action":"insert","lines":["o"],"id":345}],[{"start":{"row":19,"column":26},"end":{"row":19,"column":27},"action":"insert","lines":["u"],"id":346}],[{"start":{"row":19,"column":27},"end":{"row":19,"column":28},"action":"insert","lines":["v"],"id":347}],[{"start":{"row":19,"column":28},"end":{"row":19,"column":29},"action":"insert","lines":["o"],"id":348}],[{"start":{"row":19,"column":29},"end":{"row":19,"column":30},"action":"insert","lines":["n"],"id":349}],[{"start":{"row":19,"column":30},"end":{"row":19,"column":31},"action":"insert","lines":["s"],"id":350}],[{"start":{"row":19,"column":31},"end":{"row":19,"column":32},"action":"insert","lines":[" "],"id":351}],[{"start":{"row":19,"column":32},"end":{"row":19,"column":33},"action":"insert","lines":["p"],"id":352}],[{"start":{"row":19,"column":33},"end":{"row":19,"column":34},"action":"insert","lines":["a"],"id":353}],[{"start":{"row":19,"column":34},"end":{"row":19,"column":35},"action":"insert","lines":["s"],"id":354}],[{"start":{"row":19,"column":35},"end":{"row":19,"column":36},"action":"insert","lines":[" "],"id":355}],[{"start":{"row":19,"column":35},"end":{"row":19,"column":36},"action":"remove","lines":[" "],"id":356}],[{"start":{"row":19,"column":34},"end":{"row":19,"column":35},"action":"remove","lines":["s"],"id":357}],[{"start":{"row":19,"column":33},"end":{"row":19,"column":34},"action":"remove","lines":["a"],"id":358}],[{"start":{"row":19,"column":32},"end":{"row":19,"column":33},"action":"remove","lines":["p"],"id":359}],[{"start":{"row":19,"column":31},"end":{"row":19,"column":32},"action":"remove","lines":[" "],"id":360}],[{"start":{"row":19,"column":30},"end":{"row":19,"column":31},"action":"remove","lines":["s"],"id":361}],[{"start":{"row":19,"column":29},"end":{"row":19,"column":30},"action":"remove","lines":["n"],"id":362}],[{"start":{"row":19,"column":28},"end":{"row":19,"column":29},"action":"remove","lines":["o"],"id":363}],[{"start":{"row":19,"column":27},"end":{"row":19,"column":28},"action":"remove","lines":["v"],"id":364}],[{"start":{"row":19,"column":26},"end":{"row":19,"column":27},"action":"remove","lines":["u"],"id":365}],[{"start":{"row":19,"column":25},"end":{"row":19,"column":26},"action":"remove","lines":["o"],"id":366}],[{"start":{"row":19,"column":24},"end":{"row":19,"column":25},"action":"remove","lines":["r"],"id":367}],[{"start":{"row":19,"column":23},"end":{"row":19,"column":24},"action":"remove","lines":["t"],"id":368}],[{"start":{"row":19,"column":22},"end":{"row":19,"column":23},"action":"remove","lines":[" "],"id":369}],[{"start":{"row":19,"column":21},"end":{"row":19,"column":22},"action":"remove","lines":["e"],"id":370}],[{"start":{"row":19,"column":20},"end":{"row":19,"column":21},"action":"remove","lines":["n"],"id":371}],[{"start":{"row":19,"column":19},"end":{"row":19,"column":20},"action":"remove","lines":[" "],"id":372}],[{"start":{"row":19,"column":18},"end":{"row":19,"column":19},"action":"remove","lines":["s"],"id":373}],[{"start":{"row":19,"column":17},"end":{"row":19,"column":18},"action":"remove","lines":["u"],"id":374}],[{"start":{"row":19,"column":16},"end":{"row":19,"column":17},"action":"remove","lines":["o"],"id":375}],[{"start":{"row":19,"column":15},"end":{"row":19,"column":16},"action":"remove","lines":["N"],"id":376}],[{"start":{"row":19,"column":15},"end":{"row":19,"column":16},"action":"insert","lines":["C"],"id":377}],[{"start":{"row":19,"column":16},"end":{"row":19,"column":17},"action":"insert","lines":["e"],"id":378}],[{"start":{"row":19,"column":17},"end":{"row":19,"column":18},"action":"insert","lines":["t"],"id":379}],[{"start":{"row":19,"column":18},"end":{"row":19,"column":19},"action":"insert","lines":[" "],"id":380}],[{"start":{"row":19,"column":19},"end":{"row":19,"column":20},"action":"insert","lines":["u"],"id":381}],[{"start":{"row":19,"column":20},"end":{"row":19,"column":21},"action":"insert","lines":["t"],"id":382}],[{"start":{"row":19,"column":21},"end":{"row":19,"column":22},"action":"insert","lines":["i"],"id":383}],[{"start":{"row":19,"column":22},"end":{"row":19,"column":23},"action":"insert","lines":["l"],"id":384}],[{"start":{"row":19,"column":23},"end":{"row":19,"column":24},"action":"insert","lines":["i"],"id":385}],[{"start":{"row":19,"column":24},"end":{"row":19,"column":25},"action":"insert","lines":["s"],"id":386}],[{"start":{"row":19,"column":25},"end":{"row":19,"column":26},"action":"insert","lines":["a"],"id":387}],[{"start":{"row":19,"column":26},"end":{"row":19,"column":27},"action":"insert","lines":["t"],"id":388}],[{"start":{"row":19,"column":27},"end":{"row":19,"column":28},"action":"insert","lines":["e"],"id":389}],[{"start":{"row":19,"column":28},"end":{"row":19,"column":29},"action":"insert","lines":["u"],"id":390}],[{"start":{"row":19,"column":29},"end":{"row":19,"column":30},"action":"insert","lines":["r"],"id":391}],[{"start":{"row":19,"column":30},"end":{"row":19,"column":31},"action":"insert","lines":[" "],"id":392}],[{"start":{"row":19,"column":31},"end":{"row":19,"column":32},"action":"insert","lines":["n"],"id":393}],[{"start":{"row":19,"column":32},"end":{"row":19,"column":33},"action":"insert","lines":["'"],"id":394}],[{"start":{"row":19,"column":33},"end":{"row":19,"column":34},"action":"insert","lines":["e"],"id":395}],[{"start":{"row":19,"column":34},"end":{"row":19,"column":35},"action":"insert","lines":["x"],"id":396}],[{"start":{"row":19,"column":35},"end":{"row":19,"column":36},"action":"insert","lines":["i"],"id":397}],[{"start":{"row":19,"column":36},"end":{"row":19,"column":37},"action":"insert","lines":["s"],"id":398}],[{"start":{"row":19,"column":37},"end":{"row":19,"column":38},"action":"insert","lines":["t"],"id":399}],[{"start":{"row":19,"column":38},"end":{"row":19,"column":39},"action":"insert","lines":["e"],"id":400}],[{"start":{"row":19,"column":39},"end":{"row":19,"column":40},"action":"insert","lines":[" "],"id":401}],[{"start":{"row":19,"column":40},"end":{"row":19,"column":41},"action":"insert","lines":["p"],"id":402}],[{"start":{"row":19,"column":41},"end":{"row":19,"column":42},"action":"insert","lines":["a"],"id":403}],[{"start":{"row":19,"column":42},"end":{"row":19,"column":43},"action":"insert","lines":["s"],"id":404}],[{"start":{"row":19,"column":43},"end":{"row":19,"column":44},"action":"insert","lines":["."],"id":405}],[{"start":{"row":19,"column":43},"end":{"row":19,"column":44},"action":"remove","lines":["."],"id":406}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":20,"column":0},"end":{"row":20,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511055502538,"hash":"290afe972209e52dbdec82d3bb42d355f75dbfb2"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/lang/fr/texts.php b/workspace/.c9/metadata/workspace/resources/lang/fr/texts.php new file mode 100644 index 0000000..e9c918e --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/lang/fr/texts.php @@ -0,0 +1 @@ +{"filter":false,"title":"texts.php","tooltip":"/resources/lang/fr/texts.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":15,"column":28},"end":{"row":15,"column":29},"action":"insert","lines":["r"],"id":34}],[{"start":{"row":15,"column":29},"end":{"row":15,"column":30},"action":"insert","lines":["o"],"id":35}],[{"start":{"row":15,"column":30},"end":{"row":15,"column":31},"action":"insert","lines":["p"],"id":36}],[{"start":{"row":15,"column":31},"end":{"row":15,"column":32},"action":"insert","lines":["o"],"id":37}],[{"start":{"row":15,"column":32},"end":{"row":15,"column":33},"action":"insert","lines":["s"],"id":38}],[{"start":{"row":15,"column":33},"end":{"row":15,"column":34},"action":"insert","lines":[" "],"id":39}],[{"start":{"row":15,"column":34},"end":{"row":15,"column":35},"action":"insert","lines":["d"],"id":40}],[{"start":{"row":15,"column":35},"end":{"row":15,"column":36},"action":"insert","lines":["e"],"id":41}],[{"start":{"row":15,"column":36},"end":{"row":15,"column":37},"action":"insert","lines":[" "],"id":42}],[{"start":{"row":15,"column":37},"end":{"row":15,"column":38},"action":"insert","lines":["n"],"id":43}],[{"start":{"row":15,"column":38},"end":{"row":15,"column":39},"action":"insert","lines":["o"],"id":44}],[{"start":{"row":15,"column":39},"end":{"row":15,"column":40},"action":"insert","lines":["u"],"id":45}],[{"start":{"row":15,"column":40},"end":{"row":15,"column":41},"action":"insert","lines":["s"],"id":46}],[{"start":{"row":15,"column":25},"end":{"row":15,"column":26},"action":"remove","lines":["à"],"id":47}],[{"start":{"row":15,"column":25},"end":{"row":15,"column":26},"action":"insert","lines":["ø"],"id":48}],[{"start":{"row":15,"column":26},"end":{"row":15,"column":27},"action":"insert","lines":["ª"],"id":49}],[{"start":{"row":15,"column":27},"end":{"row":15,"column":28},"action":"insert","lines":["æ"],"id":50}],[{"start":{"row":15,"column":28},"end":{"row":15,"column":29},"action":"insert","lines":["{"],"id":51}],[{"start":{"row":15,"column":29},"end":{"row":15,"column":30},"action":"insert","lines":["↓"],"id":52}],[{"start":{"row":15,"column":30},"end":{"row":15,"column":31},"action":"insert","lines":["$"],"id":53}],[{"start":{"row":15,"column":31},"end":{"row":15,"column":32},"action":"insert","lines":["N"],"id":54}],[{"start":{"row":15,"column":32},"end":{"row":15,"column":33},"action":"insert","lines":["["],"id":55}],[{"start":{"row":15,"column":32},"end":{"row":15,"column":33},"action":"remove","lines":["["],"id":56}],[{"start":{"row":15,"column":31},"end":{"row":15,"column":32},"action":"remove","lines":["N"],"id":57}],[{"start":{"row":15,"column":30},"end":{"row":15,"column":31},"action":"remove","lines":["$"],"id":58}],[{"start":{"row":15,"column":29},"end":{"row":15,"column":30},"action":"remove","lines":["↓"],"id":59}],[{"start":{"row":15,"column":29},"end":{"row":15,"column":30},"action":"insert","lines":["T"],"id":60}],[{"start":{"row":15,"column":30},"end":{"row":15,"column":31},"action":"insert","lines":["U"],"id":61}],[{"start":{"row":15,"column":31},"end":{"row":15,"column":32},"action":"insert","lines":["V"],"id":62}],[{"start":{"row":15,"column":32},"end":{"row":15,"column":33},"action":"insert","lines":["W"],"id":63}],[{"start":{"row":15,"column":33},"end":{"row":15,"column":34},"action":"insert","lines":["Y"],"id":64}],[{"start":{"row":15,"column":34},"end":{"row":15,"column":35},"action":"insert","lines":["Z"],"id":65}],[{"start":{"row":15,"column":34},"end":{"row":15,"column":35},"action":"remove","lines":["Z"],"id":66}],[{"start":{"row":15,"column":33},"end":{"row":15,"column":34},"action":"remove","lines":["Y"],"id":67}],[{"start":{"row":15,"column":32},"end":{"row":15,"column":33},"action":"remove","lines":["W"],"id":68}],[{"start":{"row":15,"column":31},"end":{"row":15,"column":32},"action":"remove","lines":["V"],"id":69}],[{"start":{"row":15,"column":30},"end":{"row":15,"column":31},"action":"remove","lines":["U"],"id":70}],[{"start":{"row":15,"column":29},"end":{"row":15,"column":30},"action":"remove","lines":["T"],"id":71}],[{"start":{"row":15,"column":29},"end":{"row":15,"column":30},"action":"insert","lines":["["],"id":72}],[{"start":{"row":15,"column":30},"end":{"row":15,"column":31},"action":"insert","lines":["\\"],"id":73}],[{"start":{"row":15,"column":31},"end":{"row":15,"column":32},"action":"insert","lines":["]"],"id":74}],[{"start":{"row":15,"column":32},"end":{"row":15,"column":33},"action":"insert","lines":["^"],"id":75}],[{"start":{"row":15,"column":33},"end":{"row":15,"column":34},"action":"insert","lines":["○"],"id":76}],[{"start":{"row":15,"column":34},"end":{"row":15,"column":35},"action":"insert","lines":["`"],"id":77}],[{"start":{"row":15,"column":35},"end":{"row":15,"column":36},"action":"insert","lines":["a"],"id":78}],[{"start":{"row":15,"column":36},"end":{"row":15,"column":37},"action":"insert","lines":["b"],"id":79}],[{"start":{"row":15,"column":37},"end":{"row":15,"column":38},"action":"insert","lines":["c"],"id":80}],[{"start":{"row":15,"column":37},"end":{"row":15,"column":38},"action":"remove","lines":["c"],"id":81}],[{"start":{"row":15,"column":36},"end":{"row":15,"column":37},"action":"remove","lines":["b"],"id":82}],[{"start":{"row":15,"column":35},"end":{"row":15,"column":36},"action":"remove","lines":["a"],"id":83}],[{"start":{"row":15,"column":34},"end":{"row":15,"column":35},"action":"remove","lines":["`"],"id":84}],[{"start":{"row":15,"column":33},"end":{"row":15,"column":34},"action":"remove","lines":["○"],"id":85}],[{"start":{"row":15,"column":32},"end":{"row":15,"column":33},"action":"remove","lines":["^"],"id":86}],[{"start":{"row":15,"column":31},"end":{"row":15,"column":32},"action":"remove","lines":["]"],"id":87}],[{"start":{"row":15,"column":30},"end":{"row":15,"column":31},"action":"remove","lines":["\\"],"id":88}],[{"start":{"row":15,"column":29},"end":{"row":15,"column":30},"action":"remove","lines":["["],"id":89}],[{"start":{"row":15,"column":28},"end":{"row":15,"column":29},"action":"remove","lines":["{"],"id":90}],[{"start":{"row":15,"column":27},"end":{"row":15,"column":28},"action":"remove","lines":["æ"],"id":91}],[{"start":{"row":15,"column":26},"end":{"row":15,"column":27},"action":"remove","lines":["ª"],"id":92}],[{"start":{"row":15,"column":25},"end":{"row":15,"column":26},"action":"remove","lines":["ø"],"id":93}],[{"start":{"row":15,"column":25},"end":{"row":15,"column":26},"action":"insert","lines":["L"],"id":94}],[{"start":{"row":15,"column":26},"end":{"row":15,"column":27},"action":"insert","lines":["K"],"id":95}],[{"start":{"row":15,"column":27},"end":{"row":15,"column":28},"action":"insert","lines":[">"],"id":96}],[{"start":{"row":15,"column":28},"end":{"row":15,"column":29},"action":"insert","lines":["?"],"id":97}],[{"start":{"row":15,"column":29},"end":{"row":15,"column":30},"action":"insert","lines":["@"],"id":98}],[{"start":{"row":15,"column":30},"end":{"row":15,"column":31},"action":"insert","lines":["A"],"id":99}],[{"start":{"row":15,"column":31},"end":{"row":15,"column":32},"action":"insert","lines":["B"],"id":100}],[{"start":{"row":15,"column":31},"end":{"row":15,"column":32},"action":"remove","lines":["B"],"id":101}],[{"start":{"row":15,"column":30},"end":{"row":15,"column":31},"action":"remove","lines":["A"],"id":102}],[{"start":{"row":15,"column":29},"end":{"row":15,"column":30},"action":"remove","lines":["@"],"id":103}],[{"start":{"row":15,"column":28},"end":{"row":15,"column":29},"action":"remove","lines":["?"],"id":104}],[{"start":{"row":15,"column":27},"end":{"row":15,"column":28},"action":"remove","lines":[">"],"id":105}],[{"start":{"row":15,"column":26},"end":{"row":15,"column":27},"action":"remove","lines":["K"],"id":106}],[{"start":{"row":15,"column":25},"end":{"row":15,"column":26},"action":"remove","lines":["L"],"id":107}],[{"start":{"row":15,"column":25},"end":{"row":15,"column":26},"action":"insert","lines":["<"],"id":108}],[{"start":{"row":15,"column":26},"end":{"row":15,"column":27},"action":"insert","lines":["="],"id":109}],[{"start":{"row":15,"column":27},"end":{"row":15,"column":28},"action":"insert","lines":[";"],"id":110}],[{"start":{"row":15,"column":28},"end":{"row":15,"column":29},"action":"insert","lines":[":"],"id":111}],[{"start":{"row":15,"column":29},"end":{"row":15,"column":30},"action":"insert","lines":["9"],"id":112}],[{"start":{"row":15,"column":30},"end":{"row":15,"column":31},"action":"insert","lines":["8"],"id":113}],[{"start":{"row":15,"column":30},"end":{"row":15,"column":31},"action":"remove","lines":["8"],"id":114}],[{"start":{"row":15,"column":29},"end":{"row":15,"column":30},"action":"remove","lines":["9"],"id":115}],[{"start":{"row":15,"column":28},"end":{"row":15,"column":29},"action":"remove","lines":[":"],"id":116}],[{"start":{"row":15,"column":27},"end":{"row":15,"column":28},"action":"remove","lines":[";"],"id":117}],[{"start":{"row":15,"column":26},"end":{"row":15,"column":27},"action":"remove","lines":["="],"id":118}],[{"start":{"row":15,"column":25},"end":{"row":15,"column":26},"action":"remove","lines":["<"],"id":119}],[{"start":{"row":15,"column":25},"end":{"row":15,"column":26},"action":"insert","lines":["À"],"id":120}],[{"start":{"row":15,"column":34},"end":{"row":15,"column":42},"action":"remove","lines":["de nous."],"id":121}],[{"start":{"row":15,"column":33},"end":{"row":15,"column":34},"action":"remove","lines":[" "],"id":122}],[{"start":{"row":15,"column":33},"end":{"row":15,"column":34},"action":"insert","lines":[" "],"id":123}],[{"start":{"row":15,"column":34},"end":{"row":15,"column":35},"action":"insert","lines":["d"],"id":124}],[{"start":{"row":15,"column":35},"end":{"row":15,"column":36},"action":"insert","lines":["e"],"id":125}],[{"start":{"row":15,"column":36},"end":{"row":15,"column":37},"action":"insert","lines":[" "],"id":126}],[{"start":{"row":15,"column":37},"end":{"row":15,"column":38},"action":"insert","lines":["B"],"id":127}],[{"start":{"row":15,"column":38},"end":{"row":15,"column":39},"action":"insert","lines":["o"],"id":128}],[{"start":{"row":15,"column":39},"end":{"row":15,"column":40},"action":"insert","lines":["n"],"id":129}],[{"start":{"row":15,"column":40},"end":{"row":15,"column":41},"action":"insert","lines":["s"],"id":130}],[{"start":{"row":15,"column":41},"end":{"row":15,"column":42},"action":"insert","lines":["a"],"id":131}],[{"start":{"row":15,"column":42},"end":{"row":15,"column":43},"action":"insert","lines":["i"],"id":132}],[{"start":{"row":15,"column":43},"end":{"row":15,"column":44},"action":"insert","lines":["i"],"id":133}],[{"start":{"row":15,"column":44},"end":{"row":15,"column":45},"action":"insert","lines":["e"],"id":134}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":15,"column":45},"end":{"row":15,"column":45},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511055968771,"hash":"097aa5d4099a082d05b5ac8a125b048fc0a63fed"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/lang/fr/validation.php b/workspace/.c9/metadata/workspace/resources/lang/fr/validation.php new file mode 100644 index 0000000..b3c1e25 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/lang/fr/validation.php @@ -0,0 +1 @@ +{"filter":false,"title":"validation.php","tooltip":"/resources/lang/fr/validation.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511012558771,"hash":"632a7d469effc0274daf8d9b7070c75c8b8795ff"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/ConfirmRegistery.blade.php b/workspace/.c9/metadata/workspace/resources/views/ConfirmRegistery.blade.php new file mode 100644 index 0000000..ae7adc2 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/ConfirmRegistery.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"ConfirmRegistery.blade.php","tooltip":"/resources/views/ConfirmRegistery.blade.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":19,"column":6},"end":{"row":19,"column":50},"action":"insert","lines":["Votre inscription a bien été prise en compte"],"id":86}],[{"start":{"row":19,"column":50},"end":{"row":19,"column":51},"action":"insert","lines":["."],"id":87}],[{"start":{"row":19,"column":55},"end":{"row":20,"column":0},"action":"insert","lines":["",""],"id":88},{"start":{"row":20,"column":0},"end":{"row":20,"column":3},"action":"insert","lines":["\t\t\t"]}],[{"start":{"row":20,"column":3},"end":{"row":20,"column":4},"action":"insert","lines":["<"],"id":89}],[{"start":{"row":20,"column":4},"end":{"row":20,"column":5},"action":"insert","lines":["p"],"id":90}],[{"start":{"row":20,"column":5},"end":{"row":20,"column":10},"action":"insert","lines":["></p>"],"id":91}],[{"start":{"row":20,"column":6},"end":{"row":20,"column":7},"action":"insert","lines":["M"],"id":92}],[{"start":{"row":20,"column":7},"end":{"row":20,"column":8},"action":"insert","lines":["e"],"id":93}],[{"start":{"row":20,"column":8},"end":{"row":20,"column":9},"action":"insert","lines":["r"],"id":94}],[{"start":{"row":20,"column":9},"end":{"row":20,"column":10},"action":"insert","lines":["i"],"id":95}],[{"start":{"row":20,"column":10},"end":{"row":20,"column":11},"action":"insert","lines":[" "],"id":96}],[{"start":{"row":20,"column":11},"end":{"row":20,"column":12},"action":"insert","lines":["!"],"id":97}],[{"start":{"row":20,"column":9},"end":{"row":20,"column":10},"action":"insert","lines":["c"],"id":98}],[{"start":{"row":20,"column":5},"end":{"row":20,"column":6},"action":"insert","lines":[" "],"id":99}],[{"start":{"row":20,"column":5},"end":{"row":20,"column":6},"action":"remove","lines":[" "],"id":100}],[{"start":{"row":18,"column":49},"end":{"row":18,"column":50},"action":"insert","lines":[" "],"id":101}],[{"start":{"row":18,"column":50},"end":{"row":18,"column":51},"action":"insert","lines":["c"],"id":102}],[{"start":{"row":18,"column":51},"end":{"row":18,"column":52},"action":"insert","lines":["e"],"id":103}],[{"start":{"row":18,"column":52},"end":{"row":18,"column":53},"action":"insert","lines":["n"],"id":104}],[{"start":{"row":18,"column":53},"end":{"row":18,"column":54},"action":"insert","lines":["t"],"id":105}],[{"start":{"row":18,"column":54},"end":{"row":18,"column":55},"action":"insert","lines":["e"],"id":106}],[{"start":{"row":18,"column":55},"end":{"row":18,"column":56},"action":"insert","lines":["r"],"id":107}],[{"start":{"row":20,"column":5},"end":{"row":20,"column":6},"action":"insert","lines":[" "],"id":108}],[{"start":{"row":20,"column":6},"end":{"row":20,"column":7},"action":"insert","lines":["c"],"id":109}],[{"start":{"row":20,"column":7},"end":{"row":20,"column":8},"action":"insert","lines":["l"],"id":110}],[{"start":{"row":20,"column":8},"end":{"row":20,"column":9},"action":"insert","lines":["a"],"id":111}],[{"start":{"row":20,"column":9},"end":{"row":20,"column":10},"action":"insert","lines":["s"],"id":112}],[{"start":{"row":20,"column":10},"end":{"row":20,"column":11},"action":"insert","lines":["s"],"id":113}],[{"start":{"row":20,"column":11},"end":{"row":20,"column":12},"action":"insert","lines":["="],"id":114}],[{"start":{"row":20,"column":12},"end":{"row":20,"column":14},"action":"insert","lines":["\"\""],"id":115}],[{"start":{"row":20,"column":13},"end":{"row":20,"column":14},"action":"insert","lines":["t"],"id":116}],[{"start":{"row":20,"column":14},"end":{"row":20,"column":15},"action":"insert","lines":["e"],"id":117}],[{"start":{"row":20,"column":15},"end":{"row":20,"column":16},"action":"insert","lines":["x"],"id":118}],[{"start":{"row":20,"column":16},"end":{"row":20,"column":17},"action":"insert","lines":["t"],"id":119}],[{"start":{"row":20,"column":17},"end":{"row":20,"column":18},"action":"insert","lines":["-"],"id":120}],[{"start":{"row":20,"column":18},"end":{"row":20,"column":19},"action":"insert","lines":["c"],"id":121}],[{"start":{"row":20,"column":19},"end":{"row":20,"column":20},"action":"insert","lines":["e"],"id":122}],[{"start":{"row":20,"column":20},"end":{"row":20,"column":21},"action":"insert","lines":["n"],"id":123}],[{"start":{"row":20,"column":21},"end":{"row":20,"column":22},"action":"insert","lines":["t"],"id":124}],[{"start":{"row":20,"column":22},"end":{"row":20,"column":23},"action":"insert","lines":["e"],"id":125}],[{"start":{"row":20,"column":23},"end":{"row":20,"column":24},"action":"insert","lines":["r"],"id":126}],[{"start":{"row":20,"column":37},"end":{"row":21,"column":0},"action":"insert","lines":["",""],"id":127},{"start":{"row":21,"column":0},"end":{"row":21,"column":3},"action":"insert","lines":["\t\t\t"]}],[{"start":{"row":21,"column":3},"end":{"row":21,"column":4},"action":"insert","lines":["<"],"id":128}],[{"start":{"row":21,"column":4},"end":{"row":21,"column":5},"action":"insert","lines":["B"],"id":129}],[{"start":{"row":21,"column":5},"end":{"row":21,"column":6},"action":"insert","lines":["r"],"id":130}],[{"start":{"row":21,"column":5},"end":{"row":21,"column":6},"action":"remove","lines":["r"],"id":131}],[{"start":{"row":21,"column":4},"end":{"row":21,"column":5},"action":"remove","lines":["B"],"id":132}],[{"start":{"row":21,"column":4},"end":{"row":21,"column":5},"action":"insert","lines":["b"],"id":133}],[{"start":{"row":21,"column":5},"end":{"row":21,"column":6},"action":"insert","lines":["r"],"id":134}],[{"start":{"row":21,"column":6},"end":{"row":21,"column":7},"action":"insert","lines":[">"],"id":135}],[{"start":{"row":21,"column":6},"end":{"row":21,"column":7},"action":"insert","lines":["/"],"id":136}],[{"start":{"row":21,"column":8},"end":{"row":22,"column":0},"action":"insert","lines":["",""],"id":137},{"start":{"row":22,"column":0},"end":{"row":22,"column":3},"action":"insert","lines":["\t\t\t"]}],[{"start":{"row":22,"column":3},"end":{"row":22,"column":4},"action":"insert","lines":["<"],"id":138}],[{"start":{"row":22,"column":4},"end":{"row":22,"column":5},"action":"insert","lines":["p"],"id":139}],[{"start":{"row":22,"column":5},"end":{"row":22,"column":10},"action":"insert","lines":["></p>"],"id":140}],[{"start":{"row":22,"column":6},"end":{"row":22,"column":7},"action":"insert","lines":["r"],"id":141}],[{"start":{"row":22,"column":7},"end":{"row":22,"column":8},"action":"insert","lines":["e"],"id":142}],[{"start":{"row":22,"column":8},"end":{"row":22,"column":9},"action":"insert","lines":["t"],"id":143}],[{"start":{"row":22,"column":9},"end":{"row":22,"column":10},"action":"insert","lines":["o"],"id":144}],[{"start":{"row":22,"column":10},"end":{"row":22,"column":11},"action":"insert","lines":["u"],"id":145}],[{"start":{"row":22,"column":11},"end":{"row":22,"column":12},"action":"insert","lines":["r"],"id":146}],[{"start":{"row":22,"column":12},"end":{"row":22,"column":13},"action":"insert","lines":[" "],"id":147}],[{"start":{"row":22,"column":13},"end":{"row":22,"column":14},"action":"insert","lines":["à"],"id":148}],[{"start":{"row":22,"column":14},"end":{"row":22,"column":15},"action":"insert","lines":[" "],"id":149}],[{"start":{"row":22,"column":15},"end":{"row":22,"column":16},"action":"insert","lines":["l"],"id":150}],[{"start":{"row":22,"column":16},"end":{"row":22,"column":17},"action":"insert","lines":["'"],"id":151}],[{"start":{"row":22,"column":17},"end":{"row":22,"column":18},"action":"insert","lines":["a"],"id":152}],[{"start":{"row":22,"column":18},"end":{"row":22,"column":19},"action":"insert","lines":["c"],"id":153}],[{"start":{"row":22,"column":19},"end":{"row":22,"column":20},"action":"insert","lines":["c"],"id":154}],[{"start":{"row":22,"column":20},"end":{"row":22,"column":21},"action":"insert","lines":["u"],"id":155}],[{"start":{"row":22,"column":21},"end":{"row":22,"column":22},"action":"insert","lines":["e"],"id":156}],[{"start":{"row":22,"column":22},"end":{"row":22,"column":23},"action":"insert","lines":["i"],"id":157}],[{"start":{"row":22,"column":23},"end":{"row":22,"column":24},"action":"insert","lines":["l"],"id":158}],[{"start":{"row":22,"column":24},"end":{"row":22,"column":25},"action":"insert","lines":["."],"id":159}],[{"start":{"row":22,"column":6},"end":{"row":22,"column":7},"action":"remove","lines":["r"],"id":160}],[{"start":{"row":22,"column":6},"end":{"row":22,"column":7},"action":"insert","lines":["R"],"id":161}],[{"start":{"row":19,"column":5},"end":{"row":19,"column":6},"action":"insert","lines":[" "],"id":162}],[{"start":{"row":19,"column":6},"end":{"row":19,"column":7},"action":"insert","lines":["c"],"id":163}],[{"start":{"row":19,"column":7},"end":{"row":19,"column":8},"action":"insert","lines":["l"],"id":164}],[{"start":{"row":19,"column":8},"end":{"row":19,"column":9},"action":"insert","lines":["a"],"id":165}],[{"start":{"row":19,"column":9},"end":{"row":19,"column":10},"action":"insert","lines":["s"],"id":166}],[{"start":{"row":19,"column":10},"end":{"row":19,"column":11},"action":"insert","lines":["s"],"id":167}],[{"start":{"row":19,"column":6},"end":{"row":19,"column":11},"action":"remove","lines":["class"],"id":168},{"start":{"row":19,"column":6},"end":{"row":19,"column":25},"action":"insert","lines":["class=\"text-center\""]}],[{"start":{"row":22,"column":5},"end":{"row":22,"column":6},"action":"insert","lines":[" "],"id":169}],[{"start":{"row":22,"column":6},"end":{"row":22,"column":25},"action":"insert","lines":["class=\"text-center\""],"id":170}],[{"start":{"row":22,"column":4},"end":{"row":22,"column":5},"action":"remove","lines":["p"],"id":171}],[{"start":{"row":22,"column":4},"end":{"row":22,"column":5},"action":"insert","lines":["a"],"id":172}],[{"start":{"row":22,"column":47},"end":{"row":22,"column":48},"action":"remove","lines":["p"],"id":173}],[{"start":{"row":22,"column":47},"end":{"row":22,"column":48},"action":"insert","lines":["a"],"id":174}],[{"start":{"row":22,"column":6},"end":{"row":22,"column":14},"action":"insert","lines":["href=\"/\""],"id":175}],[{"start":{"row":22,"column":14},"end":{"row":22,"column":15},"action":"insert","lines":[" "],"id":176}],[{"start":{"row":22,"column":3},"end":{"row":22,"column":4},"action":"insert","lines":["<"],"id":177}],[{"start":{"row":22,"column":4},"end":{"row":22,"column":5},"action":"insert","lines":["p"],"id":178}],[{"start":{"row":22,"column":5},"end":{"row":22,"column":10},"action":"insert","lines":["></p>"],"id":179}],[{"start":{"row":22,"column":6},"end":{"row":22,"column":10},"action":"remove","lines":["</p>"],"id":180}],[{"start":{"row":22,"column":61},"end":{"row":22,"column":65},"action":"insert","lines":["</p>"],"id":181}],[{"start":{"row":22,"column":18},"end":{"row":22,"column":37},"action":"remove","lines":["class=\"text-center\""],"id":182}],[{"start":{"row":22,"column":17},"end":{"row":22,"column":18},"action":"remove","lines":[" "],"id":183}],[{"start":{"row":22,"column":5},"end":{"row":22,"column":6},"action":"insert","lines":[" "],"id":184}],[{"start":{"row":22,"column":6},"end":{"row":22,"column":25},"action":"insert","lines":["class=\"text-center\""],"id":185}],[{"start":{"row":22,"column":56},"end":{"row":22,"column":57},"action":"remove","lines":["."],"id":186}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":16,"column":4},"end":{"row":16,"column":4},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509224790338,"hash":"2598eeb4148e60f18f667dcbde4613571d8935c0"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/OLD/app.blade.php b/workspace/.c9/metadata/workspace/resources/views/OLD/app.blade.php new file mode 100644 index 0000000..dd4c31e --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/OLD/app.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"app.blade.php","tooltip":"/resources/views/OLD/app.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511015526344,"hash":"83079e0169cd77f235b576c998dfec252b206ca6"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/OLD/head.blade.php b/workspace/.c9/metadata/workspace/resources/views/OLD/head.blade.php new file mode 100644 index 0000000..b9b3893 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/OLD/head.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"head.blade.php","tooltip":"/resources/views/OLD/head.blade.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":55,"column":36},"end":{"row":55,"column":37},"action":"insert","lines":["e"],"id":225}],[{"start":{"row":55,"column":37},"end":{"row":55,"column":38},"action":"insert","lines":["e"],"id":226}],[{"start":{"row":55,"column":35},"end":{"row":55,"column":38},"action":"remove","lines":["eee"],"id":227},{"start":{"row":55,"column":35},"end":{"row":55,"column":36},"action":"insert","lines":["2"]}],[{"start":{"row":55,"column":36},"end":{"row":55,"column":37},"action":"insert","lines":["2"],"id":228}],[{"start":{"row":55,"column":37},"end":{"row":55,"column":38},"action":"insert","lines":["8"],"id":229}],[{"start":{"row":55,"column":38},"end":{"row":55,"column":39},"action":"insert","lines":["B"],"id":230}],[{"start":{"row":55,"column":39},"end":{"row":55,"column":40},"action":"insert","lines":["2"],"id":231}],[{"start":{"row":55,"column":40},"end":{"row":55,"column":41},"action":"insert","lines":["2"],"id":232}],[{"start":{"row":55,"column":35},"end":{"row":55,"column":41},"action":"remove","lines":["228B22"],"id":233},{"start":{"row":55,"column":35},"end":{"row":55,"column":36},"action":"insert","lines":["9"]}],[{"start":{"row":55,"column":36},"end":{"row":55,"column":37},"action":"insert","lines":["a"],"id":234}],[{"start":{"row":55,"column":37},"end":{"row":55,"column":38},"action":"insert","lines":["c"],"id":235}],[{"start":{"row":55,"column":38},"end":{"row":55,"column":39},"action":"insert","lines":["d"],"id":236}],[{"start":{"row":55,"column":39},"end":{"row":55,"column":40},"action":"insert","lines":["3"],"id":237}],[{"start":{"row":55,"column":40},"end":{"row":55,"column":41},"action":"insert","lines":["2"],"id":238}],[{"start":{"row":72,"column":13},"end":{"row":73,"column":0},"action":"insert","lines":["",""],"id":245},{"start":{"row":73,"column":0},"end":{"row":73,"column":12},"action":"insert","lines":[" "]}],[{"start":{"row":73,"column":12},"end":{"row":74,"column":0},"action":"insert","lines":["",""],"id":246},{"start":{"row":74,"column":0},"end":{"row":74,"column":12},"action":"insert","lines":[" "]}],[{"start":{"row":74,"column":12},"end":{"row":74,"column":13},"action":"insert","lines":["i"],"id":247}],[{"start":{"row":74,"column":13},"end":{"row":74,"column":14},"action":"insert","lines":["m"],"id":248}],[{"start":{"row":74,"column":14},"end":{"row":74,"column":15},"action":"insert","lines":["g"],"id":249}],[{"start":{"row":74,"column":15},"end":{"row":74,"column":16},"action":"insert","lines":["P"],"id":250}],[{"start":{"row":74,"column":16},"end":{"row":74,"column":17},"action":"insert","lines":["r"],"id":251}],[{"start":{"row":74,"column":17},"end":{"row":74,"column":18},"action":"insert","lines":["o"],"id":252}],[{"start":{"row":74,"column":18},"end":{"row":74,"column":19},"action":"insert","lines":["f"],"id":253}],[{"start":{"row":74,"column":18},"end":{"row":74,"column":19},"action":"remove","lines":["f"],"id":254}],[{"start":{"row":74,"column":18},"end":{"row":74,"column":19},"action":"insert","lines":["d"],"id":255}],[{"start":{"row":74,"column":19},"end":{"row":74,"column":20},"action":"insert","lines":[" "],"id":256}],[{"start":{"row":74,"column":20},"end":{"row":74,"column":21},"action":"insert","lines":["{"],"id":257}],[{"start":{"row":74,"column":21},"end":{"row":76,"column":13},"action":"insert","lines":[""," "," }"],"id":258}],[{"start":{"row":75,"column":16},"end":{"row":75,"column":17},"action":"insert","lines":["c"],"id":259}],[{"start":{"row":75,"column":17},"end":{"row":75,"column":18},"action":"insert","lines":["e"],"id":260}],[{"start":{"row":75,"column":18},"end":{"row":75,"column":19},"action":"insert","lines":["n"],"id":261}],[{"start":{"row":75,"column":19},"end":{"row":75,"column":20},"action":"insert","lines":["t"],"id":262}],[{"start":{"row":75,"column":20},"end":{"row":75,"column":21},"action":"insert","lines":["e"],"id":263}],[{"start":{"row":75,"column":21},"end":{"row":75,"column":22},"action":"insert","lines":["r"],"id":264}],[{"start":{"row":75,"column":21},"end":{"row":75,"column":22},"action":"remove","lines":["r"],"id":265}],[{"start":{"row":75,"column":20},"end":{"row":75,"column":21},"action":"remove","lines":["e"],"id":266}],[{"start":{"row":75,"column":19},"end":{"row":75,"column":20},"action":"remove","lines":["t"],"id":267}],[{"start":{"row":75,"column":18},"end":{"row":75,"column":19},"action":"remove","lines":["n"],"id":268}],[{"start":{"row":75,"column":17},"end":{"row":75,"column":18},"action":"remove","lines":["e"],"id":269}],[{"start":{"row":75,"column":16},"end":{"row":75,"column":17},"action":"remove","lines":["c"],"id":270}],[{"start":{"row":75,"column":16},"end":{"row":75,"column":17},"action":"insert","lines":["t"],"id":271}],[{"start":{"row":75,"column":17},"end":{"row":75,"column":18},"action":"insert","lines":["e"],"id":272}],[{"start":{"row":75,"column":18},"end":{"row":75,"column":19},"action":"insert","lines":["x"],"id":273}],[{"start":{"row":75,"column":19},"end":{"row":75,"column":20},"action":"insert","lines":["t"],"id":274}],[{"start":{"row":75,"column":20},"end":{"row":75,"column":21},"action":"insert","lines":["-"],"id":275}],[{"start":{"row":75,"column":21},"end":{"row":75,"column":22},"action":"insert","lines":["a"],"id":276}],[{"start":{"row":75,"column":22},"end":{"row":75,"column":23},"action":"insert","lines":["l"],"id":277}],[{"start":{"row":75,"column":23},"end":{"row":75,"column":24},"action":"insert","lines":["i"],"id":278}],[{"start":{"row":75,"column":24},"end":{"row":75,"column":25},"action":"insert","lines":["g"],"id":279}],[{"start":{"row":75,"column":25},"end":{"row":75,"column":26},"action":"insert","lines":["n"],"id":280}],[{"start":{"row":75,"column":26},"end":{"row":75,"column":28},"action":"insert","lines":[":;"],"id":281}],[{"start":{"row":75,"column":27},"end":{"row":75,"column":28},"action":"insert","lines":[" "],"id":282}],[{"start":{"row":75,"column":28},"end":{"row":75,"column":29},"action":"insert","lines":["c"],"id":283}],[{"start":{"row":75,"column":29},"end":{"row":75,"column":30},"action":"insert","lines":["e"],"id":284}],[{"start":{"row":75,"column":30},"end":{"row":75,"column":31},"action":"insert","lines":["n"],"id":285}],[{"start":{"row":75,"column":31},"end":{"row":75,"column":32},"action":"insert","lines":["t"],"id":286}],[{"start":{"row":75,"column":32},"end":{"row":75,"column":33},"action":"insert","lines":["e"],"id":287}],[{"start":{"row":75,"column":33},"end":{"row":75,"column":34},"action":"insert","lines":["r"],"id":288}],[{"start":{"row":74,"column":21},"end":{"row":75,"column":0},"action":"insert","lines":["",""],"id":289},{"start":{"row":75,"column":0},"end":{"row":75,"column":16},"action":"insert","lines":[" "]}],[{"start":{"row":75,"column":16},"end":{"row":75,"column":17},"action":"insert","lines":["p"],"id":290}],[{"start":{"row":75,"column":17},"end":{"row":75,"column":18},"action":"insert","lines":["a"],"id":291}],[{"start":{"row":75,"column":18},"end":{"row":75,"column":19},"action":"insert","lines":["d"],"id":292}],[{"start":{"row":75,"column":19},"end":{"row":75,"column":20},"action":"insert","lines":["d"],"id":293}],[{"start":{"row":75,"column":20},"end":{"row":75,"column":21},"action":"insert","lines":["i"],"id":294}],[{"start":{"row":75,"column":21},"end":{"row":75,"column":22},"action":"insert","lines":["n"],"id":295}],[{"start":{"row":75,"column":22},"end":{"row":75,"column":23},"action":"insert","lines":["g"],"id":296}],[{"start":{"row":75,"column":23},"end":{"row":75,"column":24},"action":"insert","lines":[" "],"id":297}],[{"start":{"row":75,"column":24},"end":{"row":75,"column":25},"action":"insert","lines":["="],"id":298}],[{"start":{"row":75,"column":25},"end":{"row":75,"column":26},"action":"insert","lines":[" "],"id":299}],[{"start":{"row":75,"column":25},"end":{"row":75,"column":26},"action":"remove","lines":[" "],"id":300}],[{"start":{"row":75,"column":24},"end":{"row":75,"column":25},"action":"remove","lines":["="],"id":301}],[{"start":{"row":75,"column":23},"end":{"row":75,"column":24},"action":"remove","lines":[" "],"id":302}],[{"start":{"row":75,"column":23},"end":{"row":75,"column":25},"action":"insert","lines":[":;"],"id":303}],[{"start":{"row":75,"column":24},"end":{"row":75,"column":25},"action":"insert","lines":[" "],"id":304}],[{"start":{"row":75,"column":25},"end":{"row":75,"column":26},"action":"insert","lines":["a"],"id":305}],[{"start":{"row":75,"column":26},"end":{"row":75,"column":27},"action":"insert","lines":["u"],"id":306}],[{"start":{"row":75,"column":27},"end":{"row":75,"column":28},"action":"insert","lines":["t"],"id":307}],[{"start":{"row":75,"column":28},"end":{"row":75,"column":29},"action":"insert","lines":["o"],"id":308}],[{"start":{"row":74,"column":21},"end":{"row":75,"column":0},"action":"insert","lines":["",""],"id":309},{"start":{"row":75,"column":0},"end":{"row":75,"column":16},"action":"insert","lines":[" "]}],[{"start":{"row":75,"column":16},"end":{"row":75,"column":17},"action":"insert","lines":["m"],"id":310}],[{"start":{"row":75,"column":17},"end":{"row":75,"column":18},"action":"insert","lines":["a"],"id":311}],[{"start":{"row":75,"column":18},"end":{"row":75,"column":19},"action":"insert","lines":["r"],"id":312}],[{"start":{"row":75,"column":19},"end":{"row":75,"column":20},"action":"insert","lines":["g"],"id":313}],[{"start":{"row":75,"column":20},"end":{"row":75,"column":21},"action":"insert","lines":["i"],"id":314}],[{"start":{"row":75,"column":21},"end":{"row":75,"column":22},"action":"insert","lines":["n"],"id":315}],[{"start":{"row":75,"column":22},"end":{"row":75,"column":24},"action":"insert","lines":[":;"],"id":316}],[{"start":{"row":75,"column":23},"end":{"row":75,"column":24},"action":"insert","lines":[" "],"id":317}],[{"start":{"row":75,"column":24},"end":{"row":75,"column":25},"action":"insert","lines":["a"],"id":318}],[{"start":{"row":75,"column":25},"end":{"row":75,"column":26},"action":"insert","lines":["u"],"id":319}],[{"start":{"row":75,"column":26},"end":{"row":75,"column":27},"action":"insert","lines":["t"],"id":320}],[{"start":{"row":75,"column":27},"end":{"row":75,"column":28},"action":"insert","lines":["o"],"id":321}],[{"start":{"row":74,"column":11},"end":{"row":74,"column":19},"action":"remove","lines":[" imgProd"],"id":322}],[{"start":{"row":74,"column":11},"end":{"row":74,"column":12},"action":"insert","lines":[" "],"id":323}],[{"start":{"row":74,"column":12},"end":{"row":74,"column":13},"action":"insert","lines":["c"],"id":324}],[{"start":{"row":74,"column":13},"end":{"row":74,"column":14},"action":"insert","lines":["e"],"id":325}],[{"start":{"row":74,"column":14},"end":{"row":74,"column":15},"action":"insert","lines":["n"],"id":326}],[{"start":{"row":74,"column":15},"end":{"row":74,"column":16},"action":"insert","lines":["t"],"id":327}],[{"start":{"row":74,"column":16},"end":{"row":74,"column":17},"action":"insert","lines":["e"],"id":328}],[{"start":{"row":74,"column":17},"end":{"row":74,"column":18},"action":"insert","lines":["r"],"id":329}],[{"start":{"row":13,"column":35},"end":{"row":14,"column":103},"action":"remove","lines":[""," <!-- <link rel=\"stylesheet\" href=\"../../node_modules/bootstrap/dist/css/bootstrap.min.css\"> -->"],"id":330}],[{"start":{"row":16,"column":42},"end":{"row":17,"column":97},"action":"remove","lines":[""," <!-- <link rel=\"stylesheet\" href=\"../../node_modules/bootstrap/dist/css/mdb.min.css\"> -->"],"id":371}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":16,"column":42},"end":{"row":16,"column":42},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":16,"state":"start","mode":"ace/mode/php"}},"timestamp":1508956206738,"hash":"f3dfd9599c8b6ab5de5d011ab1169e8644aaa3eb"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/OLD/header.blade.php b/workspace/.c9/metadata/workspace/resources/views/OLD/header.blade.php new file mode 100644 index 0000000..5847ccd --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/OLD/header.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"header.blade.php","tooltip":"/resources/views/OLD/header.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":6,"column":76},"end":{"row":6,"column":76},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1508928419579,"hash":"bdbb2aa1105416043e7587ca841fbd7ac8520178"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/OLD/index.blade.php b/workspace/.c9/metadata/workspace/resources/views/OLD/index.blade.php new file mode 100644 index 0000000..f216752 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/OLD/index.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"index.blade.php","tooltip":"/resources/views/OLD/index.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":581.9444589614868,"scrollleft":0,"selection":{"start":{"row":20,"column":27},"end":{"row":20,"column":27},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":39,"state":"start","mode":"ace/mode/php"}},"timestamp":1508939726362,"hash":"f48bbc05edaa2f89c4da3e8fd7aee90f76c0d51f"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/OLD/register.blade.php b/workspace/.c9/metadata/workspace/resources/views/OLD/register.blade.php new file mode 100644 index 0000000..a0fa207 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/OLD/register.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"register.blade.php","tooltip":"/resources/views/OLD/register.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509578248675,"hash":"e40af4a54ad59ab9883dd62c5d6a6aa07d5232d7"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/Produits_gen.blade.php b/workspace/.c9/metadata/workspace/resources/views/Produits_gen.blade.php new file mode 100644 index 0000000..7a1d53a --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/Produits_gen.blade.php @@ -0,0 +1 @@ +{"changed":true,"filter":false,"title":"Produits_gen.blade.php","tooltip":"/resources/views/Produits_gen.blade.php","value":"@extends('header1')\n\n@section('title')\n\n@endsection\n\n\n@section('body')\n\n<div class=\"container\">\n <div class=\"container\">\n <h1 class=\"my-4\">Bienvenue sur Bonsaiie !</h1>\n \n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio,\n gravida pellentesque urna varius vitae. Sed dui lorem, adipiscing in adipiscing et,\n interdum nec metus. Mauris ultricies, justo eu convallis placerat, felis enim.</p>\n \n <p><a class=\"btn btn-primary btn-lg\" style=\"background-color: black;\" href=\"https://ar1.se/WTFDD9DZOL\" target=\"_blank\" role=\"button\">En savoir plus »</a></p>\n </div>\n \n \n <div class=\"row\">\n \n <div class=\"col-md-8\">\n <div id=\"carouselExampleIndicators\" class=\"carousel slide my-4\" data-ride=\"carousel\">\n <ol class=\"carousel-indicators\">\n <li data-target=\"#carouselExampleIndicators\" data-slide-to=\"0\" class=\"active\"></li>\n <li data-target=\"#carouselExampleIndicators\" data-slide-to=\"1\"></li>\n <li data-target=\"#carouselExampleIndicators\" data-slide-to=\"2\"></li>\n </ol>\n \n <div class=\"carousel-inner\" role=\"listbox\">\n <div class=\"carousel-item active\">\n <img class=\"d-block img-fluid\" src=\"http://placehold.it/900x350\" alt=\"First slide\">\n </div>\n <div class=\"carousel-item\">\n <img class=\"d-block img-fluid\" src=\"http://placehold.it/900x350\" alt=\"Second slide\">\n </div>\n <div class=\"carousel-item\">\n <img class=\"d-block img-fluid\" src=\"http://placehold.it/900x350\" alt=\"Third slide\">\n </div>\n </div>\n \n <a class=\"carousel-control-prev\" href=\"#carouselExampleIndicators\" role=\"button\" data-slide=\"prev\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"sr-only\">Previous</span>\n </a>\n \n <a class=\"carousel-control-next\" href=\"#carouselExampleIndicators\" role=\"button\" data-slide=\"next\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"sr-only\">Next</span>\n </a>\n </div>\n </div>\n \n <div class=\"col-md-4\">\n <h3 class=\"my-3\">Project Description</h3>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio,\n gravida pellentesque urna varius vitae. Sed dui lorem, adipiscing in adipiscing et,\n interdum nec metus. Mauris ultricies, justo eu convallis placerat, felis enim.</p>\n <h3 class=\"my-3\">Project Details</h3>\n <ul>\n <li>Lorem Ipsum</li>\n <li>Dolor Sit Amet</li>\n <li>Consectetur</li>\n <li>Adipiscing Elit</li>\n </ul>\n </div>\n\n </div>\n\n <h3 class=\"my-4\">Related Projects</h3>\n\n <div class=\"row\">\n\n <div class=\"col-md-3 col-sm-6 mb-4\">\n <a href=\"#\">\n <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">\n </a>\n </div>\n\n <div class=\"col-md-3 col-sm-6 mb-4\">\n <a href=\"#\">\n <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">\n </a>\n </div>\n\n <div class=\"col-md-3 col-sm-6 mb-4\">\n <a href=\"#\">\n <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">\n </a>\n </div>\n\n <div class=\"col-md-3 col-sm-6 mb-4\">\n <a href=\"#\">\n <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">\n </a>\n </div>\n\n </div>\n</div>\n@endsection","undoManager":{"mark":-2,"position":1,"stack":[[{"start":{"row":0,"column":0},"end":{"row":101,"column":11},"action":"insert","lines":["@extends('header1')","","@section('title')","Accueil","@endsection","","","@section('body')","","<div class=\"container\">"," <div class=\"container\">"," <h1 class=\"my-4\">Bienvenue sur Bonsaiie !</h1>"," "," <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio,"," gravida pellentesque urna varius vitae. Sed dui lorem, adipiscing in adipiscing et,"," interdum nec metus. Mauris ultricies, justo eu convallis placerat, felis enim.</p>"," "," <p><a class=\"btn btn-primary btn-lg\" style=\"background-color: black;\" href=\"https://ar1.se/WTFDD9DZOL\" target=\"_blank\" role=\"button\">En savoir plus »</a></p>"," </div>"," "," "," <div class=\"row\">"," "," <div class=\"col-md-8\">"," <div id=\"carouselExampleIndicators\" class=\"carousel slide my-4\" data-ride=\"carousel\">"," <ol class=\"carousel-indicators\">"," <li data-target=\"#carouselExampleIndicators\" data-slide-to=\"0\" class=\"active\"></li>"," <li data-target=\"#carouselExampleIndicators\" data-slide-to=\"1\"></li>"," <li data-target=\"#carouselExampleIndicators\" data-slide-to=\"2\"></li>"," </ol>"," "," <div class=\"carousel-inner\" role=\"listbox\">"," <div class=\"carousel-item active\">"," <img class=\"d-block img-fluid\" src=\"http://placehold.it/900x350\" alt=\"First slide\">"," </div>"," <div class=\"carousel-item\">"," <img class=\"d-block img-fluid\" src=\"http://placehold.it/900x350\" alt=\"Second slide\">"," </div>"," <div class=\"carousel-item\">"," <img class=\"d-block img-fluid\" src=\"http://placehold.it/900x350\" alt=\"Third slide\">"," </div>"," </div>"," "," <a class=\"carousel-control-prev\" href=\"#carouselExampleIndicators\" role=\"button\" data-slide=\"prev\">"," <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>"," <span class=\"sr-only\">Previous</span>"," </a>"," "," <a class=\"carousel-control-next\" href=\"#carouselExampleIndicators\" role=\"button\" data-slide=\"next\">"," <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>"," <span class=\"sr-only\">Next</span>"," </a>"," </div>"," </div>"," "," <div class=\"col-md-4\">"," <h3 class=\"my-3\">Project Description</h3>"," <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio,"," gravida pellentesque urna varius vitae. Sed dui lorem, adipiscing in adipiscing et,"," interdum nec metus. Mauris ultricies, justo eu convallis placerat, felis enim.</p>"," <h3 class=\"my-3\">Project Details</h3>"," <ul>"," <li>Lorem Ipsum</li>"," <li>Dolor Sit Amet</li>"," <li>Consectetur</li>"," <li>Adipiscing Elit</li>"," </ul>"," </div>",""," </div>",""," <h3 class=\"my-4\">Related Projects</h3>",""," <div class=\"row\">",""," <div class=\"col-md-3 col-sm-6 mb-4\">"," <a href=\"#\">"," <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">"," </a>"," </div>",""," <div class=\"col-md-3 col-sm-6 mb-4\">"," <a href=\"#\">"," <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">"," </a>"," </div>",""," <div class=\"col-md-3 col-sm-6 mb-4\">"," <a href=\"#\">"," <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">"," </a>"," </div>",""," <div class=\"col-md-3 col-sm-6 mb-4\">"," <a href=\"#\">"," <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">"," </a>"," </div>",""," </div>","</div>","@endsection"],"id":1}],[{"start":{"row":3,"column":0},"end":{"row":3,"column":7},"action":"remove","lines":["Accueil"],"id":2}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":3,"column":0},"end":{"row":3,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509111936980} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/all_products.blade.php b/workspace/.c9/metadata/workspace/resources/views/all_products.blade.php new file mode 100644 index 0000000..9548644 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/all_products.blade.php @@ -0,0 +1 @@ +{"changed":true,"filter":false,"title":"all_products.blade.php","tooltip":"/resources/views/all_products.blade.php","value":"@extends('layouts.app')\n\n@section('title')\n\tTous les produits\n@endsection\n\n\n@section('content')\n\n<div class=\"container\">\n\t<div class=\"container\">\n\t\t<h1 class=\"my-4\">Tout les produits</h1>\n\t\t\n\t\t<p>Retrouver sur cette page toutes les annonces des particulier cherchant à donner leurs produits</p>\n\t\t\n\t\t<p><a class=\"btn btn-primary btn-lg\" style=\"background-color: black;\" href=\"https://www.youtube.com/watch?v=-xSORIDw1Sg\" target=\"_blank\" role=\"button\">Surpriiiise »</a></p>\n\t</div>\n\t\n\t<div class=\"row\">\n\n\t\t<div class=\"col-lg-4 col-md-6 mb-4\">\n\t\t\t<div class=\"card h-100\">\n\t\t\t\t<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>\n\t\t\t\t<div class=\"card-body\">\n\t\t\t\t\t<h4 class=\"card-title\">\n\t\t\t\t\t\t<a href=\"#\">Item One</a>\n\t\t\t\t \t</h4>\n\t\t\t\t\t<!--<h5>$24.99</h5> -->\n\t\t\t\t \t<p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>\n\t\t\t\t</div>\n\t\t\t\t<!--\n\t\t\t\t<div class=\"card-footer\">\n\t\t\t\t \t<small class=\"text-muted\">★ ★ ★ ★ ☆</small>\n\t\t\t\t</div>\n\t\t\t\t-->\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-lg-4 col-md-6 mb-4\">\n\t\t\t<div class=\"card h-100\">\n\t\t\t\t<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>\n\t\t\t\t<div class=\"card-body\">\n\t\t\t\t \t<h4 class=\"card-title\">\n\t\t\t\t\t\t<a href=\"#\">Item Two</a>\n\t\t\t\t \t</h4>\n\t\t\t\t \t<h5>$24.99</h5>\n\t\t\t\t \t<p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur! Lorem ipsum dolor sit amet.</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"card-footer\">\n\t\t\t\t \t<small class=\"text-muted\">★ ★ ★ ★ ☆</small>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-lg-4 col-md-6 mb-4\">\n\t\t\t<div class=\"card h-100\">\n\t\t\t\t<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>\n\t\t\t\t<div class=\"card-body\">\n\t\t\t\t \t<h4 class=\"card-title\">\n\t\t\t\t\t\t<a href=\"#\">Item Three</a>\n\t\t\t\t \t</h4>\n\t\t\t\t \t<h5>$24.99</h5>\n\t\t\t\t \t<p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"card-footer\">\n\t\t\t\t \t<small class=\"text-muted\">★ ★ ★ ★ ☆</small>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-lg-4 col-md-6 mb-4\">\n\t\t\t<div class=\"card h-100\">\n\t\t\t\t<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>\n\t\t\t\t<div class=\"card-body\">\n\t\t\t\t \t<h4 class=\"card-title\">\n\t\t\t\t\t\t<a href=\"#\">Item Four</a>\n\t\t\t\t \t</h4>\n\t\t\t\t \t<h5>$24.99</h5>\n\t\t\t\t \t<p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"card-footer\">\n\t\t\t\t \t<small class=\"text-muted\">★ ★ ★ ★ ☆</small>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-lg-4 col-md-6 mb-4\">\n\t\t\t<div class=\"card h-100\">\n\t\t\t\t<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>\n\t\t\t\t<div class=\"card-body\">\n\t\t\t\t \t<h4 class=\"card-title\">\n\t\t\t\t\t\t<a href=\"#\">Item Five</a>\n\t\t\t\t \t</h4>\n\t\t\t\t \t<h5>$24.99</h5>\n\t\t\t\t \t<p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"card-footer\">\n\t\t\t\t \t<small class=\"text-muted\">★ ★ ★ ★ ☆</small>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-lg-4 col-md-6 mb-4\">\n\t\t\t<div class=\"card h-100\">\n\t\t\t\t<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>\n\t\t\t\t<div class=\"card-body\">\n\t\t\t\t \t<h4 class=\"card-title\">\n\t\t\t\t\t\t<a href=\"#\">Item Six</a>\n\t\t\t\t \t</h4>\n\t\t\t\t \t<h5>$24.99</h5>\n\t\t\t\t \t<p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"card-footer\">\n\t\t\t\t \t<small class=\"text-muted\">★ ★ ★ ★ ☆</small>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t</div>\n</div>\n@endsection","undoManager":{"mark":10,"position":27,"stack":[[{"start":{"row":0,"column":10},"end":{"row":0,"column":11},"action":"insert","lines":["l"],"id":418}],[{"start":{"row":0,"column":11},"end":{"row":0,"column":12},"action":"insert","lines":["a"],"id":419}],[{"start":{"row":0,"column":12},"end":{"row":0,"column":13},"action":"insert","lines":["y"],"id":420}],[{"start":{"row":0,"column":13},"end":{"row":0,"column":14},"action":"insert","lines":["o"],"id":421}],[{"start":{"row":0,"column":14},"end":{"row":0,"column":15},"action":"insert","lines":["u"],"id":422}],[{"start":{"row":0,"column":15},"end":{"row":0,"column":16},"action":"insert","lines":["t"],"id":423}],[{"start":{"row":0,"column":16},"end":{"row":0,"column":17},"action":"insert","lines":["s"],"id":424}],[{"start":{"row":0,"column":17},"end":{"row":0,"column":18},"action":"insert","lines":["."],"id":425}],[{"start":{"row":0,"column":18},"end":{"row":0,"column":24},"action":"remove","lines":["header"],"id":426},{"start":{"row":0,"column":18},"end":{"row":0,"column":19},"action":"insert","lines":["a"]}],[{"start":{"row":0,"column":19},"end":{"row":0,"column":20},"action":"insert","lines":["p"],"id":427}],[{"start":{"row":0,"column":20},"end":{"row":0,"column":21},"action":"insert","lines":["p"],"id":428}],[{"start":{"row":29,"column":10},"end":{"row":30,"column":0},"action":"insert","lines":["",""],"id":429},{"start":{"row":30,"column":0},"end":{"row":30,"column":4},"action":"insert","lines":["\t\t\t\t"]}],[{"start":{"row":30,"column":4},"end":{"row":30,"column":5},"action":"insert","lines":["<"],"id":430}],[{"start":{"row":30,"column":5},"end":{"row":30,"column":6},"action":"insert","lines":["-"],"id":431}],[{"start":{"row":30,"column":6},"end":{"row":30,"column":7},"action":"insert","lines":["-"],"id":432}],[{"start":{"row":30,"column":5},"end":{"row":30,"column":6},"action":"insert","lines":["!"],"id":433}],[{"start":{"row":33,"column":10},"end":{"row":34,"column":0},"action":"insert","lines":["",""],"id":434},{"start":{"row":34,"column":0},"end":{"row":34,"column":4},"action":"insert","lines":["\t\t\t\t"]}],[{"start":{"row":34,"column":4},"end":{"row":34,"column":5},"action":"insert","lines":["-"],"id":435}],[{"start":{"row":34,"column":5},"end":{"row":34,"column":6},"action":"insert","lines":["-"],"id":436}],[{"start":{"row":34,"column":6},"end":{"row":34,"column":7},"action":"insert","lines":[">"],"id":437}],[{"start":{"row":27,"column":5},"end":{"row":27,"column":6},"action":"insert","lines":["<"],"id":438}],[{"start":{"row":27,"column":6},"end":{"row":27,"column":7},"action":"insert","lines":["!"],"id":439}],[{"start":{"row":27,"column":7},"end":{"row":27,"column":8},"action":"insert","lines":["-"],"id":440}],[{"start":{"row":27,"column":8},"end":{"row":27,"column":9},"action":"insert","lines":["-"],"id":441}],[{"start":{"row":27,"column":24},"end":{"row":27,"column":25},"action":"insert","lines":[" "],"id":442}],[{"start":{"row":27,"column":25},"end":{"row":27,"column":26},"action":"insert","lines":["-"],"id":443}],[{"start":{"row":27,"column":26},"end":{"row":27,"column":27},"action":"insert","lines":["-"],"id":444}],[{"start":{"row":27,"column":27},"end":{"row":27,"column":28},"action":"insert","lines":[">"],"id":445}]]},"ace":{"folds":[],"scrolltop":49.00000000000008,"scrollleft":8.40000000000034,"selection":{"start":{"row":25,"column":18},"end":{"row":25,"column":26},"isBackwards":true},"options":{"tabSize":4,"useSoftTabs":false,"guessTabSize":false,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":2,"state":"start","mode":"ace/mode/php"}},"timestamp":1509579407790} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/auth/emails/password.blade.php b/workspace/.c9/metadata/workspace/resources/views/auth/emails/password.blade.php new file mode 100644 index 0000000..2b14d03 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/auth/emails/password.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"password.blade.php","tooltip":"/resources/views/auth/emails/password.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":1,"column":0},"end":{"row":1,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":32,"mode":"ace/mode/php"}},"timestamp":1509725841732,"hash":"b3545d06fd3c0e9f411d6f92ef1a0d90098921a3"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/auth/login.blade.1.php b/workspace/.c9/metadata/workspace/resources/views/auth/login.blade.1.php new file mode 100644 index 0000000..ebd9dfd --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/auth/login.blade.1.php @@ -0,0 +1 @@ +{"filter":false,"title":"login.blade.1.php","tooltip":"/resources/views/auth/login.blade.1.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":22,"column":32},"end":{"row":22,"column":33},"action":"insert","lines":["l"],"id":115}],[{"start":{"row":35,"column":20},"end":{"row":36,"column":0},"action":"insert","lines":["",""],"id":116},{"start":{"row":36,"column":0},"end":{"row":36,"column":20},"action":"insert","lines":[" "]}],[{"start":{"row":36,"column":20},"end":{"row":36,"column":21},"action":"insert","lines":["<"],"id":117}],[{"start":{"row":36,"column":21},"end":{"row":36,"column":22},"action":"insert","lines":["!"],"id":118}],[{"start":{"row":36,"column":22},"end":{"row":36,"column":23},"action":"insert","lines":["-"],"id":119}],[{"start":{"row":36,"column":23},"end":{"row":36,"column":24},"action":"insert","lines":["-"],"id":120}],[{"start":{"row":36,"column":24},"end":{"row":36,"column":25},"action":"insert","lines":[" "],"id":121}],[{"start":{"row":36,"column":25},"end":{"row":36,"column":26},"action":"insert","lines":["-"],"id":122}],[{"start":{"row":36,"column":26},"end":{"row":36,"column":27},"action":"insert","lines":["-"],"id":123}],[{"start":{"row":36,"column":27},"end":{"row":36,"column":28},"action":"insert","lines":[">"],"id":124}],[{"start":{"row":36,"column":24},"end":{"row":36,"column":25},"action":"insert","lines":[" "],"id":125}],[{"start":{"row":36,"column":25},"end":{"row":36,"column":26},"action":"insert","lines":["V"],"id":126}],[{"start":{"row":36,"column":26},"end":{"row":36,"column":27},"action":"insert","lines":["é"],"id":127}],[{"start":{"row":36,"column":27},"end":{"row":36,"column":28},"action":"insert","lines":["r"],"id":128}],[{"start":{"row":36,"column":28},"end":{"row":36,"column":29},"action":"insert","lines":["i"],"id":129}],[{"start":{"row":36,"column":29},"end":{"row":36,"column":30},"action":"insert","lines":["f"],"id":130}],[{"start":{"row":36,"column":30},"end":{"row":36,"column":31},"action":"insert","lines":[" "],"id":131}],[{"start":{"row":36,"column":31},"end":{"row":36,"column":32},"action":"insert","lines":["d"],"id":132}],[{"start":{"row":36,"column":32},"end":{"row":36,"column":33},"action":"insert","lines":["u"],"id":133}],[{"start":{"row":36,"column":33},"end":{"row":36,"column":34},"action":"insert","lines":[" "],"id":134}],[{"start":{"row":36,"column":34},"end":{"row":36,"column":35},"action":"insert","lines":["m"],"id":135}],[{"start":{"row":36,"column":35},"end":{"row":36,"column":36},"action":"insert","lines":["o"],"id":136}],[{"start":{"row":36,"column":36},"end":{"row":36,"column":37},"action":"insert","lines":["t"],"id":137}],[{"start":{"row":36,"column":37},"end":{"row":36,"column":38},"action":"insert","lines":[" "],"id":138}],[{"start":{"row":36,"column":38},"end":{"row":36,"column":39},"action":"insert","lines":["d"],"id":139}],[{"start":{"row":36,"column":39},"end":{"row":36,"column":40},"action":"insert","lines":[" "],"id":140}],[{"start":{"row":36,"column":39},"end":{"row":36,"column":40},"action":"remove","lines":[" "],"id":141}],[{"start":{"row":36,"column":39},"end":{"row":36,"column":40},"action":"insert","lines":["e"],"id":142}],[{"start":{"row":36,"column":40},"end":{"row":36,"column":41},"action":"insert","lines":[" "],"id":143}],[{"start":{"row":36,"column":41},"end":{"row":36,"column":42},"action":"insert","lines":["p"],"id":144}],[{"start":{"row":36,"column":42},"end":{"row":36,"column":43},"action":"insert","lines":["a"],"id":145}],[{"start":{"row":36,"column":43},"end":{"row":36,"column":44},"action":"insert","lines":["s"],"id":146}],[{"start":{"row":36,"column":44},"end":{"row":36,"column":45},"action":"insert","lines":["s"],"id":147}],[{"start":{"row":36,"column":45},"end":{"row":36,"column":46},"action":"insert","lines":["e"],"id":148}],[{"start":{"row":49,"column":11},"end":{"row":50,"column":0},"action":"insert","lines":["",""],"id":149},{"start":{"row":50,"column":0},"end":{"row":50,"column":5},"action":"insert","lines":["\t\t\t\t\t"]}],[{"start":{"row":97,"column":24},"end":{"row":108,"column":30},"action":"remove","lines":["<div class=\"form-group{{ $errors->has('password') ? ' has-error' : '' }}\">",""," <div class=\"col-md-6\">"," <input id=\"password\" type=\"password\" class=\"form-control\" name=\"password\" placeholder=\"Mot de passe\">",""," @if ($errors->has('password'))"," <span class=\"help-block\">"," <strong>{{ $errors->first('password') }}</strong>"," </span>"," @endif"," </div>"," </div>"],"id":150}],[{"start":{"row":97,"column":20},"end":{"row":97,"column":24},"action":"remove","lines":[" "],"id":151}],[{"start":{"row":97,"column":16},"end":{"row":97,"column":20},"action":"remove","lines":[" "],"id":152}],[{"start":{"row":97,"column":12},"end":{"row":97,"column":16},"action":"remove","lines":[" "],"id":153}],[{"start":{"row":97,"column":8},"end":{"row":97,"column":12},"action":"remove","lines":[" "],"id":154}],[{"start":{"row":97,"column":4},"end":{"row":97,"column":8},"action":"remove","lines":[" "],"id":155}],[{"start":{"row":97,"column":0},"end":{"row":97,"column":4},"action":"remove","lines":[" "],"id":156}],[{"start":{"row":96,"column":0},"end":{"row":97,"column":0},"action":"remove","lines":["",""],"id":157}],[{"start":{"row":95,"column":24},"end":{"row":96,"column":0},"action":"remove","lines":["",""],"id":158}],[{"start":{"row":95,"column":20},"end":{"row":95,"column":24},"action":"remove","lines":[" "],"id":159}],[{"start":{"row":95,"column":16},"end":{"row":95,"column":20},"action":"remove","lines":[" "],"id":160}],[{"start":{"row":95,"column":12},"end":{"row":95,"column":16},"action":"remove","lines":[" "],"id":161}],[{"start":{"row":95,"column":8},"end":{"row":95,"column":12},"action":"remove","lines":[" "],"id":162}],[{"start":{"row":95,"column":4},"end":{"row":95,"column":8},"action":"remove","lines":[" "],"id":163}],[{"start":{"row":95,"column":0},"end":{"row":95,"column":4},"action":"remove","lines":[" "],"id":164}],[{"start":{"row":94,"column":0},"end":{"row":95,"column":0},"action":"remove","lines":["",""],"id":165}],[{"start":{"row":96,"column":24},"end":{"row":104,"column":30},"action":"remove","lines":["<div class=\"form-group\">"," <div class=\"col-md-6 col-md-offset-4\">"," <div class=\"checkbox\">"," <label>"," <input type=\"checkbox\" name=\"remember\"> Remember Me"," </label>"," </div>"," </div>"," </div>"],"id":166}],[{"start":{"row":49,"column":11},"end":{"row":50,"column":0},"action":"insert","lines":["",""],"id":167},{"start":{"row":50,"column":0},"end":{"row":50,"column":5},"action":"insert","lines":["\t\t\t\t\t"]}],[{"start":{"row":50,"column":5},"end":{"row":51,"column":0},"action":"insert","lines":["",""],"id":168},{"start":{"row":51,"column":0},"end":{"row":51,"column":5},"action":"insert","lines":["\t\t\t\t\t"]}],[{"start":{"row":51,"column":5},"end":{"row":59,"column":30},"action":"insert","lines":["<div class=\"form-group\">"," <div class=\"col-md-6 col-md-offset-4\">"," <div class=\"checkbox\">"," <label>"," <input type=\"checkbox\" name=\"remember\"> Remember Me"," </label>"," </div>"," </div>"," </div>"],"id":169}],[{"start":{"row":59,"column":20},"end":{"row":59,"column":24},"action":"remove","lines":[" "],"id":170}],[{"start":{"row":58,"column":24},"end":{"row":58,"column":28},"action":"remove","lines":[" "],"id":171}],[{"start":{"row":57,"column":28},"end":{"row":57,"column":32},"action":"remove","lines":[" "],"id":172}],[{"start":{"row":52,"column":24},"end":{"row":52,"column":28},"action":"remove","lines":[" "],"id":173}],[{"start":{"row":53,"column":24},"end":{"row":53,"column":28},"action":"remove","lines":[" "],"id":174}],[{"start":{"row":54,"column":28},"end":{"row":54,"column":32},"action":"remove","lines":[" "],"id":175}],[{"start":{"row":55,"column":28},"end":{"row":55,"column":32},"action":"remove","lines":[" "],"id":176}],[{"start":{"row":56,"column":28},"end":{"row":56,"column":32},"action":"remove","lines":[" "],"id":177}],[{"start":{"row":37,"column":94},"end":{"row":40,"column":32},"action":"remove","lines":["",""," <div class=\"col-md-6\">"," "],"id":178}],[{"start":{"row":37,"column":94},"end":{"row":38,"column":24},"action":"insert","lines":[""," "],"id":179}],[{"start":{"row":38,"column":24},"end":{"row":39,"column":0},"action":"insert","lines":["",""],"id":180},{"start":{"row":39,"column":0},"end":{"row":39,"column":24},"action":"insert","lines":[" "]}],[{"start":{"row":45,"column":28},"end":{"row":45,"column":32},"action":"remove","lines":[" "],"id":181}],[{"start":{"row":44,"column":32},"end":{"row":44,"column":36},"action":"remove","lines":[" "],"id":182}],[{"start":{"row":43,"column":36},"end":{"row":43,"column":40},"action":"remove","lines":[" "],"id":183}],[{"start":{"row":42,"column":32},"end":{"row":42,"column":36},"action":"remove","lines":[" "],"id":184}],[{"start":{"row":41,"column":28},"end":{"row":41,"column":32},"action":"remove","lines":[" "],"id":185}],[{"start":{"row":46,"column":24},"end":{"row":46,"column":28},"action":"remove","lines":[" "],"id":186}],[{"start":{"row":46,"column":30},"end":{"row":47,"column":30},"action":"remove","lines":[""," </div>"],"id":187}],[{"start":{"row":46,"column":30},"end":{"row":47,"column":11},"action":"remove","lines":["","\t\t\t\t\t</div>"],"id":188}],[{"start":{"row":46,"column":20},"end":{"row":46,"column":24},"action":"remove","lines":[" "],"id":189}],[{"start":{"row":41,"column":26},"end":{"row":41,"column":27},"action":"remove","lines":[" "],"id":190}],[{"start":{"row":41,"column":26},"end":{"row":41,"column":27},"action":"remove","lines":[" "],"id":191}],[{"start":{"row":41,"column":25},"end":{"row":41,"column":26},"action":"remove","lines":[" "],"id":192}],[{"start":{"row":41,"column":24},"end":{"row":41,"column":25},"action":"remove","lines":[" "],"id":193}],[{"start":{"row":42,"column":24},"end":{"row":42,"column":28},"action":"remove","lines":[" "],"id":194}],[{"start":{"row":43,"column":24},"end":{"row":43,"column":28},"action":"remove","lines":[" "],"id":195}],[{"start":{"row":44,"column":24},"end":{"row":44,"column":28},"action":"remove","lines":[" "],"id":196}],[{"start":{"row":45,"column":24},"end":{"row":45,"column":28},"action":"remove","lines":[" "],"id":197}],[{"start":{"row":58,"column":5},"end":{"row":77,"column":11},"action":"remove","lines":["<!-- Prénom utilisateur -->","\t\t\t\t\t<div class=\"form-group {!! $errors->has('prenom') ? 'has-error' : '' !!}\">","\t\t\t\t\t\t{!! Form::text('prenom', null, ['class' => 'form-control', 'placeholder' => 'Votre prénom']) !!}","\t\t\t\t\t\t{!! $errors->first('prenom', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<!-- Pseudo utilisateur -->","\t\t\t\t\t<div class=\"form-group {!! $errors->has('pseudo') ? 'has-error' : '' !!}\">","\t\t\t\t\t\t{!! Form::text('pseudo', null, ['class' => 'form-control', 'placeholder' => 'Votre pseudo']) !!}","\t\t\t\t\t\t{!! $errors->first('pseudo', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<!-- Email utilisateur -->","\t\t\t\t\t<div class=\"form-group {!! $errors->has('email') ? 'has-error' : '' !!}\">","\t\t\t\t\t\t{!! Form::email('email', null, ['class' => 'form-control', 'placeholder' => 'Votre email']) !!}","\t\t\t\t\t\t{!! $errors->first('email', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<!-- Mot de passe utilisateur -->","\t\t\t\t\t<div class=\"form-group {!! $errors->has('pass') ? 'has-error' : '' !!}\">","\t\t\t\t\t\t{!! Form::password('pass', ['class' => 'form-control', 'placeholder' => 'Votre mot de passe']) !!}","\t\t\t\t\t\t{!! $errors->first('pass', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>"],"id":198}],[{"start":{"row":59,"column":5},"end":{"row":70,"column":11},"action":"remove","lines":["<!-- Confirmation Mot de passe utilisateur -->","\t\t\t\t\t<div class=\"form-group {!! $errors->has('passValid') ? 'has-error' : '' !!}\">","\t\t\t\t\t\t{!! Form::password('passValid', ['class' => 'form-control', 'placeholder' => 'Confirmez votre mot de passe']) !!}","\t\t\t\t\t\t{!! $errors->first('passValid', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<!-- Vérif CGU utilisateur -->","\t\t\t\t\t<div class=\"form-group {!! $errors->has('cgu') ? 'has-error' : '' !!} mb-5\">","\t\t\t\t\t\t{!! Form::checkbox('cgu') !!}","\t\t\t\t\t\t<span class=\"ml-3\">J'accepte les <a href=\"cgu\" target=\"_blank\">CGU</a>.</span>","\t\t\t\t\t\t<!-- <input class=\"field\" name=\"agree\" type=\"checkbox\" value=\"1\"> -->","\t\t\t\t\t\t{!! $errors->first('cgu', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>"],"id":199}],[{"start":{"row":75,"column":24},"end":{"row":83,"column":30},"action":"remove","lines":["<div class=\"form-group\">"," <div class=\"col-md-6 col-md-offset-4\">"," <button type=\"submit\" class=\"btn btn-primary\">"," <i class=\"fa fa-btn fa-sign-in\"></i> Login"," </button>",""," <a class=\"btn btn-link\" href=\"{{ url('/password/reset') }}\">Forgot Your Password?</a>"," </div>"," </div>"],"id":200}],[{"start":{"row":57,"column":5},"end":{"row":58,"column":0},"action":"insert","lines":["",""],"id":201},{"start":{"row":58,"column":0},"end":{"row":58,"column":5},"action":"insert","lines":["\t\t\t\t\t"]}],[{"start":{"row":58,"column":5},"end":{"row":66,"column":30},"action":"insert","lines":["<div class=\"form-group\">"," <div class=\"col-md-6 col-md-offset-4\">"," <button type=\"submit\" class=\"btn btn-primary\">"," <i class=\"fa fa-btn fa-sign-in\"></i> Login"," </button>",""," <a class=\"btn btn-link\" href=\"{{ url('/password/reset') }}\">Forgot Your Password?</a>"," </div>"," </div>"],"id":202}],[{"start":{"row":59,"column":24},"end":{"row":59,"column":28},"action":"remove","lines":[" "],"id":203}],[{"start":{"row":60,"column":28},"end":{"row":60,"column":32},"action":"remove","lines":[" "],"id":204}],[{"start":{"row":61,"column":28},"end":{"row":61,"column":32},"action":"remove","lines":[" "],"id":205}],[{"start":{"row":62,"column":28},"end":{"row":62,"column":32},"action":"remove","lines":[" "],"id":206}],[{"start":{"row":64,"column":28},"end":{"row":64,"column":32},"action":"remove","lines":[" "],"id":207}],[{"start":{"row":65,"column":24},"end":{"row":65,"column":28},"action":"remove","lines":[" "],"id":208}],[{"start":{"row":66,"column":20},"end":{"row":66,"column":24},"action":"remove","lines":[" "],"id":209}],[{"start":{"row":85,"column":20},"end":{"row":85,"column":27},"action":"remove","lines":["</form>"],"id":210}],[{"start":{"row":68,"column":5},"end":{"row":68,"column":12},"action":"insert","lines":["</form>"],"id":211}],[{"start":{"row":68,"column":4},"end":{"row":68,"column":5},"action":"remove","lines":["\t"],"id":212}],[{"start":{"row":68,"column":11},"end":{"row":73,"column":25},"action":"remove","lines":["","\t\t\t\t\t<!-- Bouton confirmation -->","\t\t\t\t\t<div class=\"form-group mb-0\">","\t\t\t\t\t\t{!! Form::submit('Envoyer !', ['class' => 'btn btn-info']) !!}","\t\t\t\t\t</div>","\t\t\t\t{!! Form::close() !!}"],"id":213}],[{"start":{"row":75,"column":0},"end":{"row":85,"column":6},"action":"remove","lines":["",""," ",""," "," "," </div>"," </div>"," </div>"," </div>","</div>"],"id":214}],[{"start":{"row":74,"column":0},"end":{"row":75,"column":0},"action":"remove","lines":["",""],"id":215}]]},"ace":{"folds":[],"scrolltop":774,"scrollleft":0,"selection":{"start":{"row":74,"column":0},"end":{"row":74,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":54,"state":"start","mode":"ace/mode/php"}},"timestamp":1509577303017,"hash":"7f4f10ed16595eda53f283c8c48499d5b9ebd858"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/auth/login.blade.php b/workspace/.c9/metadata/workspace/resources/views/auth/login.blade.php new file mode 100644 index 0000000..d8bfb8a --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/auth/login.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"login.blade.php","tooltip":"/resources/views/auth/login.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":886.0556130409241,"scrollleft":0,"selection":{"start":{"row":20,"column":36},"end":{"row":20,"column":36},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1510615176718,"hash":"e639aff65866fbba665ab471cf9fddf3280389af"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/auth/passwords/email.blade.php b/workspace/.c9/metadata/workspace/resources/views/auth/passwords/email.blade.php new file mode 100644 index 0000000..3fc6be7 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/auth/passwords/email.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"email.blade.php","tooltip":"/resources/views/auth/passwords/email.blade.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":46,"column":77},"end":{"row":46,"column":78},"action":"insert","lines":["o"],"id":182}],[{"start":{"row":46,"column":78},"end":{"row":46,"column":79},"action":"insert","lines":["y"],"id":183}],[{"start":{"row":46,"column":79},"end":{"row":46,"column":80},"action":"insert","lines":["e"],"id":184}],[{"start":{"row":46,"column":80},"end":{"row":46,"column":81},"action":"insert","lines":["z"],"id":185}],[{"start":{"row":46,"column":81},"end":{"row":46,"column":82},"action":"insert","lines":[" "],"id":186}],[{"start":{"row":46,"column":82},"end":{"row":46,"column":83},"action":"insert","lines":["m"],"id":187}],[{"start":{"row":46,"column":83},"end":{"row":46,"column":84},"action":"insert","lines":["o"],"id":188}],[{"start":{"row":46,"column":84},"end":{"row":46,"column":85},"action":"insert","lines":["i"],"id":189}],[{"start":{"row":46,"column":85},"end":{"row":46,"column":86},"action":"insert","lines":[" "],"id":190}],[{"start":{"row":46,"column":86},"end":{"row":46,"column":87},"action":"insert","lines":["u"],"id":191}],[{"start":{"row":46,"column":87},"end":{"row":46,"column":88},"action":"insert","lines":["n"],"id":192}],[{"start":{"row":46,"column":88},"end":{"row":46,"column":89},"action":"insert","lines":[" "],"id":193}],[{"start":{"row":46,"column":89},"end":{"row":46,"column":90},"action":"insert","lines":["e"],"id":194}],[{"start":{"row":46,"column":90},"end":{"row":46,"column":91},"action":"insert","lines":["m"],"id":195}],[{"start":{"row":46,"column":91},"end":{"row":46,"column":92},"action":"insert","lines":["a"],"id":196}],[{"start":{"row":46,"column":92},"end":{"row":46,"column":93},"action":"insert","lines":["i"],"id":197}],[{"start":{"row":46,"column":93},"end":{"row":46,"column":94},"action":"insert","lines":["l"],"id":198}],[{"start":{"row":46,"column":93},"end":{"row":46,"column":94},"action":"remove","lines":["l"],"id":199}],[{"start":{"row":46,"column":92},"end":{"row":46,"column":93},"action":"remove","lines":["i"],"id":200}],[{"start":{"row":46,"column":91},"end":{"row":46,"column":92},"action":"remove","lines":["a"],"id":201}],[{"start":{"row":46,"column":90},"end":{"row":46,"column":91},"action":"remove","lines":["m"],"id":202}],[{"start":{"row":46,"column":89},"end":{"row":46,"column":90},"action":"remove","lines":["e"],"id":203}],[{"start":{"row":46,"column":88},"end":{"row":46,"column":89},"action":"remove","lines":[" "],"id":204}],[{"start":{"row":46,"column":87},"end":{"row":46,"column":88},"action":"remove","lines":["n"],"id":205}],[{"start":{"row":46,"column":86},"end":{"row":46,"column":87},"action":"remove","lines":["u"],"id":206}],[{"start":{"row":46,"column":85},"end":{"row":46,"column":86},"action":"remove","lines":[" "],"id":207}],[{"start":{"row":46,"column":84},"end":{"row":46,"column":85},"action":"remove","lines":["i"],"id":208}],[{"start":{"row":46,"column":83},"end":{"row":46,"column":84},"action":"remove","lines":["o"],"id":209}],[{"start":{"row":46,"column":82},"end":{"row":46,"column":83},"action":"remove","lines":["m"],"id":210}],[{"start":{"row":46,"column":81},"end":{"row":46,"column":82},"action":"remove","lines":[" "],"id":211}],[{"start":{"row":46,"column":80},"end":{"row":46,"column":81},"action":"remove","lines":["z"],"id":212}],[{"start":{"row":46,"column":79},"end":{"row":46,"column":80},"action":"remove","lines":["e"],"id":213}],[{"start":{"row":46,"column":78},"end":{"row":46,"column":79},"action":"remove","lines":["y"],"id":214}],[{"start":{"row":46,"column":77},"end":{"row":46,"column":78},"action":"remove","lines":["o"],"id":215}],[{"start":{"row":46,"column":76},"end":{"row":46,"column":77},"action":"remove","lines":["v"],"id":216}],[{"start":{"row":46,"column":75},"end":{"row":46,"column":76},"action":"remove","lines":["n"],"id":217}],[{"start":{"row":46,"column":74},"end":{"row":46,"column":75},"action":"remove","lines":["E"],"id":218}],[{"start":{"row":46,"column":74},"end":{"row":46,"column":75},"action":"insert","lines":["E"],"id":219}],[{"start":{"row":46,"column":75},"end":{"row":46,"column":76},"action":"insert","lines":["n"],"id":220}],[{"start":{"row":46,"column":76},"end":{"row":46,"column":77},"action":"insert","lines":["v"],"id":221}],[{"start":{"row":46,"column":77},"end":{"row":46,"column":78},"action":"insert","lines":["o"],"id":222}],[{"start":{"row":46,"column":78},"end":{"row":46,"column":79},"action":"insert","lines":["y"],"id":223}],[{"start":{"row":46,"column":79},"end":{"row":46,"column":80},"action":"insert","lines":["e"],"id":224}],[{"start":{"row":46,"column":80},"end":{"row":46,"column":81},"action":"insert","lines":["r"],"id":225}],[{"start":{"row":46,"column":81},"end":{"row":46,"column":82},"action":"insert","lines":[" "],"id":226}],[{"start":{"row":46,"column":82},"end":{"row":46,"column":83},"action":"insert","lines":["u"],"id":227}],[{"start":{"row":46,"column":83},"end":{"row":46,"column":84},"action":"insert","lines":["n"],"id":228}],[{"start":{"row":46,"column":84},"end":{"row":46,"column":85},"action":"insert","lines":[" "],"id":229}],[{"start":{"row":46,"column":85},"end":{"row":46,"column":86},"action":"insert","lines":["e"],"id":230}],[{"start":{"row":46,"column":86},"end":{"row":46,"column":87},"action":"insert","lines":["m"],"id":231}],[{"start":{"row":46,"column":87},"end":{"row":46,"column":88},"action":"insert","lines":["a"],"id":232}],[{"start":{"row":46,"column":88},"end":{"row":46,"column":89},"action":"insert","lines":["i"],"id":233}],[{"start":{"row":46,"column":89},"end":{"row":46,"column":90},"action":"insert","lines":["l"],"id":234}],[{"start":{"row":46,"column":74},"end":{"row":46,"column":90},"action":"remove","lines":["Envoyer un email"],"id":235},{"start":{"row":46,"column":74},"end":{"row":46,"column":75},"action":"insert","lines":["C"]}],[{"start":{"row":46,"column":75},"end":{"row":46,"column":76},"action":"insert","lines":["h"],"id":236}],[{"start":{"row":46,"column":76},"end":{"row":46,"column":77},"action":"insert","lines":["a"],"id":237}],[{"start":{"row":46,"column":77},"end":{"row":46,"column":78},"action":"insert","lines":["n"],"id":238}],[{"start":{"row":46,"column":78},"end":{"row":46,"column":79},"action":"insert","lines":["g"],"id":239}],[{"start":{"row":46,"column":79},"end":{"row":46,"column":80},"action":"insert","lines":["e"],"id":240}],[{"start":{"row":46,"column":80},"end":{"row":46,"column":81},"action":"insert","lines":["r"],"id":241}],[{"start":{"row":46,"column":81},"end":{"row":46,"column":82},"action":"insert","lines":[" "],"id":242}],[{"start":{"row":46,"column":82},"end":{"row":46,"column":83},"action":"insert","lines":["m"],"id":243}],[{"start":{"row":46,"column":83},"end":{"row":46,"column":84},"action":"insert","lines":["o"],"id":244}],[{"start":{"row":46,"column":84},"end":{"row":46,"column":85},"action":"insert","lines":["n"],"id":245}],[{"start":{"row":46,"column":85},"end":{"row":46,"column":86},"action":"insert","lines":[" "],"id":246}],[{"start":{"row":46,"column":86},"end":{"row":46,"column":87},"action":"insert","lines":["m"],"id":247}],[{"start":{"row":46,"column":87},"end":{"row":46,"column":88},"action":"insert","lines":["o"],"id":248}],[{"start":{"row":46,"column":88},"end":{"row":46,"column":89},"action":"insert","lines":["t"],"id":249}],[{"start":{"row":46,"column":89},"end":{"row":46,"column":90},"action":"insert","lines":[" "],"id":250}],[{"start":{"row":46,"column":90},"end":{"row":46,"column":91},"action":"insert","lines":["d"],"id":251}],[{"start":{"row":46,"column":91},"end":{"row":46,"column":92},"action":"insert","lines":["e"],"id":252}],[{"start":{"row":46,"column":92},"end":{"row":46,"column":93},"action":"insert","lines":[" "],"id":253}],[{"start":{"row":46,"column":93},"end":{"row":46,"column":94},"action":"insert","lines":["p"],"id":254}],[{"start":{"row":46,"column":94},"end":{"row":46,"column":95},"action":"insert","lines":["a"],"id":255}],[{"start":{"row":46,"column":95},"end":{"row":46,"column":96},"action":"insert","lines":["s"],"id":256}],[{"start":{"row":46,"column":96},"end":{"row":46,"column":97},"action":"insert","lines":["s"],"id":257}],[{"start":{"row":46,"column":97},"end":{"row":46,"column":98},"action":"insert","lines":["e"],"id":258}],[{"start":{"row":54,"column":4},"end":{"row":104,"column":23},"action":"remove","lines":["<form class=\"form-horizontal\" role=\"form\" method=\"POST\" action=\"{{ url('/register') }}\">"," {{ csrf_field() }}",""," <div class=\"form-group{{ $errors->has('name') ? ' has-error' : '' }}\">"," <input id=\"name\" type=\"text\" class=\"form-control\" name=\"name\" value=\"{{ old('name') }}\" placeholder=\"Pseudo\">",""," @if ($errors->has('name'))"," <span class=\"help-block\">"," <strong>{{ $errors->first('name') }}</strong>"," </span>"," @endif"," </div>","\t\t\t\t\t","\t\t\t\t\t<div class=\"form-group{{ $errors->has('email') ? ' has-error' : '' }}\">"," <input id=\"email\" type=\"email\" class=\"form-control\" name=\"email\" value=\"{{ old('email') }}\" placeholder=\"Email\">",""," @if ($errors->has('email'))"," <span class=\"help-block\">"," <strong>{{ $errors->first('email') }}</strong>"," </span>"," @endif"," </div>",""," <div class=\"form-group{{ $errors->has('password') ? ' has-error' : '' }}\">"," <input id=\"password\" type=\"password\" class=\"form-control\" name=\"password\" placeholder=\"Mot de passe\">",""," @if ($errors->has('password'))"," <span class=\"help-block\">"," <strong>{{ $errors->first('password') }}</strong>"," </span>"," @endif"," </div>",""," <div class=\"form-group{{ $errors->has('password_confirmation') ? ' has-error' : '' }}\">"," <input id=\"password-confirm\" type=\"password\" class=\"form-control\" name=\"password_confirmation\" placeholder=\"Confirmez votre mot de passe\">",""," @if ($errors->has('password_confirmation'))"," <span class=\"help-block\">"," <strong>{{ $errors->first('password_confirmation') }}</strong>"," </span>"," @endif"," </div>","\t\t\t\t","\t\t\t\t <div class=\"form-group mt-5\">"," <div class=\"col-md-6 col-md-offset-4\">"," <button type=\"submit\" class=\"btn btn-primary\">"," <i class=\"fa fa-btn fa-user\"></i> S'inscrire"," </button>"," </div>"," </div>"," </form>"],"id":259}],[{"start":{"row":52,"column":7},"end":{"row":54,"column":4},"action":"remove","lines":["","\t\t\t ","\t\t\t\t"],"id":260}],[{"start":{"row":52,"column":6},"end":{"row":52,"column":7},"action":"remove","lines":[" "],"id":261}],[{"start":{"row":52,"column":5},"end":{"row":52,"column":6},"action":"remove","lines":[" "],"id":262}],[{"start":{"row":52,"column":4},"end":{"row":52,"column":5},"action":"remove","lines":[" "],"id":263}],[{"start":{"row":52,"column":3},"end":{"row":52,"column":4},"action":"remove","lines":[" "],"id":264}],[{"start":{"row":52,"column":2},"end":{"row":52,"column":3},"action":"remove","lines":["\t"],"id":265}],[{"start":{"row":52,"column":1},"end":{"row":52,"column":2},"action":"remove","lines":["\t"],"id":266}],[{"start":{"row":52,"column":0},"end":{"row":52,"column":1},"action":"remove","lines":["\t"],"id":267}],[{"start":{"row":51,"column":7},"end":{"row":52,"column":0},"action":"remove","lines":["",""],"id":268}],[{"start":{"row":51,"column":6},"end":{"row":51,"column":7},"action":"remove","lines":[" "],"id":269}],[{"start":{"row":51,"column":5},"end":{"row":51,"column":6},"action":"remove","lines":[" "],"id":270}],[{"start":{"row":51,"column":4},"end":{"row":51,"column":5},"action":"remove","lines":[" "],"id":271}],[{"start":{"row":51,"column":3},"end":{"row":51,"column":4},"action":"remove","lines":[" "],"id":272}],[{"start":{"row":51,"column":2},"end":{"row":51,"column":3},"action":"remove","lines":["\t"],"id":273}],[{"start":{"row":51,"column":1},"end":{"row":51,"column":2},"action":"remove","lines":["\t"],"id":274}],[{"start":{"row":51,"column":0},"end":{"row":51,"column":1},"action":"remove","lines":["\t"],"id":275}],[{"start":{"row":50,"column":27},"end":{"row":51,"column":0},"action":"remove","lines":["",""],"id":276}],[{"start":{"row":22,"column":0},"end":{"row":22,"column":4},"action":"remove","lines":[" "],"id":277},{"start":{"row":23,"column":0},"end":{"row":23,"column":4},"action":"remove","lines":[" "]},{"start":{"row":24,"column":0},"end":{"row":24,"column":4},"action":"remove","lines":[" "]},{"start":{"row":25,"column":0},"end":{"row":25,"column":4},"action":"remove","lines":[" "]},{"start":{"row":27,"column":0},"end":{"row":27,"column":4},"action":"remove","lines":[" "]},{"start":{"row":28,"column":0},"end":{"row":28,"column":4},"action":"remove","lines":[" "]},{"start":{"row":30,"column":0},"end":{"row":30,"column":4},"action":"remove","lines":[" "]},{"start":{"row":32,"column":0},"end":{"row":32,"column":4},"action":"remove","lines":[" "]},{"start":{"row":33,"column":0},"end":{"row":33,"column":4},"action":"remove","lines":[" "]},{"start":{"row":35,"column":0},"end":{"row":35,"column":4},"action":"remove","lines":[" "]},{"start":{"row":36,"column":0},"end":{"row":36,"column":4},"action":"remove","lines":[" "]},{"start":{"row":37,"column":0},"end":{"row":37,"column":4},"action":"remove","lines":[" "]},{"start":{"row":38,"column":0},"end":{"row":38,"column":4},"action":"remove","lines":[" "]},{"start":{"row":39,"column":0},"end":{"row":39,"column":4},"action":"remove","lines":[" "]},{"start":{"row":40,"column":0},"end":{"row":40,"column":4},"action":"remove","lines":[" "]},{"start":{"row":41,"column":0},"end":{"row":41,"column":4},"action":"remove","lines":[" "]},{"start":{"row":43,"column":0},"end":{"row":43,"column":4},"action":"remove","lines":[" "]},{"start":{"row":44,"column":0},"end":{"row":44,"column":4},"action":"remove","lines":[" "]},{"start":{"row":45,"column":0},"end":{"row":45,"column":4},"action":"remove","lines":[" "]},{"start":{"row":46,"column":0},"end":{"row":46,"column":4},"action":"remove","lines":[" "]},{"start":{"row":47,"column":0},"end":{"row":47,"column":4},"action":"remove","lines":[" "]},{"start":{"row":48,"column":0},"end":{"row":48,"column":4},"action":"remove","lines":[" "]},{"start":{"row":49,"column":0},"end":{"row":49,"column":4},"action":"remove","lines":[" "]},{"start":{"row":50,"column":0},"end":{"row":50,"column":4},"action":"remove","lines":[" "]}],[{"start":{"row":58,"column":0},"end":{"row":99,"column":6},"action":"remove","lines":["<div class=\"container mt-5\">"," <div class=\"row\">"," <div class=\"col-md-8 col-md-offset-2\">"," <div class=\"panel panel-default\">"," <div class=\"panel-heading\">Reset Password</div>"," <div class=\"panel-body\">"," @if (session('status'))"," <div class=\"alert alert-success\">"," {{ session('status') }}"," </div>"," @endif",""," <form class=\"form-horizontal\" role=\"form\" method=\"POST\" action=\"{{ url('/password/email') }}\">"," {{ csrf_field() }}",""," <div class=\"form-group{{ $errors->has('email') ? ' has-error' : '' }}\">"," <label for=\"email\" class=\"col-md-4 control-label\">E-Mail Address</label>",""," <div class=\"col-md-6\">"," <input id=\"email\" type=\"email\" class=\"form-control\" name=\"email\" value=\"{{ old('email') }}\">",""," @if ($errors->has('email'))"," <span class=\"help-block\">"," <strong>{{ $errors->first('email') }}</strong>"," </span>"," @endif"," </div>"," </div>",""," <div class=\"form-group\">"," <div class=\"col-md-6 col-md-offset-4\">"," <button type=\"submit\" class=\"btn btn-primary\">"," <i class=\"fa fa-btn fa-envelope\"></i> Send Password Reset Link"," </button>"," </div>"," </div>"," </form>"," </div>"," </div>"," </div>"," </div>","</div>"],"id":278}],[{"start":{"row":57,"column":0},"end":{"row":58,"column":0},"action":"remove","lines":["",""],"id":279}],[{"start":{"row":56,"column":0},"end":{"row":57,"column":0},"action":"remove","lines":["",""],"id":280}],[{"start":{"row":33,"column":133},"end":{"row":33,"column":134},"action":"remove","lines":["e"],"id":281}],[{"start":{"row":33,"column":133},"end":{"row":33,"column":134},"action":"insert","lines":["E"],"id":282}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":33,"column":134},"end":{"row":33,"column":134},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509890432454,"hash":"fec23a3f946baf3f3b2210b8a06618df0bc725e2"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/auth/passwords/reset.blade.php b/workspace/.c9/metadata/workspace/resources/views/auth/passwords/reset.blade.php new file mode 100644 index 0000000..48fb0a4 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/auth/passwords/reset.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"reset.blade.php","tooltip":"/resources/views/auth/passwords/reset.blade.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":43,"column":117},"end":{"row":43,"column":118},"action":"insert","lines":["d"],"id":136}],[{"start":{"row":43,"column":117},"end":{"row":43,"column":118},"action":"remove","lines":["d"],"id":137}],[{"start":{"row":43,"column":117},"end":{"row":43,"column":118},"action":"insert","lines":["t"],"id":138}],[{"start":{"row":43,"column":118},"end":{"row":43,"column":119},"action":"insert","lines":[" "],"id":139}],[{"start":{"row":43,"column":119},"end":{"row":43,"column":120},"action":"insert","lines":["d"],"id":140}],[{"start":{"row":43,"column":120},"end":{"row":43,"column":121},"action":"insert","lines":["e"],"id":141}],[{"start":{"row":43,"column":121},"end":{"row":43,"column":122},"action":"insert","lines":[" "],"id":142}],[{"start":{"row":43,"column":122},"end":{"row":43,"column":123},"action":"insert","lines":["p"],"id":143}],[{"start":{"row":43,"column":123},"end":{"row":43,"column":124},"action":"insert","lines":["a"],"id":144}],[{"start":{"row":43,"column":124},"end":{"row":43,"column":125},"action":"insert","lines":["s"],"id":145}],[{"start":{"row":43,"column":125},"end":{"row":43,"column":126},"action":"insert","lines":["s"],"id":146}],[{"start":{"row":43,"column":126},"end":{"row":43,"column":127},"action":"insert","lines":["e"],"id":147}],[{"start":{"row":29,"column":143},"end":{"row":29,"column":144},"action":"remove","lines":["e"],"id":148}],[{"start":{"row":29,"column":143},"end":{"row":29,"column":144},"action":"insert","lines":["E"],"id":149}],[{"start":{"row":39,"column":94},"end":{"row":40,"column":93},"action":"remove","lines":[""," <label for=\"password\" class=\"col-md-4 control-label\">Password</label>"],"id":150}],[{"start":{"row":55,"column":122},"end":{"row":55,"column":123},"action":"insert","lines":[" "],"id":151}],[{"start":{"row":55,"column":123},"end":{"row":55,"column":124},"action":"insert","lines":["p"],"id":152}],[{"start":{"row":55,"column":124},"end":{"row":55,"column":125},"action":"insert","lines":["l"],"id":153}],[{"start":{"row":55,"column":125},"end":{"row":55,"column":126},"action":"insert","lines":["a"],"id":154}],[{"start":{"row":55,"column":126},"end":{"row":55,"column":127},"action":"insert","lines":["c"],"id":155}],[{"start":{"row":55,"column":127},"end":{"row":55,"column":128},"action":"insert","lines":["e"],"id":156}],[{"start":{"row":55,"column":128},"end":{"row":55,"column":129},"action":"insert","lines":["h"],"id":157}],[{"start":{"row":55,"column":129},"end":{"row":55,"column":130},"action":"insert","lines":["o"],"id":158}],[{"start":{"row":55,"column":123},"end":{"row":55,"column":130},"action":"remove","lines":["placeho"],"id":159},{"start":{"row":55,"column":123},"end":{"row":55,"column":134},"action":"insert","lines":["placeholder"]}],[{"start":{"row":55,"column":134},"end":{"row":55,"column":135},"action":"insert","lines":["="],"id":160}],[{"start":{"row":55,"column":135},"end":{"row":55,"column":137},"action":"insert","lines":["\"\""],"id":161}],[{"start":{"row":55,"column":136},"end":{"row":55,"column":137},"action":"insert","lines":["C"],"id":162}],[{"start":{"row":55,"column":137},"end":{"row":55,"column":138},"action":"insert","lines":["o"],"id":163}],[{"start":{"row":55,"column":138},"end":{"row":55,"column":139},"action":"insert","lines":["n"],"id":164}],[{"start":{"row":55,"column":139},"end":{"row":55,"column":140},"action":"insert","lines":["f"],"id":165}],[{"start":{"row":55,"column":140},"end":{"row":55,"column":141},"action":"insert","lines":["i"],"id":166}],[{"start":{"row":55,"column":141},"end":{"row":55,"column":142},"action":"insert","lines":["r"],"id":167}],[{"start":{"row":55,"column":142},"end":{"row":55,"column":143},"action":"insert","lines":["m"],"id":168}],[{"start":{"row":55,"column":143},"end":{"row":55,"column":144},"action":"insert","lines":["e"],"id":169}],[{"start":{"row":55,"column":144},"end":{"row":55,"column":145},"action":"insert","lines":["z"],"id":170}],[{"start":{"row":55,"column":145},"end":{"row":55,"column":146},"action":"insert","lines":[" "],"id":171}],[{"start":{"row":55,"column":146},"end":{"row":55,"column":147},"action":"insert","lines":["v"],"id":172}],[{"start":{"row":55,"column":147},"end":{"row":55,"column":148},"action":"insert","lines":["o"],"id":173}],[{"start":{"row":55,"column":148},"end":{"row":55,"column":149},"action":"insert","lines":["t"],"id":174}],[{"start":{"row":55,"column":149},"end":{"row":55,"column":150},"action":"insert","lines":["r"],"id":175}],[{"start":{"row":55,"column":150},"end":{"row":55,"column":151},"action":"insert","lines":["e"],"id":176}],[{"start":{"row":55,"column":151},"end":{"row":55,"column":152},"action":"insert","lines":[" "],"id":177}],[{"start":{"row":55,"column":152},"end":{"row":55,"column":153},"action":"insert","lines":["m"],"id":178}],[{"start":{"row":55,"column":153},"end":{"row":55,"column":154},"action":"insert","lines":["o"],"id":179}],[{"start":{"row":55,"column":154},"end":{"row":55,"column":155},"action":"insert","lines":["t"],"id":180}],[{"start":{"row":55,"column":155},"end":{"row":55,"column":156},"action":"insert","lines":[" "],"id":181}],[{"start":{"row":55,"column":156},"end":{"row":55,"column":157},"action":"insert","lines":["d"],"id":182}],[{"start":{"row":55,"column":157},"end":{"row":55,"column":158},"action":"insert","lines":["e"],"id":183}],[{"start":{"row":55,"column":158},"end":{"row":55,"column":159},"action":"insert","lines":[" "],"id":184}],[{"start":{"row":55,"column":159},"end":{"row":55,"column":160},"action":"insert","lines":["p"],"id":185}],[{"start":{"row":55,"column":160},"end":{"row":55,"column":161},"action":"insert","lines":["a"],"id":186}],[{"start":{"row":55,"column":161},"end":{"row":55,"column":162},"action":"insert","lines":["s"],"id":187}],[{"start":{"row":55,"column":162},"end":{"row":55,"column":163},"action":"insert","lines":["s"],"id":188}],[{"start":{"row":55,"column":163},"end":{"row":55,"column":164},"action":"insert","lines":["e"],"id":189}],[{"start":{"row":52,"column":107},"end":{"row":53,"column":109},"action":"remove","lines":[""," <label for=\"password-confirm\" class=\"col-md-4 control-label\">Confirm Password</label>"],"id":190}],[{"start":{"row":39,"column":94},"end":{"row":40,"column":0},"action":"remove","lines":["",""],"id":191}],[{"start":{"row":26,"column":91},"end":{"row":27,"column":0},"action":"remove","lines":["",""],"id":192}],[{"start":{"row":65,"column":69},"end":{"row":65,"column":83},"action":"remove","lines":["Reset Password"],"id":193},{"start":{"row":65,"column":69},"end":{"row":65,"column":70},"action":"insert","lines":["C"]}],[{"start":{"row":65,"column":69},"end":{"row":65,"column":70},"action":"remove","lines":["C"],"id":194}],[{"start":{"row":65,"column":69},"end":{"row":65,"column":70},"action":"insert","lines":["M"],"id":195}],[{"start":{"row":65,"column":70},"end":{"row":65,"column":71},"action":"insert","lines":["o"],"id":196}],[{"start":{"row":65,"column":71},"end":{"row":65,"column":72},"action":"insert","lines":["d"],"id":197}],[{"start":{"row":65,"column":72},"end":{"row":65,"column":73},"action":"insert","lines":["i"],"id":198}],[{"start":{"row":65,"column":72},"end":{"row":65,"column":73},"action":"remove","lines":["i"],"id":199}],[{"start":{"row":65,"column":71},"end":{"row":65,"column":72},"action":"remove","lines":["d"],"id":200}],[{"start":{"row":65,"column":70},"end":{"row":65,"column":71},"action":"remove","lines":["o"],"id":201}],[{"start":{"row":65,"column":69},"end":{"row":65,"column":70},"action":"remove","lines":["M"],"id":202}],[{"start":{"row":65,"column":69},"end":{"row":65,"column":70},"action":"insert","lines":["C"],"id":203}],[{"start":{"row":65,"column":70},"end":{"row":65,"column":71},"action":"insert","lines":["h"],"id":204}],[{"start":{"row":65,"column":71},"end":{"row":65,"column":72},"action":"insert","lines":["a"],"id":205}],[{"start":{"row":65,"column":72},"end":{"row":65,"column":73},"action":"insert","lines":["n"],"id":206}],[{"start":{"row":65,"column":73},"end":{"row":65,"column":74},"action":"insert","lines":["g"],"id":207}],[{"start":{"row":65,"column":74},"end":{"row":65,"column":75},"action":"insert","lines":["e"],"id":208}],[{"start":{"row":65,"column":75},"end":{"row":65,"column":76},"action":"insert","lines":["r"],"id":209}],[{"start":{"row":65,"column":76},"end":{"row":65,"column":77},"action":"insert","lines":[" "],"id":210}],[{"start":{"row":65,"column":77},"end":{"row":65,"column":78},"action":"insert","lines":["m"],"id":211}],[{"start":{"row":65,"column":78},"end":{"row":65,"column":79},"action":"insert","lines":["o"],"id":212}],[{"start":{"row":65,"column":79},"end":{"row":65,"column":80},"action":"insert","lines":["n"],"id":213}],[{"start":{"row":65,"column":80},"end":{"row":65,"column":81},"action":"insert","lines":[" "],"id":214}],[{"start":{"row":65,"column":81},"end":{"row":65,"column":82},"action":"insert","lines":["m"],"id":215}],[{"start":{"row":65,"column":82},"end":{"row":65,"column":83},"action":"insert","lines":["o"],"id":216}],[{"start":{"row":65,"column":83},"end":{"row":65,"column":84},"action":"insert","lines":["t"],"id":217}],[{"start":{"row":65,"column":84},"end":{"row":65,"column":85},"action":"insert","lines":[" "],"id":218}],[{"start":{"row":65,"column":85},"end":{"row":65,"column":86},"action":"insert","lines":["d"],"id":219}],[{"start":{"row":65,"column":86},"end":{"row":65,"column":87},"action":"insert","lines":["e"],"id":220}],[{"start":{"row":65,"column":87},"end":{"row":65,"column":88},"action":"insert","lines":[" "],"id":221}],[{"start":{"row":65,"column":88},"end":{"row":65,"column":89},"action":"insert","lines":["p"],"id":222}],[{"start":{"row":65,"column":89},"end":{"row":65,"column":90},"action":"insert","lines":["a"],"id":223}],[{"start":{"row":65,"column":90},"end":{"row":65,"column":91},"action":"insert","lines":["s"],"id":224}],[{"start":{"row":65,"column":91},"end":{"row":65,"column":92},"action":"insert","lines":["s"],"id":225}],[{"start":{"row":65,"column":92},"end":{"row":65,"column":93},"action":"insert","lines":["e"],"id":226}],[{"start":{"row":71,"column":4},"end":{"row":121,"column":23},"action":"remove","lines":["<form class=\"form-horizontal\" role=\"form\" method=\"POST\" action=\"{{ url('/register') }}\">"," {{ csrf_field() }}",""," <div class=\"form-group{{ $errors->has('name') ? ' has-error' : '' }}\">"," <input id=\"name\" type=\"text\" class=\"form-control\" name=\"name\" value=\"{{ old('name') }}\" placeholder=\"Pseudo\">",""," @if ($errors->has('name'))"," <span class=\"help-block\">"," <strong>{{ $errors->first('name') }}</strong>"," </span>"," @endif"," </div>","\t\t\t\t\t","\t\t\t\t\t<div class=\"form-group{{ $errors->has('email') ? ' has-error' : '' }}\">"," <input id=\"email\" type=\"email\" class=\"form-control\" name=\"email\" value=\"{{ old('email') }}\" placeholder=\"Email\">",""," @if ($errors->has('email'))"," <span class=\"help-block\">"," <strong>{{ $errors->first('email') }}</strong>"," </span>"," @endif"," </div>",""," <div class=\"form-group{{ $errors->has('password') ? ' has-error' : '' }}\">"," <input id=\"password\" type=\"password\" class=\"form-control\" name=\"password\" placeholder=\"Mot de passe\">",""," @if ($errors->has('password'))"," <span class=\"help-block\">"," <strong>{{ $errors->first('password') }}</strong>"," </span>"," @endif"," </div>",""," <div class=\"form-group{{ $errors->has('password_confirmation') ? ' has-error' : '' }}\">"," <input id=\"password-confirm\" type=\"password\" class=\"form-control\" name=\"password_confirmation\" placeholder=\"Confirmez votre mot de passe\">",""," @if ($errors->has('password_confirmation'))"," <span class=\"help-block\">"," <strong>{{ $errors->first('password_confirmation') }}</strong>"," </span>"," @endif"," </div>","\t\t\t\t","\t\t\t\t <div class=\"form-group mt-5\">"," <div class=\"col-md-6 col-md-offset-4\">"," <button type=\"submit\" class=\"btn btn-primary\">"," <i class=\"fa fa-btn fa-user\"></i> S'inscrire"," </button>"," </div>"," </div>"," </form>"],"id":227}],[{"start":{"row":69,"column":23},"end":{"row":71,"column":4},"action":"remove","lines":["","\t\t\t ","\t\t\t\t"],"id":228}],[{"start":{"row":79,"column":0},"end":{"row":144,"column":6},"action":"remove","lines":["<div class=\"container\">"," <div class=\"row\">"," <div class=\"col-md-8 col-md-offset-2\">"," <div class=\"panel panel-default\">"," <div class=\"panel-heading\">Reset Password</div>",""," <div class=\"panel-body\">"," <form class=\"form-horizontal\" role=\"form\" method=\"POST\" action=\"{{ url('/password/reset') }}\">"," {{ csrf_field() }}",""," <input type=\"hidden\" name=\"token\" value=\"{{ $token }}\">",""," <div class=\"form-group{{ $errors->has('email') ? ' has-error' : '' }}\">"," <label for=\"email\" class=\"col-md-4 control-label\">E-Mail Address</label>",""," <div class=\"col-md-6\">"," <input id=\"email\" type=\"email\" class=\"form-control\" name=\"email\" value=\"{{ $email or old('email') }}\">",""," @if ($errors->has('email'))"," <span class=\"help-block\">"," <strong>{{ $errors->first('email') }}</strong>"," </span>"," @endif"," </div>"," </div>",""," <div class=\"form-group{{ $errors->has('password') ? ' has-error' : '' }}\">"," <label for=\"password\" class=\"col-md-4 control-label\">Password</label>",""," <div class=\"col-md-6\">"," <input id=\"password\" type=\"password\" class=\"form-control\" name=\"password\">",""," @if ($errors->has('password'))"," <span class=\"help-block\">"," <strong>{{ $errors->first('password') }}</strong>"," </span>"," @endif"," </div>"," </div>",""," <div class=\"form-group{{ $errors->has('password_confirmation') ? ' has-error' : '' }}\">"," <label for=\"password-confirm\" class=\"col-md-4 control-label\">Confirm Password</label>"," <div class=\"col-md-6\">"," <input id=\"password-confirm\" type=\"password\" class=\"form-control\" name=\"password_confirmation\">",""," @if ($errors->has('password_confirmation'))"," <span class=\"help-block\">"," <strong>{{ $errors->first('password_confirmation') }}</strong>"," </span>"," @endif"," </div>"," </div>",""," <div class=\"form-group\">"," <div class=\"col-md-6 col-md-offset-4\">"," <button type=\"submit\" class=\"btn btn-primary\">"," <i class=\"fa fa-btn fa-refresh\"></i> Reset Password"," </button>"," </div>"," </div>"," </form>"," </div>"," </div>"," </div>"," </div>","</div>"],"id":229}],[{"start":{"row":78,"column":0},"end":{"row":79,"column":0},"action":"remove","lines":["",""],"id":230}],[{"start":{"row":77,"column":0},"end":{"row":78,"column":0},"action":"remove","lines":["",""],"id":231}],[{"start":{"row":76,"column":0},"end":{"row":77,"column":0},"action":"remove","lines":["",""],"id":232}],[{"start":{"row":75,"column":0},"end":{"row":76,"column":0},"action":"remove","lines":["",""],"id":233}],[{"start":{"row":7,"column":0},"end":{"row":8,"column":0},"action":"remove","lines":["",""],"id":234}],[{"start":{"row":6,"column":19},"end":{"row":7,"column":0},"action":"remove","lines":["",""],"id":235}],[{"start":{"row":6,"column":19},"end":{"row":7,"column":0},"action":"insert","lines":["",""],"id":236}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":7,"column":0},"end":{"row":7,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509890824758,"hash":"0adf11b1e7f84afc4c2d4f3a6d990d9f3c339989"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/auth/register.blade.1.php b/workspace/.c9/metadata/workspace/resources/views/auth/register.blade.1.php new file mode 100644 index 0000000..c210c16 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/auth/register.blade.1.php @@ -0,0 +1 @@ +{"filter":false,"title":"register.blade.1.php","tooltip":"/resources/views/auth/register.blade.1.php","undoManager":{"mark":2,"position":2,"stack":[[{"start":{"row":2,"column":19},"end":{"row":3,"column":0},"action":"insert","lines":["",""],"id":2}],[{"start":{"row":3,"column":0},"end":{"row":4,"column":0},"action":"insert","lines":["",""],"id":3}],[{"start":{"row":3,"column":0},"end":{"row":62,"column":6},"action":"insert","lines":["<div class=\"container mb-5\">","\t<div class=\"row\">","\t\t<div class=\"text-center col-lg-12\">","\t\t\t<h1 class=\"my-4\">Inscription</h1>","\t\t</div>","\t</div>","\t","\t<div class=\"row\">","\t\t<div class=\"col-lg-4\"></div>","\t\t<div class=\"panel panel-info jumbotron col-lg-4\">","\t\t\t<div class=\"panel-body\">","\t\t\t\t<!-- Formulaire d'inscription puis connexion en cours de création TODO -->","\t\t\t\t{!! Form::open(['url' => 'register']) !!}","\t\t\t\t\t<!-- Nom utilisateur -->","\t\t\t\t\t<div class=\"form-group {!! $errors->has('nom') ? 'has-error' : '' !!}\">","\t\t\t\t\t\t{!! Form::text('nom', null, ['class' => 'form-control', 'placeholder' => 'Votre nom']) !!}","\t\t\t\t\t\t{!! $errors->first('nom', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<!-- Prénom utilisateur -->","\t\t\t\t\t<div class=\"form-group {!! $errors->has('prenom') ? 'has-error' : '' !!}\">","\t\t\t\t\t\t{!! Form::text('prenom', null, ['class' => 'form-control', 'placeholder' => 'Votre prénom']) !!}","\t\t\t\t\t\t{!! $errors->first('prenom', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<!-- Pseudo utilisateur -->","\t\t\t\t\t<div class=\"form-group {!! $errors->has('pseudo') ? 'has-error' : '' !!}\">","\t\t\t\t\t\t{!! Form::text('pseudo', null, ['class' => 'form-control', 'placeholder' => 'Votre pseudo']) !!}","\t\t\t\t\t\t{!! $errors->first('pseudo', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<!-- Email utilisateur -->","\t\t\t\t\t<div class=\"form-group {!! $errors->has('email') ? 'has-error' : '' !!}\">","\t\t\t\t\t\t{!! Form::email('email', null, ['class' => 'form-control', 'placeholder' => 'Votre email']) !!}","\t\t\t\t\t\t{!! $errors->first('email', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<!-- Mot de passe utilisateur -->","\t\t\t\t\t<div class=\"form-group {!! $errors->has('pass') ? 'has-error' : '' !!}\">","\t\t\t\t\t\t{!! Form::password('pass', ['class' => 'form-control', 'placeholder' => 'Votre mot de passe']) !!}","\t\t\t\t\t\t{!! $errors->first('pass', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<!-- Confirmation Mot de passe utilisateur -->","\t\t\t\t\t<div class=\"form-group {!! $errors->has('passValid') ? 'has-error' : '' !!}\">","\t\t\t\t\t\t{!! Form::password('passValid', ['class' => 'form-control', 'placeholder' => 'Confirmez votre mot de passe']) !!}","\t\t\t\t\t\t{!! $errors->first('passValid', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<!-- Vérif CGU utilisateur -->","\t\t\t\t\t<div class=\"form-group {!! $errors->has('cgu') ? 'has-error' : '' !!} mb-5\">","\t\t\t\t\t\t{!! Form::checkbox('cgu') !!}","\t\t\t\t\t\t<span class=\"ml-3\">J'accepte les <a href=\"cgu\" target=\"_blank\">CGU</a>.</span>","\t\t\t\t\t\t<!-- <input class=\"field\" name=\"agree\" type=\"checkbox\" value=\"1\"> -->","\t\t\t\t\t\t{!! $errors->first('cgu', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<!-- Bouton confirmation -->","\t\t\t\t\t<div class=\"form-group mb-0\">","\t\t\t\t\t\t{!! Form::submit('Envoyer !', ['class' => 'btn btn-info']) !!}","\t\t\t\t\t</div>","\t\t\t\t{!! Form::close() !!}","\t\t\t</div>","\t\t</div>","\t\t<div class=\"col-lg-4\"></div>","\t</div>","</div>"],"id":4}]]},"ace":{"folds":[],"scrolltop":108,"scrollleft":0,"selection":{"start":{"row":62,"column":6},"end":{"row":62,"column":6},"isBackwards":true},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":6,"state":"start","mode":"ace/mode/php"}},"timestamp":1509578284478,"hash":"9e57398e3ae2c026600e3a26db07de01736b2e4c"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/auth/register.blade.php b/workspace/.c9/metadata/workspace/resources/views/auth/register.blade.php new file mode 100644 index 0000000..a231c86 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/auth/register.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"register.blade.php","tooltip":"/resources/views/auth/register.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":15,"column":2},"end":{"row":15,"column":30},"isBackwards":true},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1510335880517,"hash":"735cf1d00a16cfe9a322e75641db0d65907954e9"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/auth/user_register.blade.php b/workspace/.c9/metadata/workspace/resources/views/auth/user_register.blade.php new file mode 100644 index 0000000..33f5a7e --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/auth/user_register.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"user_register.blade.php","tooltip":"/resources/views/auth/user_register.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":5,"column":0},"end":{"row":5,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509897366081,"hash":"735cf1d00a16cfe9a322e75641db0d65907954e9"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/cgu.blade.php b/workspace/.c9/metadata/workspace/resources/views/cgu.blade.php new file mode 100644 index 0000000..162885e --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/cgu.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"cgu.blade.php","tooltip":"/resources/views/cgu.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":21},"end":{"row":0,"column":21},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509579414660,"hash":"cdb5f87eab99ad8fa91a757b7da6a4185874ec7d"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/confirmRegistery.blade.php b/workspace/.c9/metadata/workspace/resources/views/confirmRegistery.blade.php new file mode 100644 index 0000000..badf9e8 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/confirmRegistery.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"confirmRegistery.blade.php","tooltip":"/resources/views/confirmRegistery.blade.php","undoManager":{"mark":12,"position":12,"stack":[[{"start":{"row":0,"column":10},"end":{"row":0,"column":16},"action":"remove","lines":["header"],"id":10},{"start":{"row":0,"column":10},"end":{"row":0,"column":11},"action":"insert","lines":["a"]}],[{"start":{"row":0,"column":10},"end":{"row":0,"column":11},"action":"remove","lines":["a"],"id":11}],[{"start":{"row":0,"column":10},"end":{"row":0,"column":11},"action":"insert","lines":["l"],"id":12}],[{"start":{"row":0,"column":11},"end":{"row":0,"column":12},"action":"insert","lines":["a"],"id":13}],[{"start":{"row":0,"column":12},"end":{"row":0,"column":13},"action":"insert","lines":["y"],"id":14}],[{"start":{"row":0,"column":13},"end":{"row":0,"column":14},"action":"insert","lines":["o"],"id":15}],[{"start":{"row":0,"column":14},"end":{"row":0,"column":15},"action":"insert","lines":["u"],"id":16}],[{"start":{"row":0,"column":15},"end":{"row":0,"column":16},"action":"insert","lines":["t"],"id":17}],[{"start":{"row":0,"column":16},"end":{"row":0,"column":17},"action":"insert","lines":["s"],"id":18}],[{"start":{"row":0,"column":17},"end":{"row":0,"column":18},"action":"insert","lines":["."],"id":19}],[{"start":{"row":0,"column":18},"end":{"row":0,"column":19},"action":"insert","lines":["a"],"id":20}],[{"start":{"row":0,"column":19},"end":{"row":0,"column":20},"action":"insert","lines":["p"],"id":21}],[{"start":{"row":0,"column":20},"end":{"row":0,"column":21},"action":"insert","lines":["p"],"id":22}]]},"ace":{"folds":[],"scrolltop":293.3998260498047,"scrollleft":0,"selection":{"start":{"row":0,"column":21},"end":{"row":0,"column":21},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":18,"state":"start","mode":"ace/mode/php"}},"timestamp":1509579440581,"hash":"c305f079154d10fb123df1ecd02e06dce8b6faf8"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/errors/503.blade.php b/workspace/.c9/metadata/workspace/resources/views/errors/503.blade.php new file mode 100644 index 0000000..307439d --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/errors/503.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"503.blade.php","tooltip":"/resources/views/errors/503.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":5,"column":57},"end":{"row":5,"column":57},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509725465723,"hash":"b54074b983d30efa766b1d6cc805588b9652f985"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/function/announce.php b/workspace/.c9/metadata/workspace/resources/views/function/announce.php new file mode 100644 index 0000000..bd88b90 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/function/announce.php @@ -0,0 +1 @@ +{"filter":false,"title":"announce.php","tooltip":"/resources/views/function/announce.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509725458983,"hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/guide/cgu.blade.php b/workspace/.c9/metadata/workspace/resources/views/guide/cgu.blade.php new file mode 100644 index 0000000..f295d3f --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/guide/cgu.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"cgu.blade.php","tooltip":"/resources/views/guide/cgu.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1510840091024,"hash":"cdb5f87eab99ad8fa91a757b7da6a4185874ec7d"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/head.blade.1.php b/workspace/.c9/metadata/workspace/resources/views/head.blade.1.php new file mode 100644 index 0000000..ce80673 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/head.blade.1.php @@ -0,0 +1 @@ +{"filter":false,"title":"head.blade.1.php","tooltip":"/resources/views/head.blade.1.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1508957221926,"hash":"f3dfd9599c8b6ab5de5d011ab1169e8644aaa3eb"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/head.blade.php b/workspace/.c9/metadata/workspace/resources/views/head.blade.php new file mode 100644 index 0000000..664b4b9 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/head.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"head.blade.php","tooltip":"/resources/views/head.blade.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":55,"column":36},"end":{"row":55,"column":37},"action":"insert","lines":["e"],"id":225}],[{"start":{"row":55,"column":37},"end":{"row":55,"column":38},"action":"insert","lines":["e"],"id":226}],[{"start":{"row":55,"column":35},"end":{"row":55,"column":38},"action":"remove","lines":["eee"],"id":227},{"start":{"row":55,"column":35},"end":{"row":55,"column":36},"action":"insert","lines":["2"]}],[{"start":{"row":55,"column":36},"end":{"row":55,"column":37},"action":"insert","lines":["2"],"id":228}],[{"start":{"row":55,"column":37},"end":{"row":55,"column":38},"action":"insert","lines":["8"],"id":229}],[{"start":{"row":55,"column":38},"end":{"row":55,"column":39},"action":"insert","lines":["B"],"id":230}],[{"start":{"row":55,"column":39},"end":{"row":55,"column":40},"action":"insert","lines":["2"],"id":231}],[{"start":{"row":55,"column":40},"end":{"row":55,"column":41},"action":"insert","lines":["2"],"id":232}],[{"start":{"row":55,"column":35},"end":{"row":55,"column":41},"action":"remove","lines":["228B22"],"id":233},{"start":{"row":55,"column":35},"end":{"row":55,"column":36},"action":"insert","lines":["9"]}],[{"start":{"row":55,"column":36},"end":{"row":55,"column":37},"action":"insert","lines":["a"],"id":234}],[{"start":{"row":55,"column":37},"end":{"row":55,"column":38},"action":"insert","lines":["c"],"id":235}],[{"start":{"row":55,"column":38},"end":{"row":55,"column":39},"action":"insert","lines":["d"],"id":236}],[{"start":{"row":55,"column":39},"end":{"row":55,"column":40},"action":"insert","lines":["3"],"id":237}],[{"start":{"row":55,"column":40},"end":{"row":55,"column":41},"action":"insert","lines":["2"],"id":238}],[{"start":{"row":72,"column":13},"end":{"row":73,"column":0},"action":"insert","lines":["",""],"id":245},{"start":{"row":73,"column":0},"end":{"row":73,"column":12},"action":"insert","lines":[" "]}],[{"start":{"row":73,"column":12},"end":{"row":74,"column":0},"action":"insert","lines":["",""],"id":246},{"start":{"row":74,"column":0},"end":{"row":74,"column":12},"action":"insert","lines":[" "]}],[{"start":{"row":74,"column":12},"end":{"row":74,"column":13},"action":"insert","lines":["i"],"id":247}],[{"start":{"row":74,"column":13},"end":{"row":74,"column":14},"action":"insert","lines":["m"],"id":248}],[{"start":{"row":74,"column":14},"end":{"row":74,"column":15},"action":"insert","lines":["g"],"id":249}],[{"start":{"row":74,"column":15},"end":{"row":74,"column":16},"action":"insert","lines":["P"],"id":250}],[{"start":{"row":74,"column":16},"end":{"row":74,"column":17},"action":"insert","lines":["r"],"id":251}],[{"start":{"row":74,"column":17},"end":{"row":74,"column":18},"action":"insert","lines":["o"],"id":252}],[{"start":{"row":74,"column":18},"end":{"row":74,"column":19},"action":"insert","lines":["f"],"id":253}],[{"start":{"row":74,"column":18},"end":{"row":74,"column":19},"action":"remove","lines":["f"],"id":254}],[{"start":{"row":74,"column":18},"end":{"row":74,"column":19},"action":"insert","lines":["d"],"id":255}],[{"start":{"row":74,"column":19},"end":{"row":74,"column":20},"action":"insert","lines":[" "],"id":256}],[{"start":{"row":74,"column":20},"end":{"row":74,"column":21},"action":"insert","lines":["{"],"id":257}],[{"start":{"row":74,"column":21},"end":{"row":76,"column":13},"action":"insert","lines":[""," "," }"],"id":258}],[{"start":{"row":75,"column":16},"end":{"row":75,"column":17},"action":"insert","lines":["c"],"id":259}],[{"start":{"row":75,"column":17},"end":{"row":75,"column":18},"action":"insert","lines":["e"],"id":260}],[{"start":{"row":75,"column":18},"end":{"row":75,"column":19},"action":"insert","lines":["n"],"id":261}],[{"start":{"row":75,"column":19},"end":{"row":75,"column":20},"action":"insert","lines":["t"],"id":262}],[{"start":{"row":75,"column":20},"end":{"row":75,"column":21},"action":"insert","lines":["e"],"id":263}],[{"start":{"row":75,"column":21},"end":{"row":75,"column":22},"action":"insert","lines":["r"],"id":264}],[{"start":{"row":75,"column":21},"end":{"row":75,"column":22},"action":"remove","lines":["r"],"id":265}],[{"start":{"row":75,"column":20},"end":{"row":75,"column":21},"action":"remove","lines":["e"],"id":266}],[{"start":{"row":75,"column":19},"end":{"row":75,"column":20},"action":"remove","lines":["t"],"id":267}],[{"start":{"row":75,"column":18},"end":{"row":75,"column":19},"action":"remove","lines":["n"],"id":268}],[{"start":{"row":75,"column":17},"end":{"row":75,"column":18},"action":"remove","lines":["e"],"id":269}],[{"start":{"row":75,"column":16},"end":{"row":75,"column":17},"action":"remove","lines":["c"],"id":270}],[{"start":{"row":75,"column":16},"end":{"row":75,"column":17},"action":"insert","lines":["t"],"id":271}],[{"start":{"row":75,"column":17},"end":{"row":75,"column":18},"action":"insert","lines":["e"],"id":272}],[{"start":{"row":75,"column":18},"end":{"row":75,"column":19},"action":"insert","lines":["x"],"id":273}],[{"start":{"row":75,"column":19},"end":{"row":75,"column":20},"action":"insert","lines":["t"],"id":274}],[{"start":{"row":75,"column":20},"end":{"row":75,"column":21},"action":"insert","lines":["-"],"id":275}],[{"start":{"row":75,"column":21},"end":{"row":75,"column":22},"action":"insert","lines":["a"],"id":276}],[{"start":{"row":75,"column":22},"end":{"row":75,"column":23},"action":"insert","lines":["l"],"id":277}],[{"start":{"row":75,"column":23},"end":{"row":75,"column":24},"action":"insert","lines":["i"],"id":278}],[{"start":{"row":75,"column":24},"end":{"row":75,"column":25},"action":"insert","lines":["g"],"id":279}],[{"start":{"row":75,"column":25},"end":{"row":75,"column":26},"action":"insert","lines":["n"],"id":280}],[{"start":{"row":75,"column":26},"end":{"row":75,"column":28},"action":"insert","lines":[":;"],"id":281}],[{"start":{"row":75,"column":27},"end":{"row":75,"column":28},"action":"insert","lines":[" "],"id":282}],[{"start":{"row":75,"column":28},"end":{"row":75,"column":29},"action":"insert","lines":["c"],"id":283}],[{"start":{"row":75,"column":29},"end":{"row":75,"column":30},"action":"insert","lines":["e"],"id":284}],[{"start":{"row":75,"column":30},"end":{"row":75,"column":31},"action":"insert","lines":["n"],"id":285}],[{"start":{"row":75,"column":31},"end":{"row":75,"column":32},"action":"insert","lines":["t"],"id":286}],[{"start":{"row":75,"column":32},"end":{"row":75,"column":33},"action":"insert","lines":["e"],"id":287}],[{"start":{"row":75,"column":33},"end":{"row":75,"column":34},"action":"insert","lines":["r"],"id":288}],[{"start":{"row":74,"column":21},"end":{"row":75,"column":0},"action":"insert","lines":["",""],"id":289},{"start":{"row":75,"column":0},"end":{"row":75,"column":16},"action":"insert","lines":[" "]}],[{"start":{"row":75,"column":16},"end":{"row":75,"column":17},"action":"insert","lines":["p"],"id":290}],[{"start":{"row":75,"column":17},"end":{"row":75,"column":18},"action":"insert","lines":["a"],"id":291}],[{"start":{"row":75,"column":18},"end":{"row":75,"column":19},"action":"insert","lines":["d"],"id":292}],[{"start":{"row":75,"column":19},"end":{"row":75,"column":20},"action":"insert","lines":["d"],"id":293}],[{"start":{"row":75,"column":20},"end":{"row":75,"column":21},"action":"insert","lines":["i"],"id":294}],[{"start":{"row":75,"column":21},"end":{"row":75,"column":22},"action":"insert","lines":["n"],"id":295}],[{"start":{"row":75,"column":22},"end":{"row":75,"column":23},"action":"insert","lines":["g"],"id":296}],[{"start":{"row":75,"column":23},"end":{"row":75,"column":24},"action":"insert","lines":[" "],"id":297}],[{"start":{"row":75,"column":24},"end":{"row":75,"column":25},"action":"insert","lines":["="],"id":298}],[{"start":{"row":75,"column":25},"end":{"row":75,"column":26},"action":"insert","lines":[" "],"id":299}],[{"start":{"row":75,"column":25},"end":{"row":75,"column":26},"action":"remove","lines":[" "],"id":300}],[{"start":{"row":75,"column":24},"end":{"row":75,"column":25},"action":"remove","lines":["="],"id":301}],[{"start":{"row":75,"column":23},"end":{"row":75,"column":24},"action":"remove","lines":[" "],"id":302}],[{"start":{"row":75,"column":23},"end":{"row":75,"column":25},"action":"insert","lines":[":;"],"id":303}],[{"start":{"row":75,"column":24},"end":{"row":75,"column":25},"action":"insert","lines":[" "],"id":304}],[{"start":{"row":75,"column":25},"end":{"row":75,"column":26},"action":"insert","lines":["a"],"id":305}],[{"start":{"row":75,"column":26},"end":{"row":75,"column":27},"action":"insert","lines":["u"],"id":306}],[{"start":{"row":75,"column":27},"end":{"row":75,"column":28},"action":"insert","lines":["t"],"id":307}],[{"start":{"row":75,"column":28},"end":{"row":75,"column":29},"action":"insert","lines":["o"],"id":308}],[{"start":{"row":74,"column":21},"end":{"row":75,"column":0},"action":"insert","lines":["",""],"id":309},{"start":{"row":75,"column":0},"end":{"row":75,"column":16},"action":"insert","lines":[" "]}],[{"start":{"row":75,"column":16},"end":{"row":75,"column":17},"action":"insert","lines":["m"],"id":310}],[{"start":{"row":75,"column":17},"end":{"row":75,"column":18},"action":"insert","lines":["a"],"id":311}],[{"start":{"row":75,"column":18},"end":{"row":75,"column":19},"action":"insert","lines":["r"],"id":312}],[{"start":{"row":75,"column":19},"end":{"row":75,"column":20},"action":"insert","lines":["g"],"id":313}],[{"start":{"row":75,"column":20},"end":{"row":75,"column":21},"action":"insert","lines":["i"],"id":314}],[{"start":{"row":75,"column":21},"end":{"row":75,"column":22},"action":"insert","lines":["n"],"id":315}],[{"start":{"row":75,"column":22},"end":{"row":75,"column":24},"action":"insert","lines":[":;"],"id":316}],[{"start":{"row":75,"column":23},"end":{"row":75,"column":24},"action":"insert","lines":[" "],"id":317}],[{"start":{"row":75,"column":24},"end":{"row":75,"column":25},"action":"insert","lines":["a"],"id":318}],[{"start":{"row":75,"column":25},"end":{"row":75,"column":26},"action":"insert","lines":["u"],"id":319}],[{"start":{"row":75,"column":26},"end":{"row":75,"column":27},"action":"insert","lines":["t"],"id":320}],[{"start":{"row":75,"column":27},"end":{"row":75,"column":28},"action":"insert","lines":["o"],"id":321}],[{"start":{"row":74,"column":11},"end":{"row":74,"column":19},"action":"remove","lines":[" imgProd"],"id":322}],[{"start":{"row":74,"column":11},"end":{"row":74,"column":12},"action":"insert","lines":[" "],"id":323}],[{"start":{"row":74,"column":12},"end":{"row":74,"column":13},"action":"insert","lines":["c"],"id":324}],[{"start":{"row":74,"column":13},"end":{"row":74,"column":14},"action":"insert","lines":["e"],"id":325}],[{"start":{"row":74,"column":14},"end":{"row":74,"column":15},"action":"insert","lines":["n"],"id":326}],[{"start":{"row":74,"column":15},"end":{"row":74,"column":16},"action":"insert","lines":["t"],"id":327}],[{"start":{"row":74,"column":16},"end":{"row":74,"column":17},"action":"insert","lines":["e"],"id":328}],[{"start":{"row":74,"column":17},"end":{"row":74,"column":18},"action":"insert","lines":["r"],"id":329}],[{"start":{"row":13,"column":35},"end":{"row":14,"column":103},"action":"remove","lines":[""," <!-- <link rel=\"stylesheet\" href=\"../../node_modules/bootstrap/dist/css/bootstrap.min.css\"> -->"],"id":330}],[{"start":{"row":16,"column":42},"end":{"row":17,"column":97},"action":"remove","lines":[""," <!-- <link rel=\"stylesheet\" href=\"../../node_modules/bootstrap/dist/css/mdb.min.css\"> -->"],"id":371}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":16,"column":42},"end":{"row":16,"column":42},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1508956206738,"hash":"f3dfd9599c8b6ab5de5d011ab1169e8644aaa3eb"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/head1.blade.php b/workspace/.c9/metadata/workspace/resources/views/head1.blade.php new file mode 100644 index 0000000..b694de3 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/head1.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"head1.blade.php","tooltip":"/resources/views/head1.blade.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":141,"column":65},"end":{"row":142,"column":0},"action":"insert","lines":["",""],"id":149},{"start":{"row":142,"column":0},"end":{"row":142,"column":4},"action":"insert","lines":[" "]}],[{"start":{"row":142,"column":4},"end":{"row":143,"column":0},"action":"insert","lines":["",""],"id":150},{"start":{"row":143,"column":0},"end":{"row":143,"column":4},"action":"insert","lines":[" "]}],[{"start":{"row":143,"column":4},"end":{"row":145,"column":71},"action":"insert","lines":["<!-- Bootstrap core JavaScript -->"," <script src=\"vendor/jquery/jquery.min.js\"></script>"," <script src=\"vendor/bootstrap/js/bootstrap.bundle.min.js\"></script>"],"id":151}],[{"start":{"row":142,"column":4},"end":{"row":144,"column":55},"action":"remove","lines":[""," <!-- Bootstrap core JavaScript -->"," <script src=\"vendor/jquery/jquery.min.js\"></script>"],"id":152}],[{"start":{"row":142,"column":4},"end":{"row":143,"column":71},"action":"remove","lines":[""," <script src=\"vendor/bootstrap/js/bootstrap.bundle.min.js\"></script>"],"id":153}],[{"start":{"row":142,"column":0},"end":{"row":142,"column":4},"action":"remove","lines":[" "],"id":154}],[{"start":{"row":141,"column":65},"end":{"row":142,"column":0},"action":"remove","lines":["",""],"id":155}],[{"start":{"row":47,"column":13},"end":{"row":48,"column":0},"action":"insert","lines":["",""],"id":156},{"start":{"row":48,"column":0},"end":{"row":48,"column":12},"action":"insert","lines":[" "]}],[{"start":{"row":48,"column":12},"end":{"row":58,"column":1},"action":"insert","lines":["","","body {"," padding-top: 54px;","}","","@media (min-width: 992px) {"," body {"," padding-top: 56px;"," }","}"],"id":157}],[{"start":{"row":49,"column":0},"end":{"row":59,"column":12},"action":"remove","lines":["","body {"," padding-top: 54px;","}","","@media (min-width: 992px) {"," body {"," padding-top: 56px;"," }","}"," "],"id":158}],[{"start":{"row":48,"column":12},"end":{"row":49,"column":0},"action":"remove","lines":["",""],"id":159}],[{"start":{"row":16,"column":8},"end":{"row":17,"column":55},"action":"remove","lines":["<!-- Material Design Bootstrap -->"," <link rel=\"stylesheet\" href=\"/css/mdb.min.css\">"],"id":161}],[{"start":{"row":16,"column":4},"end":{"row":16,"column":8},"action":"remove","lines":[" "],"id":162}],[{"start":{"row":16,"column":0},"end":{"row":16,"column":4},"action":"remove","lines":[" "],"id":163}],[{"start":{"row":15,"column":8},"end":{"row":16,"column":0},"action":"remove","lines":["",""],"id":164}],[{"start":{"row":15,"column":4},"end":{"row":15,"column":8},"action":"remove","lines":[" "],"id":165}],[{"start":{"row":15,"column":0},"end":{"row":15,"column":4},"action":"remove","lines":[" "],"id":166}],[{"start":{"row":14,"column":61},"end":{"row":15,"column":0},"action":"remove","lines":["",""],"id":167}],[{"start":{"row":11,"column":114},"end":{"row":12,"column":0},"action":"insert","lines":["",""],"id":168},{"start":{"row":12,"column":0},"end":{"row":12,"column":8},"action":"insert","lines":[" "]}],[{"start":{"row":12,"column":8},"end":{"row":13,"column":0},"action":"insert","lines":["",""],"id":169},{"start":{"row":13,"column":0},"end":{"row":13,"column":8},"action":"insert","lines":[" "]}],[{"start":{"row":13,"column":8},"end":{"row":14,"column":0},"action":"insert","lines":["",""],"id":170},{"start":{"row":14,"column":0},"end":{"row":14,"column":8},"action":"insert","lines":[" "]}],[{"start":{"row":14,"column":8},"end":{"row":15,"column":55},"action":"insert","lines":["<!-- Material Design Bootstrap -->"," <link rel=\"stylesheet\" href=\"/css/mdb.min.css\">"],"id":171}],[{"start":{"row":11,"column":114},"end":{"row":12,"column":8},"action":"remove","lines":[""," "],"id":172}],[{"start":{"row":13,"column":39},"end":{"row":13,"column":42},"action":"remove","lines":["-->"],"id":173}],[{"start":{"row":14,"column":55},"end":{"row":14,"column":56},"action":"insert","lines":[" "],"id":174}],[{"start":{"row":14,"column":56},"end":{"row":14,"column":57},"action":"insert","lines":["-"],"id":175}],[{"start":{"row":14,"column":57},"end":{"row":14,"column":58},"action":"insert","lines":["-"],"id":176}],[{"start":{"row":14,"column":58},"end":{"row":14,"column":59},"action":"insert","lines":[">"],"id":177}],[{"start":{"row":14,"column":56},"end":{"row":14,"column":59},"action":"remove","lines":["-->"],"id":178}],[{"start":{"row":13,"column":39},"end":{"row":13,"column":42},"action":"insert","lines":["-->"],"id":179}],[{"start":{"row":14,"column":55},"end":{"row":14,"column":56},"action":"remove","lines":[" "],"id":181}],[{"start":{"row":15,"column":8},"end":{"row":15,"column":11},"action":"insert","lines":["qsd"],"id":188,"ignore":true}],[{"start":{"row":15,"column":8},"end":{"row":15,"column":11},"action":"remove","lines":["qsd"],"id":189,"ignore":true}],[{"start":{"row":15,"column":8},"end":{"row":15,"column":9},"action":"insert","lines":["M"],"id":190,"ignore":true}],[{"start":{"row":15,"column":9},"end":{"row":15,"column":13},"action":"insert","lines":["atte"],"id":191,"ignore":true}],[{"start":{"row":15,"column":13},"end":{"row":15,"column":16},"action":"insert","lines":[" le"],"id":192,"ignore":true}],[{"start":{"row":15,"column":16},"end":{"row":15,"column":17},"action":"insert","lines":[" "],"id":193,"ignore":true}],[{"start":{"row":15,"column":17},"end":{"row":15,"column":20},"action":"insert","lines":["cha"],"id":194,"ignore":true}],[{"start":{"row":15,"column":20},"end":{"row":15,"column":21},"action":"insert","lines":["t"],"id":195,"ignore":true}],[{"start":{"row":15,"column":4},"end":{"row":15,"column":21},"action":"remove","lines":[" Matte le chat"],"id":196,"ignore":true}],[{"start":{"row":15,"column":0},"end":{"row":15,"column":4},"action":"remove","lines":[" "],"id":197,"ignore":true}],[{"start":{"row":14,"column":55},"end":{"row":15,"column":0},"action":"remove","lines":["",""],"id":198,"ignore":true}],[{"start":{"row":14,"column":55},"end":{"row":15,"column":8},"action":"insert","lines":[""," "],"id":199,"ignore":true}],[{"start":{"row":14,"column":42},"end":{"row":14,"column":49},"action":"remove","lines":["mdb.min"],"id":206},{"start":{"row":14,"column":42},"end":{"row":14,"column":43},"action":"insert","lines":["c"]}],[{"start":{"row":14,"column":43},"end":{"row":14,"column":44},"action":"insert","lines":["u"],"id":207}],[{"start":{"row":14,"column":44},"end":{"row":14,"column":45},"action":"insert","lines":["s"],"id":208}],[{"start":{"row":14,"column":45},"end":{"row":14,"column":46},"action":"insert","lines":["t"],"id":209}],[{"start":{"row":14,"column":46},"end":{"row":14,"column":47},"action":"insert","lines":["o"],"id":210}],[{"start":{"row":14,"column":47},"end":{"row":14,"column":48},"action":"insert","lines":["m"],"id":211}],[{"start":{"row":14,"column":42},"end":{"row":14,"column":48},"action":"remove","lines":["custom"],"id":212},{"start":{"row":14,"column":42},"end":{"row":14,"column":43},"action":"insert","lines":["m"]}],[{"start":{"row":14,"column":43},"end":{"row":14,"column":44},"action":"insert","lines":["d"],"id":213}],[{"start":{"row":14,"column":44},"end":{"row":14,"column":45},"action":"insert","lines":["b"],"id":214}],[{"start":{"row":14,"column":45},"end":{"row":14,"column":46},"action":"insert","lines":["."],"id":215}],[{"start":{"row":14,"column":46},"end":{"row":14,"column":47},"action":"insert","lines":["m"],"id":216}],[{"start":{"row":14,"column":47},"end":{"row":14,"column":48},"action":"insert","lines":["i"],"id":217}],[{"start":{"row":14,"column":48},"end":{"row":14,"column":49},"action":"insert","lines":["n"],"id":218}],[{"start":{"row":14,"column":42},"end":{"row":14,"column":49},"action":"remove","lines":["mdb.min"],"id":219},{"start":{"row":14,"column":42},"end":{"row":14,"column":43},"action":"insert","lines":["c"]}],[{"start":{"row":14,"column":43},"end":{"row":14,"column":44},"action":"insert","lines":["u"],"id":220}],[{"start":{"row":14,"column":44},"end":{"row":14,"column":45},"action":"insert","lines":["s"],"id":221}],[{"start":{"row":14,"column":45},"end":{"row":14,"column":46},"action":"insert","lines":["t"],"id":222}],[{"start":{"row":14,"column":46},"end":{"row":14,"column":47},"action":"insert","lines":["o"],"id":223}],[{"start":{"row":14,"column":47},"end":{"row":14,"column":48},"action":"insert","lines":["m"],"id":224}],[{"start":{"row":59,"column":35},"end":{"row":59,"column":41},"action":"remove","lines":["9acd32"],"id":225},{"start":{"row":59,"column":35},"end":{"row":59,"column":41},"action":"insert","lines":["004400"]}],[{"start":{"row":60,"column":13},"end":{"row":61,"column":0},"action":"insert","lines":["",""],"id":226},{"start":{"row":61,"column":0},"end":{"row":61,"column":12},"action":"insert","lines":[" "]}],[{"start":{"row":61,"column":12},"end":{"row":62,"column":0},"action":"insert","lines":["",""],"id":227},{"start":{"row":62,"column":0},"end":{"row":62,"column":12},"action":"insert","lines":[" "]}],[{"start":{"row":62,"column":12},"end":{"row":62,"column":13},"action":"insert","lines":["n"],"id":228}],[{"start":{"row":62,"column":13},"end":{"row":62,"column":14},"action":"insert","lines":["a"],"id":229}],[{"start":{"row":62,"column":14},"end":{"row":62,"column":15},"action":"insert","lines":["v"],"id":230}],[{"start":{"row":62,"column":15},"end":{"row":62,"column":16},"action":"insert","lines":["-"],"id":231}],[{"start":{"row":62,"column":16},"end":{"row":62,"column":17},"action":"insert","lines":["b"],"id":232}],[{"start":{"row":62,"column":17},"end":{"row":62,"column":18},"action":"insert","lines":["a"],"id":233}],[{"start":{"row":62,"column":18},"end":{"row":62,"column":19},"action":"insert","lines":["r"],"id":234}],[{"start":{"row":62,"column":19},"end":{"row":62,"column":20},"action":"insert","lines":[" "],"id":235}],[{"start":{"row":62,"column":12},"end":{"row":62,"column":20},"action":"remove","lines":["nav-bar "],"id":236},{"start":{"row":62,"column":12},"end":{"row":62,"column":20},"action":"insert","lines":["nav-item"]}],[{"start":{"row":62,"column":20},"end":{"row":62,"column":21},"action":"insert","lines":["."],"id":237}],[{"start":{"row":62,"column":21},"end":{"row":62,"column":22},"action":"insert","lines":["f"],"id":238}],[{"start":{"row":62,"column":22},"end":{"row":62,"column":23},"action":"insert","lines":["o"],"id":239}],[{"start":{"row":62,"column":23},"end":{"row":62,"column":24},"action":"insert","lines":["r"],"id":240}],[{"start":{"row":62,"column":24},"end":{"row":62,"column":25},"action":"insert","lines":["m"],"id":241}],[{"start":{"row":62,"column":25},"end":{"row":62,"column":26},"action":"insert","lines":["-"],"id":242}],[{"start":{"row":62,"column":20},"end":{"row":62,"column":21},"action":"insert","lines":[" "],"id":243}],[{"start":{"row":62,"column":27},"end":{"row":62,"column":28},"action":"insert","lines":["c"],"id":244}],[{"start":{"row":62,"column":28},"end":{"row":62,"column":29},"action":"insert","lines":["o"],"id":245}],[{"start":{"row":62,"column":29},"end":{"row":62,"column":30},"action":"insert","lines":["n"],"id":246}],[{"start":{"row":62,"column":30},"end":{"row":62,"column":31},"action":"insert","lines":["t"],"id":247}],[{"start":{"row":62,"column":31},"end":{"row":62,"column":32},"action":"insert","lines":["r"],"id":248}],[{"start":{"row":62,"column":32},"end":{"row":62,"column":33},"action":"insert","lines":["o"],"id":249}],[{"start":{"row":62,"column":33},"end":{"row":62,"column":34},"action":"insert","lines":["l"],"id":250}],[{"start":{"row":62,"column":12},"end":{"row":62,"column":34},"action":"remove","lines":["nav-item .form-control"],"id":251}],[{"start":{"row":58,"column":28},"end":{"row":58,"column":29},"action":"insert","lines":[","],"id":252}],[{"start":{"row":58,"column":29},"end":{"row":58,"column":30},"action":"insert","lines":[" "],"id":253}],[{"start":{"row":58,"column":30},"end":{"row":58,"column":52},"action":"insert","lines":["nav-item .form-control"],"id":254}],[{"start":{"row":61,"column":12},"end":{"row":62,"column":12},"action":"remove","lines":[""," "],"id":255}],[{"start":{"row":61,"column":8},"end":{"row":61,"column":12},"action":"remove","lines":[" "],"id":256}],[{"start":{"row":61,"column":4},"end":{"row":61,"column":8},"action":"remove","lines":[" "],"id":257}],[{"start":{"row":61,"column":0},"end":{"row":61,"column":4},"action":"remove","lines":[" "],"id":258}],[{"start":{"row":60,"column":13},"end":{"row":61,"column":0},"action":"remove","lines":["",""],"id":259}],[{"start":{"row":58,"column":39},"end":{"row":58,"column":40},"action":"insert","lines":["."],"id":260}],[{"start":{"row":58,"column":40},"end":{"row":58,"column":51},"action":"insert","lines":["form-inline"],"id":261}],[{"start":{"row":58,"column":38},"end":{"row":58,"column":39},"action":"remove","lines":[" "],"id":262}],[{"start":{"row":58,"column":28},"end":{"row":58,"column":63},"action":"remove","lines":[", nav-item.form-inline.form-control"],"id":263}],[{"start":{"row":14,"column":48},"end":{"row":14,"column":49},"action":"insert","lines":["n"],"id":270}],[{"start":{"row":14,"column":47},"end":{"row":14,"column":48},"action":"insert","lines":["i"],"id":269}],[{"start":{"row":14,"column":46},"end":{"row":14,"column":47},"action":"insert","lines":["m"],"id":268}],[{"start":{"row":14,"column":45},"end":{"row":14,"column":46},"action":"insert","lines":["."],"id":267}],[{"start":{"row":14,"column":44},"end":{"row":14,"column":45},"action":"insert","lines":["b"],"id":266}],[{"start":{"row":14,"column":43},"end":{"row":14,"column":44},"action":"insert","lines":["d"],"id":265}],[{"start":{"row":14,"column":42},"end":{"row":14,"column":48},"action":"remove","lines":["custom"],"id":264},{"start":{"row":14,"column":42},"end":{"row":14,"column":43},"action":"insert","lines":["m"]}]]},"ace":{"folds":[],"scrolltop":1086.777808189392,"scrollleft":0,"selection":{"start":{"row":59,"column":41},"end":{"row":59,"column":41},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":74,"state":"css-ruleset","mode":"ace/mode/php"}},"timestamp":1509118861139,"hash":"05c52dcf18522522e20884b282be028f3d720545"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/header.blade.1.php b/workspace/.c9/metadata/workspace/resources/views/header.blade.1.php new file mode 100644 index 0000000..4f9ff17 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/header.blade.1.php @@ -0,0 +1 @@ +{"filter":false,"title":"header.blade.1.php","tooltip":"/resources/views/header.blade.1.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1508957222475,"hash":"bdbb2aa1105416043e7587ca841fbd7ac8520178"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/header.blade.php b/workspace/.c9/metadata/workspace/resources/views/header.blade.php new file mode 100644 index 0000000..4d78a03 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/header.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"header.blade.php","tooltip":"/resources/views/header.blade.php","undoManager":{"mark":90,"position":90,"stack":[[{"start":{"row":4,"column":111},"end":{"row":4,"column":112},"action":"remove","lines":["3"],"id":1}],[{"start":{"row":4,"column":110},"end":{"row":4,"column":111},"action":"remove","lines":["3"],"id":2}],[{"start":{"row":4,"column":110},"end":{"row":4,"column":111},"action":"insert","lines":["4"],"id":3}],[{"start":{"row":4,"column":111},"end":{"row":4,"column":112},"action":"insert","lines":["a"],"id":4}],[{"start":{"row":4,"column":111},"end":{"row":4,"column":112},"action":"remove","lines":["a"],"id":5}],[{"start":{"row":4,"column":111},"end":{"row":4,"column":112},"action":"insert","lines":["f"],"id":6}],[{"start":{"row":4,"column":110},"end":{"row":4,"column":112},"action":"remove","lines":["4f"],"id":7},{"start":{"row":4,"column":110},"end":{"row":4,"column":111},"action":"insert","lines":["5"]}],[{"start":{"row":4,"column":111},"end":{"row":4,"column":112},"action":"insert","lines":["f"],"id":8}],[{"start":{"row":4,"column":111},"end":{"row":4,"column":112},"action":"remove","lines":["f"],"id":9}],[{"start":{"row":4,"column":110},"end":{"row":4,"column":111},"action":"remove","lines":["5"],"id":10}],[{"start":{"row":4,"column":110},"end":{"row":4,"column":111},"action":"insert","lines":["4"],"id":11}],[{"start":{"row":4,"column":111},"end":{"row":4,"column":112},"action":"insert","lines":["a"],"id":12}],[{"start":{"row":4,"column":109},"end":{"row":4,"column":110},"action":"remove","lines":["0"],"id":13}],[{"start":{"row":4,"column":108},"end":{"row":4,"column":109},"action":"remove","lines":["0"],"id":14}],[{"start":{"row":4,"column":108},"end":{"row":4,"column":109},"action":"insert","lines":["2"],"id":15}],[{"start":{"row":4,"column":109},"end":{"row":4,"column":110},"action":"insert","lines":["2"],"id":16}],[{"start":{"row":4,"column":113},"end":{"row":4,"column":114},"action":"remove","lines":["0"],"id":17}],[{"start":{"row":4,"column":112},"end":{"row":4,"column":113},"action":"remove","lines":["0"],"id":18}],[{"start":{"row":4,"column":112},"end":{"row":4,"column":113},"action":"insert","lines":["2"],"id":19}],[{"start":{"row":4,"column":113},"end":{"row":4,"column":114},"action":"insert","lines":["2"],"id":20}],[{"start":{"row":4,"column":108},"end":{"row":4,"column":110},"action":"remove","lines":["22"],"id":21},{"start":{"row":4,"column":108},"end":{"row":4,"column":109},"action":"insert","lines":["4"]}],[{"start":{"row":4,"column":109},"end":{"row":4,"column":110},"action":"insert","lines":["4"],"id":22}],[{"start":{"row":4,"column":113},"end":{"row":4,"column":114},"action":"remove","lines":["2"],"id":23}],[{"start":{"row":4,"column":112},"end":{"row":4,"column":113},"action":"remove","lines":["2"],"id":24}],[{"start":{"row":4,"column":112},"end":{"row":4,"column":113},"action":"insert","lines":["4"],"id":25}],[{"start":{"row":4,"column":113},"end":{"row":4,"column":114},"action":"insert","lines":["4"],"id":26}],[{"start":{"row":4,"column":113},"end":{"row":4,"column":114},"action":"remove","lines":["4"],"id":27}],[{"start":{"row":4,"column":112},"end":{"row":4,"column":113},"action":"remove","lines":["4"],"id":28}],[{"start":{"row":4,"column":112},"end":{"row":4,"column":113},"action":"insert","lines":["1"],"id":29}],[{"start":{"row":4,"column":113},"end":{"row":4,"column":114},"action":"insert","lines":["1"],"id":30}],[{"start":{"row":4,"column":109},"end":{"row":4,"column":110},"action":"remove","lines":["4"],"id":31}],[{"start":{"row":4,"column":108},"end":{"row":4,"column":109},"action":"remove","lines":["4"],"id":32}],[{"start":{"row":4,"column":108},"end":{"row":4,"column":109},"action":"insert","lines":["1"],"id":33}],[{"start":{"row":4,"column":109},"end":{"row":4,"column":110},"action":"insert","lines":["1"],"id":34}],[{"start":{"row":4,"column":82},"end":{"row":4,"column":115},"action":"remove","lines":["style='background-color: #114a11'"],"id":35}],[{"start":{"row":4,"column":81},"end":{"row":4,"column":82},"action":"remove","lines":[" "],"id":36}],[{"start":{"row":14,"column":38},"end":{"row":14,"column":39},"action":"insert","lines":[" "],"id":37}],[{"start":{"row":14,"column":39},"end":{"row":14,"column":40},"action":"insert","lines":["n"],"id":38}],[{"start":{"row":14,"column":40},"end":{"row":14,"column":41},"action":"insert","lines":["a"],"id":39}],[{"start":{"row":14,"column":41},"end":{"row":14,"column":42},"action":"insert","lines":["v"],"id":40}],[{"start":{"row":14,"column":41},"end":{"row":14,"column":42},"action":"remove","lines":["v"],"id":41}],[{"start":{"row":14,"column":40},"end":{"row":14,"column":41},"action":"remove","lines":["a"],"id":42}],[{"start":{"row":14,"column":39},"end":{"row":14,"column":40},"action":"remove","lines":["n"],"id":43}],[{"start":{"row":14,"column":38},"end":{"row":14,"column":39},"action":"remove","lines":[" "],"id":44}],[{"start":{"row":14,"column":38},"end":{"row":14,"column":39},"action":"insert","lines":[" "],"id":45}],[{"start":{"row":14,"column":39},"end":{"row":14,"column":40},"action":"insert","lines":["b"],"id":46}],[{"start":{"row":14,"column":40},"end":{"row":14,"column":41},"action":"insert","lines":["o"],"id":47}],[{"start":{"row":14,"column":41},"end":{"row":14,"column":42},"action":"insert","lines":["l"],"id":48}],[{"start":{"row":14,"column":42},"end":{"row":14,"column":43},"action":"insert","lines":["d"],"id":49}],[{"start":{"row":17,"column":38},"end":{"row":17,"column":39},"action":"insert","lines":[" "],"id":50}],[{"start":{"row":17,"column":39},"end":{"row":17,"column":40},"action":"insert","lines":["b"],"id":51}],[{"start":{"row":17,"column":40},"end":{"row":17,"column":41},"action":"insert","lines":["o"],"id":52}],[{"start":{"row":17,"column":41},"end":{"row":17,"column":42},"action":"insert","lines":["l"],"id":53}],[{"start":{"row":17,"column":42},"end":{"row":17,"column":43},"action":"insert","lines":["d"],"id":54}],[{"start":{"row":20,"column":38},"end":{"row":20,"column":39},"action":"insert","lines":[" "],"id":55}],[{"start":{"row":20,"column":39},"end":{"row":20,"column":40},"action":"insert","lines":["b"],"id":56}],[{"start":{"row":20,"column":40},"end":{"row":20,"column":41},"action":"insert","lines":["o"],"id":57}],[{"start":{"row":20,"column":41},"end":{"row":20,"column":42},"action":"insert","lines":["l"],"id":58}],[{"start":{"row":20,"column":42},"end":{"row":20,"column":43},"action":"insert","lines":["d"],"id":59}],[{"start":{"row":23,"column":38},"end":{"row":23,"column":39},"action":"insert","lines":[" "],"id":60}],[{"start":{"row":23,"column":39},"end":{"row":23,"column":40},"action":"insert","lines":["b"],"id":61}],[{"start":{"row":23,"column":40},"end":{"row":23,"column":41},"action":"insert","lines":["o"],"id":62}],[{"start":{"row":23,"column":41},"end":{"row":23,"column":42},"action":"insert","lines":["l"],"id":63}],[{"start":{"row":23,"column":42},"end":{"row":23,"column":43},"action":"insert","lines":["d"],"id":64}],[{"start":{"row":23,"column":42},"end":{"row":23,"column":43},"action":"remove","lines":["d"],"id":65}],[{"start":{"row":23,"column":41},"end":{"row":23,"column":42},"action":"remove","lines":["l"],"id":66}],[{"start":{"row":23,"column":40},"end":{"row":23,"column":41},"action":"remove","lines":["o"],"id":67}],[{"start":{"row":23,"column":39},"end":{"row":23,"column":40},"action":"remove","lines":["b"],"id":68}],[{"start":{"row":23,"column":38},"end":{"row":23,"column":39},"action":"remove","lines":[" "],"id":69}],[{"start":{"row":20,"column":42},"end":{"row":20,"column":43},"action":"remove","lines":["d"],"id":70}],[{"start":{"row":20,"column":41},"end":{"row":20,"column":42},"action":"remove","lines":["l"],"id":71}],[{"start":{"row":20,"column":40},"end":{"row":20,"column":41},"action":"remove","lines":["o"],"id":72}],[{"start":{"row":20,"column":39},"end":{"row":20,"column":40},"action":"remove","lines":["b"],"id":73}],[{"start":{"row":20,"column":38},"end":{"row":20,"column":39},"action":"remove","lines":[" "],"id":74}],[{"start":{"row":17,"column":42},"end":{"row":17,"column":43},"action":"remove","lines":["d"],"id":75}],[{"start":{"row":17,"column":41},"end":{"row":17,"column":42},"action":"remove","lines":["l"],"id":76}],[{"start":{"row":17,"column":40},"end":{"row":17,"column":41},"action":"remove","lines":["o"],"id":77}],[{"start":{"row":17,"column":39},"end":{"row":17,"column":40},"action":"remove","lines":["b"],"id":78}],[{"start":{"row":17,"column":38},"end":{"row":17,"column":39},"action":"remove","lines":[" "],"id":79}],[{"start":{"row":14,"column":42},"end":{"row":14,"column":43},"action":"remove","lines":["d"],"id":80}],[{"start":{"row":14,"column":41},"end":{"row":14,"column":42},"action":"remove","lines":["l"],"id":81}],[{"start":{"row":14,"column":40},"end":{"row":14,"column":41},"action":"remove","lines":["o"],"id":82}],[{"start":{"row":14,"column":39},"end":{"row":14,"column":40},"action":"remove","lines":["b"],"id":83}],[{"start":{"row":14,"column":38},"end":{"row":14,"column":39},"action":"remove","lines":[" "],"id":84}],[{"start":{"row":4,"column":63},"end":{"row":4,"column":70},"action":"remove","lines":["inverse"],"id":85},{"start":{"row":4,"column":63},"end":{"row":4,"column":64},"action":"insert","lines":["l"]}],[{"start":{"row":4,"column":64},"end":{"row":4,"column":65},"action":"insert","lines":["i"],"id":86}],[{"start":{"row":4,"column":65},"end":{"row":4,"column":66},"action":"insert","lines":["g"],"id":87}],[{"start":{"row":4,"column":66},"end":{"row":4,"column":67},"action":"insert","lines":["t"],"id":88}],[{"start":{"row":4,"column":66},"end":{"row":4,"column":67},"action":"remove","lines":["t"],"id":89}],[{"start":{"row":4,"column":66},"end":{"row":4,"column":67},"action":"insert","lines":["h"],"id":90}],[{"start":{"row":4,"column":67},"end":{"row":4,"column":68},"action":"insert","lines":["t"],"id":91}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":7,"column":43},"end":{"row":7,"column":43},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":44,"state":"comment","mode":"ace/mode/php"}},"timestamp":1508921218731,"hash":"bdbb2aa1105416043e7587ca841fbd7ac8520178"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/header1.blade.php b/workspace/.c9/metadata/workspace/resources/views/header1.blade.php new file mode 100644 index 0000000..afea4e3 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/header1.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"header1.blade.php","tooltip":"/resources/views/header1.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":24,"column":47},"end":{"row":24,"column":47},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509350415504,"hash":"c09b03dba212d036b48a700e06e50266eab63026"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/home.blade.php b/workspace/.c9/metadata/workspace/resources/views/home.blade.php new file mode 100644 index 0000000..b5d09a5 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/home.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"home.blade.php","tooltip":"/resources/views/home.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":7,"column":28},"end":{"row":7,"column":28},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509404754230,"hash":"091bcfa479d81f89bbe8697f80b45339a477bc22"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/index.blade.1.php b/workspace/.c9/metadata/workspace/resources/views/index.blade.1.php new file mode 100644 index 0000000..417ae70 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/index.blade.1.php @@ -0,0 +1 @@ +{"filter":false,"title":"index.blade.1.php","tooltip":"/resources/views/index.blade.1.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":130.4000000000002,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":8,"state":"start","mode":"ace/mode/php"}},"timestamp":1508957223264,"hash":"f48bbc05edaa2f89c4da3e8fd7aee90f76c0d51f"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/index.blade.php b/workspace/.c9/metadata/workspace/resources/views/index.blade.php new file mode 100644 index 0000000..885fccc --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/index.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"index.blade.php","tooltip":"/resources/views/index.blade.php","ace":{"folds":[],"scrolltop":1078,"scrollleft":0,"selection":{"start":{"row":69,"column":0},"end":{"row":69,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":66,"state":"start","mode":"ace/mode/php"}},"hash":"3b47b1d1bf64f139d75b2768692e1b4c49ed36fa","undoManager":{"mark":-1,"position":-1,"stack":[]},"timestamp":1509897482913} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/index1.blade.php b/workspace/.c9/metadata/workspace/resources/views/index1.blade.php new file mode 100644 index 0000000..2be9dab --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/index1.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"index1.blade.php","tooltip":"/resources/views/index1.blade.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":35,"column":15},"end":{"row":35,"column":16},"action":"remove","lines":["-"],"id":445}],[{"start":{"row":35,"column":14},"end":{"row":35,"column":15},"action":"remove","lines":["-"],"id":446}],[{"start":{"row":35,"column":13},"end":{"row":35,"column":14},"action":"remove","lines":["!"],"id":447}],[{"start":{"row":35,"column":12},"end":{"row":35,"column":13},"action":"remove","lines":["<"],"id":448}],[{"start":{"row":44,"column":18},"end":{"row":44,"column":19},"action":"remove","lines":[">"],"id":449}],[{"start":{"row":44,"column":17},"end":{"row":44,"column":18},"action":"remove","lines":["-"],"id":450}],[{"start":{"row":44,"column":16},"end":{"row":44,"column":17},"action":"remove","lines":["-"],"id":451}],[{"start":{"row":45,"column":12},"end":{"row":53,"column":16},"action":"remove","lines":[""," <a class=\"carousel-control-prev\" href=\"#carouselExampleControls\" role=\"button\" data-slide=\"prev\">"," <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>"," <span class=\"sr-only\">Previous</span>"," </a>"," <a class=\"carousel-control-next\" href=\"#carouselExampleControls\" role=\"button\" data-slide=\"next\">"," <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>"," <span class=\"sr-only\">Next</span>"," </a>"],"id":452}],[{"start":{"row":45,"column":8},"end":{"row":45,"column":12},"action":"remove","lines":[" "],"id":453}],[{"start":{"row":45,"column":4},"end":{"row":45,"column":8},"action":"remove","lines":[" "],"id":454}],[{"start":{"row":45,"column":0},"end":{"row":45,"column":4},"action":"remove","lines":[" "],"id":455}],[{"start":{"row":44,"column":16},"end":{"row":45,"column":0},"action":"remove","lines":["",""],"id":456}],[{"start":{"row":1,"column":0},"end":{"row":2,"column":0},"action":"insert","lines":["",""],"id":457}],[{"start":{"row":2,"column":0},"end":{"row":3,"column":0},"action":"insert","lines":["",""],"id":458}],[{"start":{"row":1,"column":0},"end":{"row":2,"column":0},"action":"insert","lines":["",""],"id":459}],[{"start":{"row":2,"column":0},"end":{"row":2,"column":1},"action":"insert","lines":["@"],"id":460}],[{"start":{"row":2,"column":1},"end":{"row":2,"column":2},"action":"insert","lines":["s"],"id":461}],[{"start":{"row":2,"column":2},"end":{"row":2,"column":3},"action":"insert","lines":["e"],"id":462}],[{"start":{"row":2,"column":3},"end":{"row":2,"column":4},"action":"insert","lines":["c"],"id":463}],[{"start":{"row":2,"column":1},"end":{"row":2,"column":4},"action":"remove","lines":["sec"],"id":464},{"start":{"row":2,"column":1},"end":{"row":2,"column":8},"action":"insert","lines":["section"]}],[{"start":{"row":2,"column":8},"end":{"row":2,"column":9},"action":"insert","lines":["("],"id":465}],[{"start":{"row":2,"column":9},"end":{"row":2,"column":10},"action":"insert","lines":["'"],"id":466}],[{"start":{"row":2,"column":10},"end":{"row":2,"column":11},"action":"insert","lines":["t"],"id":467}],[{"start":{"row":2,"column":11},"end":{"row":2,"column":12},"action":"insert","lines":["i"],"id":468}],[{"start":{"row":2,"column":12},"end":{"row":2,"column":13},"action":"insert","lines":["t"],"id":469}],[{"start":{"row":2,"column":13},"end":{"row":2,"column":14},"action":"insert","lines":["l"],"id":470}],[{"start":{"row":2,"column":14},"end":{"row":2,"column":15},"action":"insert","lines":["e"],"id":471}],[{"start":{"row":2,"column":15},"end":{"row":2,"column":16},"action":"insert","lines":["'"],"id":472}],[{"start":{"row":2,"column":16},"end":{"row":2,"column":17},"action":"insert","lines":[")"],"id":473}],[{"start":{"row":2,"column":17},"end":{"row":3,"column":0},"action":"insert","lines":["",""],"id":474}],[{"start":{"row":3,"column":0},"end":{"row":4,"column":0},"action":"insert","lines":["",""],"id":475}],[{"start":{"row":4,"column":0},"end":{"row":4,"column":1},"action":"insert","lines":["@"],"id":476}],[{"start":{"row":4,"column":1},"end":{"row":4,"column":2},"action":"insert","lines":["e"],"id":477}],[{"start":{"row":4,"column":2},"end":{"row":4,"column":3},"action":"insert","lines":["n"],"id":478}],[{"start":{"row":4,"column":3},"end":{"row":4,"column":4},"action":"insert","lines":["d"],"id":479}],[{"start":{"row":4,"column":4},"end":{"row":4,"column":5},"action":"insert","lines":["s"],"id":480}],[{"start":{"row":4,"column":5},"end":{"row":4,"column":6},"action":"insert","lines":["e"],"id":481}],[{"start":{"row":4,"column":6},"end":{"row":4,"column":7},"action":"insert","lines":["c"],"id":482}],[{"start":{"row":4,"column":7},"end":{"row":4,"column":8},"action":"insert","lines":["t"],"id":483}],[{"start":{"row":4,"column":8},"end":{"row":4,"column":9},"action":"insert","lines":["i"],"id":484}],[{"start":{"row":4,"column":9},"end":{"row":4,"column":10},"action":"insert","lines":["o"],"id":485}],[{"start":{"row":4,"column":10},"end":{"row":4,"column":11},"action":"insert","lines":["n"],"id":486}],[{"start":{"row":3,"column":0},"end":{"row":3,"column":1},"action":"insert","lines":["A"],"id":487}],[{"start":{"row":3,"column":1},"end":{"row":3,"column":2},"action":"insert","lines":["c"],"id":488}],[{"start":{"row":3,"column":2},"end":{"row":3,"column":3},"action":"insert","lines":["c"],"id":489}],[{"start":{"row":3,"column":3},"end":{"row":3,"column":4},"action":"insert","lines":["u"],"id":490}],[{"start":{"row":3,"column":4},"end":{"row":3,"column":5},"action":"insert","lines":["e"],"id":491}],[{"start":{"row":3,"column":5},"end":{"row":3,"column":6},"action":"insert","lines":["i"],"id":492}],[{"start":{"row":3,"column":6},"end":{"row":3,"column":7},"action":"insert","lines":["l"],"id":493}],[{"start":{"row":52,"column":14},"end":{"row":52,"column":15},"action":"insert","lines":["-"],"id":494}],[{"start":{"row":52,"column":15},"end":{"row":52,"column":16},"action":"insert","lines":["-"],"id":495}],[{"start":{"row":52,"column":16},"end":{"row":52,"column":17},"action":"insert","lines":[">"],"id":496}],[{"start":{"row":20,"column":21},"end":{"row":21,"column":8},"action":"insert","lines":[""," "],"id":497}],[{"start":{"row":21,"column":8},"end":{"row":21,"column":9},"action":"insert","lines":["<"],"id":498}],[{"start":{"row":21,"column":9},"end":{"row":21,"column":10},"action":"insert","lines":["!"],"id":499}],[{"start":{"row":21,"column":10},"end":{"row":21,"column":11},"action":"insert","lines":["-"],"id":500}],[{"start":{"row":21,"column":11},"end":{"row":21,"column":12},"action":"insert","lines":["-"],"id":501}],[{"start":{"row":53,"column":14},"end":{"row":53,"column":17},"action":"remove","lines":["-->"],"id":502}],[{"start":{"row":69,"column":10},"end":{"row":69,"column":11},"action":"insert","lines":["-"],"id":503}],[{"start":{"row":69,"column":11},"end":{"row":69,"column":12},"action":"insert","lines":["-"],"id":504}],[{"start":{"row":69,"column":12},"end":{"row":69,"column":13},"action":"insert","lines":[">"],"id":505}],[{"start":{"row":21,"column":8},"end":{"row":21,"column":12},"action":"remove","lines":["<!--"],"id":506}],[{"start":{"row":19,"column":4},"end":{"row":20,"column":0},"action":"insert","lines":["",""],"id":507},{"start":{"row":20,"column":0},"end":{"row":20,"column":4},"action":"insert","lines":[" "]}],[{"start":{"row":20,"column":4},"end":{"row":20,"column":8},"action":"insert","lines":["<!--"],"id":508}],[{"start":{"row":70,"column":13},"end":{"row":71,"column":0},"action":"insert","lines":["",""],"id":509},{"start":{"row":71,"column":0},"end":{"row":71,"column":4},"action":"insert","lines":[" "]}],[{"start":{"row":71,"column":4},"end":{"row":72,"column":0},"action":"insert","lines":["",""],"id":510},{"start":{"row":72,"column":0},"end":{"row":72,"column":4},"action":"insert","lines":[" "]}],[{"start":{"row":72,"column":0},"end":{"row":72,"column":4},"action":"remove","lines":[" "],"id":513}],[{"start":{"row":71,"column":4},"end":{"row":72,"column":0},"action":"remove","lines":["",""],"id":514}],[{"start":{"row":71,"column":0},"end":{"row":71,"column":4},"action":"remove","lines":[" "],"id":515}],[{"start":{"row":70,"column":13},"end":{"row":71,"column":0},"action":"remove","lines":["",""],"id":516}],[{"start":{"row":70,"column":12},"end":{"row":70,"column":13},"action":"remove","lines":[">"],"id":517}],[{"start":{"row":70,"column":11},"end":{"row":70,"column":12},"action":"remove","lines":["-"],"id":518}],[{"start":{"row":70,"column":10},"end":{"row":70,"column":11},"action":"remove","lines":["-"],"id":519}],[{"start":{"row":68,"column":14},"end":{"row":68,"column":15},"action":"insert","lines":["-"],"id":520}],[{"start":{"row":68,"column":15},"end":{"row":68,"column":16},"action":"insert","lines":["-"],"id":521}],[{"start":{"row":68,"column":16},"end":{"row":68,"column":17},"action":"insert","lines":[">"],"id":522}],[{"start":{"row":20,"column":4},"end":{"row":20,"column":8},"action":"remove","lines":["<!--"],"id":523}],[{"start":{"row":22,"column":8},"end":{"row":22,"column":12},"action":"insert","lines":["<!--"],"id":524}],[{"start":{"row":68,"column":17},"end":{"row":69,"column":0},"action":"insert","lines":["",""],"id":525},{"start":{"row":69,"column":0},"end":{"row":69,"column":8},"action":"insert","lines":[" "]}],[{"start":{"row":69,"column":8},"end":{"row":70,"column":0},"action":"insert","lines":["",""],"id":526},{"start":{"row":70,"column":0},"end":{"row":70,"column":8},"action":"insert","lines":[" "]}],[{"start":{"row":70,"column":4},"end":{"row":70,"column":8},"action":"remove","lines":[" "],"id":528}],[{"start":{"row":70,"column":0},"end":{"row":70,"column":4},"action":"remove","lines":[" "],"id":529}],[{"start":{"row":69,"column":8},"end":{"row":70,"column":0},"action":"remove","lines":["",""],"id":530}],[{"start":{"row":69,"column":4},"end":{"row":69,"column":8},"action":"remove","lines":[" "],"id":531}],[{"start":{"row":69,"column":0},"end":{"row":69,"column":4},"action":"remove","lines":[" "],"id":532}],[{"start":{"row":68,"column":17},"end":{"row":69,"column":0},"action":"remove","lines":["",""],"id":533}],[{"start":{"row":68,"column":16},"end":{"row":68,"column":17},"action":"remove","lines":[">"],"id":534}],[{"start":{"row":68,"column":15},"end":{"row":68,"column":16},"action":"remove","lines":["-"],"id":535}],[{"start":{"row":68,"column":14},"end":{"row":68,"column":15},"action":"remove","lines":["-"],"id":536}],[{"start":{"row":22,"column":11},"end":{"row":22,"column":12},"action":"remove","lines":["-"],"id":537}],[{"start":{"row":22,"column":10},"end":{"row":22,"column":11},"action":"remove","lines":["-"],"id":538}],[{"start":{"row":22,"column":9},"end":{"row":22,"column":10},"action":"remove","lines":["!"],"id":539}],[{"start":{"row":22,"column":8},"end":{"row":22,"column":9},"action":"remove","lines":["<"],"id":546}],[{"start":{"row":43,"column":0},"end":{"row":43,"column":4},"action":"insert","lines":[" "],"id":547},{"start":{"row":44,"column":0},"end":{"row":44,"column":4},"action":"insert","lines":[" "]},{"start":{"row":45,"column":0},"end":{"row":45,"column":4},"action":"insert","lines":[" "]},{"start":{"row":46,"column":0},"end":{"row":46,"column":4},"action":"insert","lines":[" "]},{"start":{"row":47,"column":0},"end":{"row":47,"column":4},"action":"insert","lines":[" "]},{"start":{"row":48,"column":0},"end":{"row":48,"column":4},"action":"insert","lines":[" "]},{"start":{"row":49,"column":0},"end":{"row":49,"column":4},"action":"insert","lines":[" "]},{"start":{"row":50,"column":0},"end":{"row":50,"column":4},"action":"insert","lines":[" "]},{"start":{"row":51,"column":0},"end":{"row":51,"column":4},"action":"insert","lines":[" "]}],[{"start":{"row":51,"column":20},"end":{"row":52,"column":12},"action":"remove","lines":[""," "],"id":548},{"start":{"row":51,"column":20},"end":{"row":51,"column":21},"action":"insert","lines":["*"]}],[{"start":{"row":51,"column":20},"end":{"row":51,"column":21},"action":"remove","lines":["*"],"id":549}],[{"start":{"row":52,"column":18},"end":{"row":53,"column":0},"action":"insert","lines":["",""],"id":550},{"start":{"row":53,"column":0},"end":{"row":53,"column":12},"action":"insert","lines":[" "]}],[{"start":{"row":52,"column":18},"end":{"row":53,"column":12},"action":"remove","lines":[""," "],"id":551}],[{"start":{"row":71,"column":21},"end":{"row":71,"column":37},"action":"remove","lines":["Related Projects"],"id":552,"ignore":true},{"start":{"row":71,"column":21},"end":{"row":71,"column":35},"action":"insert","lines":["Périme bientôt"]}],[{"start":{"row":71,"column":27},"end":{"row":71,"column":28},"action":"insert","lines":["n"],"id":553}],[{"start":{"row":71,"column":28},"end":{"row":71,"column":29},"action":"insert","lines":["t"],"id":554}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":5,"column":0},"end":{"row":5,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":6,"state":"start","mode":"ace/mode/php"}},"timestamp":1509113523828,"hash":"16be330121771162d4aaa10834220db2fb83f122"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/layouts/app.blade.php b/workspace/.c9/metadata/workspace/resources/views/layouts/app.blade.php new file mode 100644 index 0000000..f321f40 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/layouts/app.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"app.blade.php","tooltip":"/resources/views/layouts/app.blade.php","ace":{"folds":[],"scrolltop":360,"scrollleft":0,"selection":{"start":{"row":36,"column":28},"end":{"row":36,"column":28},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":13,"state":"start","mode":"ace/mode/php"}},"hash":"22e40d1b15375054715cc2d6087edd656384d0b2","undoManager":{"mark":93,"position":93,"stack":[[{"start":{"row":20,"column":53},"end":{"row":20,"column":60},"action":"remove","lines":["accueil"],"id":183,"ignore":true},{"start":{"row":20,"column":53},"end":{"row":20,"column":54},"action":"insert","lines":["/"]}],[{"start":{"row":66,"column":63},"end":{"row":66,"column":64},"action":"remove","lines":["#"],"id":184}],[{"start":{"row":66,"column":63},"end":{"row":66,"column":64},"action":"insert","lines":["{"],"id":185}],[{"start":{"row":66,"column":64},"end":{"row":66,"column":65},"action":"insert","lines":["{"],"id":186}],[{"start":{"row":66,"column":65},"end":{"row":66,"column":66},"action":"insert","lines":["u"],"id":187}],[{"start":{"row":66,"column":66},"end":{"row":66,"column":67},"action":"insert","lines":["r"],"id":188}],[{"start":{"row":66,"column":67},"end":{"row":66,"column":68},"action":"insert","lines":["l"],"id":189}],[{"start":{"row":66,"column":68},"end":{"row":66,"column":69},"action":"insert","lines":["("],"id":190}],[{"start":{"row":66,"column":69},"end":{"row":66,"column":70},"action":"insert","lines":["'"],"id":191}],[{"start":{"row":66,"column":70},"end":{"row":66,"column":71},"action":"insert","lines":["p"],"id":192}],[{"start":{"row":66,"column":71},"end":{"row":66,"column":72},"action":"insert","lines":["r"],"id":193}],[{"start":{"row":66,"column":72},"end":{"row":66,"column":73},"action":"insert","lines":["o"],"id":194}],[{"start":{"row":66,"column":73},"end":{"row":66,"column":74},"action":"insert","lines":["d"],"id":195}],[{"start":{"row":66,"column":74},"end":{"row":66,"column":75},"action":"insert","lines":["u"],"id":196}],[{"start":{"row":66,"column":75},"end":{"row":66,"column":76},"action":"insert","lines":["c"],"id":197}],[{"start":{"row":66,"column":76},"end":{"row":66,"column":77},"action":"insert","lines":["t"],"id":198}],[{"start":{"row":66,"column":77},"end":{"row":66,"column":78},"action":"insert","lines":["s"],"id":199}],[{"start":{"row":66,"column":78},"end":{"row":66,"column":79},"action":"insert","lines":["'"],"id":200}],[{"start":{"row":66,"column":79},"end":{"row":66,"column":80},"action":"insert","lines":[")"],"id":201}],[{"start":{"row":66,"column":80},"end":{"row":66,"column":81},"action":"insert","lines":["}"],"id":202}],[{"start":{"row":66,"column":81},"end":{"row":66,"column":82},"action":"insert","lines":["}"],"id":203}],[{"start":{"row":66,"column":78},"end":{"row":66,"column":79},"action":"insert","lines":["/"],"id":204}],[{"start":{"row":66,"column":79},"end":{"row":66,"column":80},"action":"insert","lines":["a"],"id":205}],[{"start":{"row":66,"column":80},"end":{"row":66,"column":81},"action":"insert","lines":["l"],"id":206}],[{"start":{"row":66,"column":81},"end":{"row":66,"column":82},"action":"insert","lines":["i"],"id":207}],[{"start":{"row":66,"column":82},"end":{"row":66,"column":83},"action":"insert","lines":["m"],"id":208}],[{"start":{"row":66,"column":83},"end":{"row":66,"column":84},"action":"insert","lines":["e"],"id":209}],[{"start":{"row":66,"column":84},"end":{"row":66,"column":85},"action":"insert","lines":["n"],"id":210}],[{"start":{"row":66,"column":79},"end":{"row":66,"column":85},"action":"remove","lines":["alimen"],"id":211},{"start":{"row":66,"column":79},"end":{"row":66,"column":87},"action":"insert","lines":["aliments"]}],[{"start":{"row":66,"column":86},"end":{"row":66,"column":87},"action":"remove","lines":["s"],"id":212}],[{"start":{"row":66,"column":85},"end":{"row":66,"column":86},"action":"remove","lines":["t"],"id":213}],[{"start":{"row":66,"column":84},"end":{"row":66,"column":85},"action":"remove","lines":["n"],"id":214}],[{"start":{"row":66,"column":83},"end":{"row":66,"column":84},"action":"remove","lines":["e"],"id":215}],[{"start":{"row":66,"column":82},"end":{"row":66,"column":83},"action":"remove","lines":["m"],"id":216}],[{"start":{"row":66,"column":81},"end":{"row":66,"column":82},"action":"remove","lines":["i"],"id":217}],[{"start":{"row":66,"column":80},"end":{"row":66,"column":81},"action":"remove","lines":["l"],"id":218}],[{"start":{"row":66,"column":79},"end":{"row":66,"column":80},"action":"remove","lines":["a"],"id":219}],[{"start":{"row":66,"column":79},"end":{"row":66,"column":80},"action":"insert","lines":["a"],"id":220}],[{"start":{"row":66,"column":80},"end":{"row":66,"column":81},"action":"insert","lines":["l"],"id":221}],[{"start":{"row":66,"column":81},"end":{"row":66,"column":82},"action":"insert","lines":["i"],"id":222}],[{"start":{"row":66,"column":82},"end":{"row":66,"column":83},"action":"insert","lines":["m"],"id":223}],[{"start":{"row":66,"column":83},"end":{"row":66,"column":84},"action":"insert","lines":["e"],"id":224}],[{"start":{"row":66,"column":84},"end":{"row":66,"column":85},"action":"insert","lines":["n"],"id":225}],[{"start":{"row":66,"column":85},"end":{"row":66,"column":86},"action":"insert","lines":["t"],"id":226}],[{"start":{"row":66,"column":86},"end":{"row":66,"column":87},"action":"insert","lines":["a"],"id":227}],[{"start":{"row":66,"column":87},"end":{"row":66,"column":88},"action":"insert","lines":["r"],"id":228}],[{"start":{"row":66,"column":88},"end":{"row":66,"column":89},"action":"insert","lines":["y"],"id":229}],[{"start":{"row":66,"column":88},"end":{"row":66,"column":89},"action":"remove","lines":["y"],"id":230}],[{"start":{"row":66,"column":87},"end":{"row":66,"column":88},"action":"remove","lines":["r"],"id":231}],[{"start":{"row":66,"column":86},"end":{"row":66,"column":87},"action":"remove","lines":["a"],"id":232}],[{"start":{"row":66,"column":85},"end":{"row":66,"column":86},"action":"remove","lines":["t"],"id":233}],[{"start":{"row":66,"column":84},"end":{"row":66,"column":85},"action":"remove","lines":["n"],"id":234}],[{"start":{"row":66,"column":83},"end":{"row":66,"column":84},"action":"remove","lines":["e"],"id":235}],[{"start":{"row":66,"column":82},"end":{"row":66,"column":83},"action":"remove","lines":["m"],"id":236}],[{"start":{"row":66,"column":81},"end":{"row":66,"column":82},"action":"remove","lines":["i"],"id":237}],[{"start":{"row":66,"column":80},"end":{"row":66,"column":81},"action":"remove","lines":["l"],"id":238}],[{"start":{"row":66,"column":79},"end":{"row":66,"column":80},"action":"remove","lines":["a"],"id":239}],[{"start":{"row":66,"column":79},"end":{"row":66,"column":80},"action":"insert","lines":["c"],"id":240}],[{"start":{"row":66,"column":80},"end":{"row":66,"column":81},"action":"insert","lines":["r"],"id":241}],[{"start":{"row":66,"column":81},"end":{"row":66,"column":82},"action":"insert","lines":["e"],"id":242}],[{"start":{"row":66,"column":82},"end":{"row":66,"column":83},"action":"insert","lines":["a"],"id":243}],[{"start":{"row":66,"column":83},"end":{"row":66,"column":84},"action":"insert","lines":["t"],"id":244}],[{"start":{"row":66,"column":84},"end":{"row":66,"column":85},"action":"insert","lines":["e"],"id":245}],[{"start":{"row":66,"column":84},"end":{"row":66,"column":85},"action":"remove","lines":["e"],"id":246}],[{"start":{"row":66,"column":83},"end":{"row":66,"column":84},"action":"remove","lines":["t"],"id":247}],[{"start":{"row":66,"column":82},"end":{"row":66,"column":83},"action":"remove","lines":["a"],"id":248}],[{"start":{"row":66,"column":81},"end":{"row":66,"column":82},"action":"remove","lines":["e"],"id":249}],[{"start":{"row":66,"column":80},"end":{"row":66,"column":81},"action":"remove","lines":["r"],"id":250}],[{"start":{"row":66,"column":79},"end":{"row":66,"column":80},"action":"remove","lines":["c"],"id":251}],[{"start":{"row":66,"column":78},"end":{"row":66,"column":79},"action":"remove","lines":["/"],"id":252}],[{"start":{"row":66,"column":78},"end":{"row":66,"column":79},"action":"insert","lines":["/"],"id":253}],[{"start":{"row":66,"column":79},"end":{"row":66,"column":80},"action":"insert","lines":["a"],"id":254}],[{"start":{"row":66,"column":80},"end":{"row":66,"column":81},"action":"insert","lines":["l"],"id":255}],[{"start":{"row":66,"column":81},"end":{"row":66,"column":82},"action":"insert","lines":["i"],"id":256}],[{"start":{"row":66,"column":82},"end":{"row":66,"column":83},"action":"insert","lines":["m"],"id":257}],[{"start":{"row":66,"column":83},"end":{"row":66,"column":84},"action":"insert","lines":["e"],"id":258}],[{"start":{"row":66,"column":84},"end":{"row":66,"column":85},"action":"insert","lines":["n"],"id":259}],[{"start":{"row":66,"column":85},"end":{"row":66,"column":86},"action":"insert","lines":["t"],"id":260}],[{"start":{"row":66,"column":86},"end":{"row":66,"column":87},"action":"insert","lines":["s"],"id":261}],[{"start":{"row":66,"column":86},"end":{"row":66,"column":87},"action":"remove","lines":["s"],"id":262}],[{"start":{"row":66,"column":86},"end":{"row":66,"column":87},"action":"insert","lines":["a"],"id":263}],[{"start":{"row":66,"column":87},"end":{"row":66,"column":88},"action":"insert","lines":["r"],"id":264}],[{"start":{"row":66,"column":88},"end":{"row":66,"column":89},"action":"insert","lines":["y"],"id":265}],[{"start":{"row":66,"column":88},"end":{"row":66,"column":89},"action":"remove","lines":["y"],"id":266}],[{"start":{"row":66,"column":87},"end":{"row":66,"column":88},"action":"remove","lines":["r"],"id":267}],[{"start":{"row":66,"column":86},"end":{"row":66,"column":87},"action":"remove","lines":["a"],"id":268}],[{"start":{"row":66,"column":85},"end":{"row":66,"column":86},"action":"remove","lines":["t"],"id":269}],[{"start":{"row":66,"column":84},"end":{"row":66,"column":85},"action":"remove","lines":["n"],"id":270}],[{"start":{"row":66,"column":83},"end":{"row":66,"column":84},"action":"remove","lines":["e"],"id":271}],[{"start":{"row":66,"column":82},"end":{"row":66,"column":83},"action":"remove","lines":["m"],"id":272}],[{"start":{"row":66,"column":81},"end":{"row":66,"column":82},"action":"remove","lines":["i"],"id":273}],[{"start":{"row":66,"column":80},"end":{"row":66,"column":81},"action":"remove","lines":["l"],"id":274}],[{"start":{"row":66,"column":79},"end":{"row":66,"column":80},"action":"remove","lines":["a"],"id":275}],[{"start":{"row":66,"column":78},"end":{"row":66,"column":79},"action":"remove","lines":["/"],"id":276}]]},"timestamp":1511149767193} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/layouts/header.blade.php b/workspace/.c9/metadata/workspace/resources/views/layouts/header.blade.php new file mode 100644 index 0000000..d3ae407 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/layouts/header.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"header.blade.php","tooltip":"/resources/views/layouts/header.blade.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":26,"column":21},"end":{"row":26,"column":22},"action":"insert","lines":["!"],"id":774}],[{"start":{"row":26,"column":22},"end":{"row":26,"column":23},"action":"insert","lines":["-"],"id":775}],[{"start":{"row":26,"column":23},"end":{"row":26,"column":24},"action":"insert","lines":["-"],"id":776}],[{"start":{"row":29,"column":25},"end":{"row":29,"column":26},"action":"insert","lines":[" "],"id":777}],[{"start":{"row":29,"column":26},"end":{"row":29,"column":27},"action":"insert","lines":["-"],"id":778}],[{"start":{"row":29,"column":27},"end":{"row":29,"column":28},"action":"insert","lines":["-"],"id":779}],[{"start":{"row":29,"column":28},"end":{"row":29,"column":29},"action":"insert","lines":[">"],"id":780}],[{"start":{"row":24,"column":71},"end":{"row":24,"column":76},"action":"remove","lines":["Login"],"id":781},{"start":{"row":24,"column":71},"end":{"row":24,"column":72},"action":"insert","lines":["C"]}],[{"start":{"row":24,"column":72},"end":{"row":24,"column":73},"action":"insert","lines":["o"],"id":782}],[{"start":{"row":24,"column":73},"end":{"row":24,"column":74},"action":"insert","lines":["n"],"id":783}],[{"start":{"row":24,"column":74},"end":{"row":24,"column":75},"action":"insert","lines":["n"],"id":784}],[{"start":{"row":24,"column":75},"end":{"row":24,"column":76},"action":"insert","lines":["e"],"id":785}],[{"start":{"row":24,"column":76},"end":{"row":24,"column":77},"action":"insert","lines":["x"],"id":786}],[{"start":{"row":24,"column":77},"end":{"row":24,"column":78},"action":"insert","lines":["i"],"id":787}],[{"start":{"row":24,"column":78},"end":{"row":24,"column":79},"action":"insert","lines":["o"],"id":788}],[{"start":{"row":24,"column":79},"end":{"row":24,"column":80},"action":"insert","lines":["n"],"id":789}],[{"start":{"row":33,"column":73},"end":{"row":34,"column":0},"action":"insert","lines":["",""],"id":790},{"start":{"row":34,"column":0},"end":{"row":34,"column":24},"action":"insert","lines":[" "]}],[{"start":{"row":34,"column":24},"end":{"row":51,"column":26},"action":"insert","lines":["<div class=\"dropdown\" >"," <a class=\"nav-link dropdown-toggle\" id=\"dropdownMenuButton\" data-toggle=\"dropdown\" aria-haspopup=\"true\" "," aria-expanded=\"false\" href=\"#\">Produits</a>"," <div class=\"dropdown-menu\" aria-labelledby=\"dropdownMenuButton\">"," "," <!-- Lance directement une recher générale -->"," <a class=\"dropdown-item\" href=\"/produits\">Tous les produits</a>"," "," <!-- Lance diirect une recherche sur des aliments bios -->"," <a class=\"dropdown-item\" href=\"#\">Le Bio</a>"," "," <!-- Lance directement une recher sur des plantes décoratives -->"," <a class=\"dropdown-item\" href=\"#\">Décos</a>"," "," <!-- Lance directement une recher sur des recettes de cuisine -->"," <a class=\"dropdown-item\" href=\"#\">recettes</a>"," </div>"," </div>"],"id":791}],[{"start":{"row":35,"column":24},"end":{"row":35,"column":25},"action":"insert","lines":["²"],"id":792}],[{"start":{"row":35,"column":24},"end":{"row":35,"column":25},"action":"remove","lines":["²"],"id":793}],[{"start":{"row":35,"column":24},"end":{"row":35,"column":28},"action":"insert","lines":[" "],"id":794}],[{"start":{"row":36,"column":24},"end":{"row":36,"column":28},"action":"insert","lines":[" "],"id":795}],[{"start":{"row":37,"column":24},"end":{"row":37,"column":28},"action":"insert","lines":[" "],"id":796}],[{"start":{"row":38,"column":0},"end":{"row":38,"column":4},"action":"insert","lines":[" "],"id":797},{"start":{"row":39,"column":0},"end":{"row":39,"column":4},"action":"insert","lines":[" "]},{"start":{"row":40,"column":0},"end":{"row":40,"column":4},"action":"insert","lines":[" "]},{"start":{"row":41,"column":0},"end":{"row":41,"column":4},"action":"insert","lines":[" "]},{"start":{"row":42,"column":0},"end":{"row":42,"column":4},"action":"insert","lines":[" "]},{"start":{"row":43,"column":0},"end":{"row":43,"column":4},"action":"insert","lines":[" "]},{"start":{"row":44,"column":0},"end":{"row":44,"column":4},"action":"insert","lines":[" "]},{"start":{"row":45,"column":0},"end":{"row":45,"column":4},"action":"insert","lines":[" "]},{"start":{"row":46,"column":0},"end":{"row":46,"column":4},"action":"insert","lines":[" "]},{"start":{"row":47,"column":0},"end":{"row":47,"column":4},"action":"insert","lines":[" "]},{"start":{"row":48,"column":0},"end":{"row":48,"column":4},"action":"insert","lines":[" "]},{"start":{"row":49,"column":0},"end":{"row":49,"column":4},"action":"insert","lines":[" "]},{"start":{"row":50,"column":0},"end":{"row":50,"column":4},"action":"insert","lines":[" "]}],[{"start":{"row":36,"column":71},"end":{"row":36,"column":72},"action":"insert","lines":["*"],"id":798}],[{"start":{"row":36,"column":72},"end":{"row":37,"column":0},"action":"insert","lines":["",""],"id":799},{"start":{"row":37,"column":0},"end":{"row":37,"column":28},"action":"insert","lines":[" "]}],[{"start":{"row":36,"column":71},"end":{"row":36,"column":72},"action":"remove","lines":["*"],"id":800}],[{"start":{"row":36,"column":59},"end":{"row":36,"column":67},"action":"remove","lines":["Produits"],"id":801},{"start":{"row":36,"column":59},"end":{"row":36,"column":60},"action":"insert","lines":["M"]}],[{"start":{"row":36,"column":60},"end":{"row":36,"column":61},"action":"insert","lines":["o"],"id":802}],[{"start":{"row":36,"column":61},"end":{"row":36,"column":62},"action":"insert","lines":["n"],"id":803}],[{"start":{"row":36,"column":62},"end":{"row":36,"column":63},"action":"insert","lines":[" "],"id":804}],[{"start":{"row":36,"column":63},"end":{"row":36,"column":64},"action":"insert","lines":["c"],"id":805}],[{"start":{"row":36,"column":64},"end":{"row":36,"column":65},"action":"insert","lines":["o"],"id":806}],[{"start":{"row":36,"column":65},"end":{"row":36,"column":66},"action":"insert","lines":["m"],"id":807}],[{"start":{"row":36,"column":66},"end":{"row":36,"column":67},"action":"insert","lines":["p"],"id":808}],[{"start":{"row":36,"column":67},"end":{"row":36,"column":68},"action":"insert","lines":["t"],"id":809}],[{"start":{"row":36,"column":68},"end":{"row":36,"column":69},"action":"insert","lines":["e"],"id":810}],[{"start":{"row":41,"column":89},"end":{"row":41,"column":90},"action":"remove","lines":["t"],"id":811}],[{"start":{"row":41,"column":88},"end":{"row":41,"column":89},"action":"remove","lines":["i"],"id":812}],[{"start":{"row":41,"column":87},"end":{"row":41,"column":88},"action":"remove","lines":["u"],"id":813}],[{"start":{"row":41,"column":86},"end":{"row":41,"column":87},"action":"remove","lines":["d"],"id":814}],[{"start":{"row":41,"column":85},"end":{"row":41,"column":86},"action":"remove","lines":["o"],"id":815}],[{"start":{"row":41,"column":84},"end":{"row":41,"column":85},"action":"remove","lines":["r"],"id":816}],[{"start":{"row":41,"column":84},"end":{"row":41,"column":85},"action":"remove","lines":["s"],"id":817}],[{"start":{"row":41,"column":83},"end":{"row":41,"column":84},"action":"remove","lines":["p"],"id":818}],[{"start":{"row":41,"column":82},"end":{"row":41,"column":83},"action":"remove","lines":[" "],"id":819}],[{"start":{"row":41,"column":81},"end":{"row":41,"column":82},"action":"remove","lines":["s"],"id":820}],[{"start":{"row":41,"column":80},"end":{"row":41,"column":81},"action":"remove","lines":["e"],"id":821}],[{"start":{"row":41,"column":79},"end":{"row":41,"column":80},"action":"remove","lines":["l"],"id":822}],[{"start":{"row":41,"column":78},"end":{"row":41,"column":79},"action":"remove","lines":[" "],"id":823}],[{"start":{"row":41,"column":77},"end":{"row":41,"column":78},"action":"remove","lines":["s"],"id":824}],[{"start":{"row":41,"column":76},"end":{"row":41,"column":77},"action":"remove","lines":["u"],"id":825}],[{"start":{"row":41,"column":75},"end":{"row":41,"column":76},"action":"remove","lines":["o"],"id":826}],[{"start":{"row":41,"column":74},"end":{"row":41,"column":75},"action":"remove","lines":["T"],"id":827}],[{"start":{"row":41,"column":74},"end":{"row":41,"column":75},"action":"insert","lines":["o"],"id":828}],[{"start":{"row":41,"column":75},"end":{"row":41,"column":76},"action":"insert","lines":["p"],"id":829}],[{"start":{"row":41,"column":76},"end":{"row":41,"column":77},"action":"insert","lines":["t"],"id":830}],[{"start":{"row":41,"column":77},"end":{"row":41,"column":78},"action":"insert","lines":["i"],"id":831}],[{"start":{"row":41,"column":78},"end":{"row":41,"column":79},"action":"insert","lines":["o"],"id":832}],[{"start":{"row":41,"column":79},"end":{"row":41,"column":80},"action":"insert","lines":["n"],"id":833}],[{"start":{"row":41,"column":80},"end":{"row":41,"column":81},"action":"insert","lines":["1"],"id":834}],[{"start":{"row":44,"column":66},"end":{"row":44,"column":72},"action":"remove","lines":["Le Bio"],"id":835},{"start":{"row":44,"column":66},"end":{"row":44,"column":67},"action":"insert","lines":["o"]}],[{"start":{"row":44,"column":67},"end":{"row":44,"column":68},"action":"insert","lines":["p"],"id":836}],[{"start":{"row":44,"column":68},"end":{"row":44,"column":69},"action":"insert","lines":["t"],"id":837}],[{"start":{"row":44,"column":69},"end":{"row":44,"column":70},"action":"insert","lines":["i"],"id":838}],[{"start":{"row":44,"column":70},"end":{"row":44,"column":71},"action":"insert","lines":["o"],"id":839}],[{"start":{"row":44,"column":71},"end":{"row":44,"column":72},"action":"insert","lines":["n"],"id":840}],[{"start":{"row":44,"column":72},"end":{"row":44,"column":73},"action":"insert","lines":["2"],"id":841}],[{"start":{"row":41,"column":64},"end":{"row":41,"column":72},"action":"remove","lines":["produits"],"id":842}],[{"start":{"row":41,"column":63},"end":{"row":41,"column":64},"action":"remove","lines":["/"],"id":843}],[{"start":{"row":41,"column":63},"end":{"row":41,"column":64},"action":"insert","lines":["#"],"id":844}],[{"start":{"row":47,"column":66},"end":{"row":47,"column":71},"action":"remove","lines":["Décos"],"id":845},{"start":{"row":47,"column":66},"end":{"row":47,"column":67},"action":"insert","lines":["o"]}],[{"start":{"row":47,"column":67},"end":{"row":47,"column":68},"action":"insert","lines":["p"],"id":846}],[{"start":{"row":47,"column":68},"end":{"row":47,"column":69},"action":"insert","lines":["t"],"id":847}],[{"start":{"row":47,"column":69},"end":{"row":47,"column":70},"action":"insert","lines":["i"],"id":848}],[{"start":{"row":47,"column":70},"end":{"row":47,"column":71},"action":"insert","lines":["o"],"id":849}],[{"start":{"row":47,"column":71},"end":{"row":47,"column":72},"action":"insert","lines":["n"],"id":850}],[{"start":{"row":47,"column":72},"end":{"row":47,"column":73},"action":"insert","lines":["3"],"id":851}],[{"start":{"row":36,"column":73},"end":{"row":37,"column":0},"action":"insert","lines":["",""],"id":852},{"start":{"row":37,"column":0},"end":{"row":37,"column":28},"action":"insert","lines":[" "]}],[{"start":{"row":37,"column":28},"end":{"row":38,"column":0},"action":"insert","lines":["",""],"id":853},{"start":{"row":38,"column":0},"end":{"row":38,"column":28},"action":"insert","lines":[" "]}],[{"start":{"row":38,"column":28},"end":{"row":40,"column":32},"action":"insert","lines":["<a href=\"#\" class=\"dropdown-toggle\" data-toggle=\"dropdown\" role=\"button\" aria-expanded=\"false\">"," {{ Auth::user()->name }} <span class=\"caret\"></span>"," </a>"],"id":854}],[{"start":{"row":54,"column":78},"end":{"row":55,"column":0},"action":"insert","lines":["",""],"id":855},{"start":{"row":55,"column":0},"end":{"row":55,"column":32},"action":"insert","lines":[" "]}],[{"start":{"row":55,"column":32},"end":{"row":55,"column":119},"action":"insert","lines":["<li><a href=\"{{ url('/logout') }}\"><i class=\"fa fa-btn fa-sign-out\"></i>Logout</a></li>"],"id":856}],[{"start":{"row":54,"column":78},"end":{"row":55,"column":0},"action":"insert","lines":["",""],"id":857},{"start":{"row":55,"column":0},"end":{"row":55,"column":32},"action":"insert","lines":[" "]}],[{"start":{"row":55,"column":32},"end":{"row":56,"column":36},"action":"remove","lines":[""," <li>"],"id":858}],[{"start":{"row":55,"column":32},"end":{"row":56,"column":0},"action":"insert","lines":["",""],"id":859},{"start":{"row":56,"column":0},"end":{"row":56,"column":32},"action":"insert","lines":[" "]}],[{"start":{"row":56,"column":110},"end":{"row":56,"column":115},"action":"remove","lines":["</li>"],"id":860}],[{"start":{"row":38,"column":47},"end":{"row":38,"column":48},"action":"insert","lines":[" "],"id":861}],[{"start":{"row":38,"column":48},"end":{"row":38,"column":56},"action":"insert","lines":["nav-link"],"id":862}],[{"start":{"row":38,"column":47},"end":{"row":38,"column":48},"action":"remove","lines":[" "],"id":863}],[{"start":{"row":38,"column":55},"end":{"row":38,"column":56},"action":"insert","lines":[" "],"id":864}],[{"start":{"row":34,"column":47},"end":{"row":36,"column":73},"action":"remove","lines":[""," <a class=\"nav-link dropdown-toggle\" id=\"dropdownMenuButton\" data-toggle=\"dropdown\" aria-haspopup=\"true\" "," aria-expanded=\"false\" href=\"#\">Mon compte</a>"],"id":865}],[{"start":{"row":34,"column":47},"end":{"row":35,"column":28},"action":"remove","lines":[""," "],"id":866}],[{"start":{"row":34,"column":45},"end":{"row":34,"column":46},"action":"remove","lines":[" "],"id":867}],[{"start":{"row":4,"column":73},"end":{"row":4,"column":74},"action":"insert","lines":[" "],"id":868}],[{"start":{"row":4,"column":74},"end":{"row":4,"column":75},"action":"insert","lines":["m"],"id":869}],[{"start":{"row":4,"column":75},"end":{"row":4,"column":76},"action":"insert","lines":["b"],"id":870}],[{"start":{"row":4,"column":76},"end":{"row":4,"column":77},"action":"insert","lines":["-"],"id":871}],[{"start":{"row":4,"column":77},"end":{"row":4,"column":78},"action":"insert","lines":["5"],"id":872}],[{"start":{"row":4,"column":74},"end":{"row":4,"column":78},"action":"remove","lines":["mb-5"],"id":873}],[{"start":{"row":4,"column":73},"end":{"row":4,"column":74},"action":"remove","lines":[" "],"id":874}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":4,"column":73},"end":{"row":4,"column":73},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509579163483,"hash":"b3edb723934b71ddc3fbaf745c1a049b07679138"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/layouts/meta.blade.php b/workspace/.c9/metadata/workspace/resources/views/layouts/meta.blade.php new file mode 100644 index 0000000..ed84140 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/layouts/meta.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"meta.blade.php","tooltip":"/resources/views/layouts/meta.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":164,"column":13},"end":{"row":164,"column":13},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511094900569,"hash":"c1591a014be24be82385f45a22aad5a75f4c6ab5"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/let_ad.blade.php b/workspace/.c9/metadata/workspace/resources/views/let_ad.blade.php new file mode 100644 index 0000000..287912d --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/let_ad.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"let_ad.blade.php","tooltip":"/resources/views/let_ad.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":630.0995330810547,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":39,"state":"start","mode":"ace/mode/php"}},"timestamp":1511107156040,"hash":"a915e1459276eaa882a961450cce30e8af03db24"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/meta.blade.php b/workspace/.c9/metadata/workspace/resources/views/meta.blade.php new file mode 100644 index 0000000..4e96080 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/meta.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"meta.blade.php","tooltip":"/resources/views/meta.blade.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":100,"column":29},"end":{"row":100,"column":30},"action":"insert","lines":["0"],"id":408}],[{"start":{"row":100,"column":27},"end":{"row":100,"column":29},"action":"remove","lines":["60"],"id":409},{"start":{"row":100,"column":27},"end":{"row":100,"column":28},"action":"insert","lines":["8"]}],[{"start":{"row":100,"column":28},"end":{"row":100,"column":29},"action":"insert","lines":["0"],"id":410}],[{"start":{"row":101,"column":23},"end":{"row":101,"column":24},"action":"insert","lines":["-"],"id":413}],[{"start":{"row":101,"column":24},"end":{"row":101,"column":25},"action":"insert","lines":["r"],"id":414}],[{"start":{"row":101,"column":25},"end":{"row":101,"column":26},"action":"insert","lines":["i"],"id":415}],[{"start":{"row":101,"column":25},"end":{"row":101,"column":26},"action":"remove","lines":["i"],"id":416}],[{"start":{"row":101,"column":24},"end":{"row":101,"column":25},"action":"remove","lines":["r"],"id":417}],[{"start":{"row":101,"column":24},"end":{"row":101,"column":25},"action":"insert","lines":["l"],"id":418}],[{"start":{"row":101,"column":25},"end":{"row":101,"column":26},"action":"insert","lines":["e"],"id":419}],[{"start":{"row":101,"column":16},"end":{"row":101,"column":26},"action":"remove","lines":["padding-le"],"id":420},{"start":{"row":101,"column":16},"end":{"row":101,"column":30},"action":"insert","lines":["padding-left: "]}],[{"start":{"row":101,"column":30},"end":{"row":101,"column":31},"action":"remove","lines":[":"],"id":421}],[{"start":{"row":101,"column":29},"end":{"row":101,"column":30},"action":"remove","lines":[" "],"id":422}],[{"start":{"row":101,"column":23},"end":{"row":101,"column":28},"action":"remove","lines":["-left"],"id":423}],[{"start":{"row":101,"column":25},"end":{"row":101,"column":26},"action":"remove","lines":["4"],"id":424}],[{"start":{"row":101,"column":25},"end":{"row":101,"column":26},"action":"insert","lines":["2"],"id":425}],[{"start":{"row":101,"column":25},"end":{"row":101,"column":26},"action":"remove","lines":["2"],"id":426}],[{"start":{"row":101,"column":25},"end":{"row":101,"column":26},"action":"insert","lines":["1"],"id":427}],[{"start":{"row":92,"column":29},"end":{"row":93,"column":0},"action":"insert","lines":["",""],"id":428},{"start":{"row":93,"column":0},"end":{"row":93,"column":16},"action":"insert","lines":[" "]}],[{"start":{"row":93,"column":16},"end":{"row":93,"column":17},"action":"insert","lines":["p"],"id":429}],[{"start":{"row":93,"column":17},"end":{"row":93,"column":18},"action":"insert","lines":["a"],"id":430}],[{"start":{"row":93,"column":18},"end":{"row":93,"column":19},"action":"insert","lines":["d"],"id":431}],[{"start":{"row":93,"column":19},"end":{"row":93,"column":20},"action":"insert","lines":["d"],"id":432}],[{"start":{"row":93,"column":20},"end":{"row":93,"column":21},"action":"insert","lines":["i"],"id":433}],[{"start":{"row":93,"column":21},"end":{"row":93,"column":22},"action":"insert","lines":["n"],"id":434}],[{"start":{"row":93,"column":16},"end":{"row":93,"column":22},"action":"remove","lines":["paddin"],"id":435},{"start":{"row":93,"column":16},"end":{"row":93,"column":23},"action":"insert","lines":["padding"]}],[{"start":{"row":93,"column":23},"end":{"row":93,"column":25},"action":"insert","lines":[":;"],"id":436}],[{"start":{"row":93,"column":24},"end":{"row":93,"column":25},"action":"insert","lines":[" "],"id":437}],[{"start":{"row":93,"column":25},"end":{"row":93,"column":26},"action":"insert","lines":["a"],"id":438}],[{"start":{"row":93,"column":26},"end":{"row":93,"column":27},"action":"insert","lines":["u"],"id":439}],[{"start":{"row":93,"column":25},"end":{"row":93,"column":27},"action":"remove","lines":["au"],"id":440},{"start":{"row":93,"column":25},"end":{"row":93,"column":29},"action":"insert","lines":["auto"]}],[{"start":{"row":93,"column":30},"end":{"row":94,"column":0},"action":"insert","lines":["",""],"id":441},{"start":{"row":94,"column":0},"end":{"row":94,"column":16},"action":"insert","lines":[" "]}],[{"start":{"row":94,"column":16},"end":{"row":94,"column":36},"action":"insert","lines":["align-items: center;"],"id":442}],[{"start":{"row":99,"column":16},"end":{"row":103,"column":30},"action":"remove","lines":["width: 50%; "," height: 80%;"," min-width: 200px;"," max-width: 800px;"," padding: 10px;"],"id":444}],[{"start":{"row":95,"column":53},"end":{"row":96,"column":0},"action":"insert","lines":["",""],"id":445},{"start":{"row":96,"column":0},"end":{"row":96,"column":16},"action":"insert","lines":[" "]}],[{"start":{"row":96,"column":16},"end":{"row":100,"column":30},"action":"insert","lines":["width: 50%; "," height: 80%;"," min-width: 200px;"," max-width: 800px;"," padding: 10px;"],"id":446}],[{"start":{"row":102,"column":0},"end":{"row":105,"column":13},"action":"remove","lines":[""," .Absolute-Center.is-Responsive {"," "," }"],"id":447}],[{"start":{"row":101,"column":13},"end":{"row":102,"column":0},"action":"remove","lines":["",""],"id":448}],[{"start":{"row":96,"column":27},"end":{"row":96,"column":28},"action":"remove","lines":[" "],"id":449}],[{"start":{"row":97,"column":28},"end":{"row":99,"column":33},"action":"remove","lines":[""," min-width: 200px;"," max-width: 800px;"],"id":452}],[{"start":{"row":96,"column":27},"end":{"row":97,"column":28},"action":"remove","lines":[""," height: 80%;"],"id":453}],[{"start":{"row":17,"column":51},"end":{"row":17,"column":56},"action":"remove","lines":[".min."],"id":475}],[{"start":{"row":17,"column":51},"end":{"row":17,"column":52},"action":"insert","lines":["."],"id":476}],[{"start":{"row":70,"column":59},"end":{"row":70,"column":65},"action":"remove","lines":["dadada"],"id":477},{"start":{"row":70,"column":59},"end":{"row":70,"column":65},"action":"insert","lines":["004400"]}],[{"start":{"row":70,"column":92},"end":{"row":70,"column":98},"action":"remove","lines":["dadada"],"id":478},{"start":{"row":70,"column":92},"end":{"row":70,"column":98},"action":"insert","lines":["004400"]}],[{"start":{"row":71,"column":62},"end":{"row":71,"column":68},"action":"remove","lines":["dadada"],"id":479},{"start":{"row":71,"column":62},"end":{"row":71,"column":68},"action":"insert","lines":["004400"]}],[{"start":{"row":71,"column":95},"end":{"row":71,"column":101},"action":"remove","lines":["dadada"],"id":480},{"start":{"row":71,"column":95},"end":{"row":71,"column":101},"action":"insert","lines":["004400"]}],[{"start":{"row":72,"column":58},"end":{"row":72,"column":64},"action":"remove","lines":["dadada"],"id":481},{"start":{"row":72,"column":58},"end":{"row":72,"column":64},"action":"insert","lines":["004400"]}],[{"start":{"row":72,"column":91},"end":{"row":72,"column":97},"action":"remove","lines":["dadada"],"id":482},{"start":{"row":72,"column":91},"end":{"row":72,"column":97},"action":"insert","lines":["004400"]}],[{"start":{"row":73,"column":57},"end":{"row":73,"column":63},"action":"remove","lines":["dadada"],"id":483},{"start":{"row":73,"column":57},"end":{"row":73,"column":63},"action":"insert","lines":["004400"]}],[{"start":{"row":73,"column":90},"end":{"row":73,"column":96},"action":"remove","lines":["dadada"],"id":484},{"start":{"row":73,"column":90},"end":{"row":73,"column":96},"action":"insert","lines":["004400"]}],[{"start":{"row":74,"column":54},"end":{"row":74,"column":60},"action":"remove","lines":["dadada"],"id":485},{"start":{"row":74,"column":54},"end":{"row":74,"column":60},"action":"insert","lines":["004400"]}],[{"start":{"row":74,"column":87},"end":{"row":74,"column":93},"action":"remove","lines":["dadada"],"id":486},{"start":{"row":74,"column":87},"end":{"row":74,"column":93},"action":"insert","lines":["004400"]}],[{"start":{"row":76,"column":13},"end":{"row":77,"column":0},"action":"insert","lines":["",""],"id":487},{"start":{"row":77,"column":0},"end":{"row":77,"column":12},"action":"insert","lines":[" "]}],[{"start":{"row":77,"column":12},"end":{"row":78,"column":0},"action":"insert","lines":["",""],"id":488},{"start":{"row":78,"column":0},"end":{"row":78,"column":12},"action":"insert","lines":[" "]}],[{"start":{"row":78,"column":12},"end":{"row":87,"column":13},"action":"insert","lines":["nav .nav-item a:hover,"," nav .nav-item a:focus {"," background-color: #3E3E3E;"," background: -moz-linear-gradient(bottom , #004400 0pt, #999 50%, #999 51%, #004400 100%) repeat scroll 0 0 transparent;"," background: -webkit-linear-gradient(bottom , #004400 0pt, #999 50%, #999 51%, #004400 100%) repeat scroll 0 0 transparent;"," background: -ms-linear-gradient(bottom , #004400 0pt, #999 50%, #999 51%, #004400 100%) repeat scroll 0 0 transparent;"," background: -o-linear-gradient(bottom , #004400 0pt, #999 50%, #999 51%, #004400 100%) repeat scroll 0 0 transparent;"," background: linear-gradient(bottom , #004400 0pt, #999 50%, #999 51%, #004400 100%) repeat scroll 0 0 transparent;"," text-shadow: -1px -1px 0 #666;"," }"],"id":489}],[{"start":{"row":78,"column":25},"end":{"row":78,"column":26},"action":"insert","lines":["."],"id":490}],[{"start":{"row":78,"column":26},"end":{"row":78,"column":27},"action":"insert","lines":["d"],"id":491}],[{"start":{"row":78,"column":27},"end":{"row":78,"column":28},"action":"insert","lines":["r"],"id":492}],[{"start":{"row":78,"column":28},"end":{"row":78,"column":29},"action":"insert","lines":["o"],"id":493}],[{"start":{"row":78,"column":29},"end":{"row":78,"column":30},"action":"insert","lines":["p"],"id":494}],[{"start":{"row":78,"column":30},"end":{"row":78,"column":31},"action":"insert","lines":["d"],"id":495}],[{"start":{"row":78,"column":31},"end":{"row":78,"column":32},"action":"insert","lines":["o"],"id":496}],[{"start":{"row":78,"column":32},"end":{"row":78,"column":33},"action":"insert","lines":["w"],"id":497}],[{"start":{"row":78,"column":33},"end":{"row":78,"column":34},"action":"insert","lines":["n"],"id":498}],[{"start":{"row":78,"column":34},"end":{"row":78,"column":35},"action":"insert","lines":["-"],"id":499}],[{"start":{"row":78,"column":35},"end":{"row":78,"column":36},"action":"insert","lines":["i"],"id":500}],[{"start":{"row":78,"column":36},"end":{"row":78,"column":37},"action":"insert","lines":["t"],"id":501}],[{"start":{"row":78,"column":37},"end":{"row":78,"column":38},"action":"insert","lines":["e"],"id":502}],[{"start":{"row":78,"column":38},"end":{"row":78,"column":39},"action":"insert","lines":["m"],"id":503}],[{"start":{"row":78,"column":25},"end":{"row":78,"column":26},"action":"insert","lines":[" "],"id":504}],[{"start":{"row":79,"column":25},"end":{"row":79,"column":26},"action":"insert","lines":[" "],"id":505}],[{"start":{"row":79,"column":26},"end":{"row":79,"column":40},"action":"insert","lines":[".dropdown-item"],"id":506}],[{"start":{"row":81,"column":59},"end":{"row":81,"column":65},"action":"remove","lines":["004400"],"id":507},{"start":{"row":81,"column":59},"end":{"row":81,"column":65},"action":"insert","lines":["dadada"]}],[{"start":{"row":81,"column":92},"end":{"row":81,"column":98},"action":"remove","lines":["004400"],"id":508},{"start":{"row":81,"column":92},"end":{"row":81,"column":98},"action":"insert","lines":["dadada"]}],[{"start":{"row":82,"column":62},"end":{"row":82,"column":68},"action":"remove","lines":["004400"],"id":509},{"start":{"row":82,"column":62},"end":{"row":82,"column":68},"action":"insert","lines":["dadada"]}],[{"start":{"row":82,"column":95},"end":{"row":82,"column":101},"action":"remove","lines":["004400"],"id":510},{"start":{"row":82,"column":95},"end":{"row":82,"column":101},"action":"insert","lines":["dadada"]}],[{"start":{"row":83,"column":58},"end":{"row":83,"column":64},"action":"remove","lines":["004400"],"id":511},{"start":{"row":83,"column":58},"end":{"row":83,"column":64},"action":"insert","lines":["dadada"]}],[{"start":{"row":83,"column":91},"end":{"row":83,"column":97},"action":"remove","lines":["004400"],"id":512},{"start":{"row":83,"column":91},"end":{"row":83,"column":97},"action":"insert","lines":["dadada"]}],[{"start":{"row":84,"column":57},"end":{"row":84,"column":63},"action":"remove","lines":["004400"],"id":513},{"start":{"row":84,"column":57},"end":{"row":84,"column":63},"action":"insert","lines":["dadada"]}],[{"start":{"row":84,"column":90},"end":{"row":84,"column":96},"action":"remove","lines":["004400"],"id":514},{"start":{"row":84,"column":90},"end":{"row":84,"column":96},"action":"insert","lines":["dadada"]}],[{"start":{"row":85,"column":54},"end":{"row":85,"column":60},"action":"remove","lines":["004400"],"id":515},{"start":{"row":85,"column":54},"end":{"row":85,"column":60},"action":"insert","lines":["dadada"]}],[{"start":{"row":85,"column":87},"end":{"row":85,"column":93},"action":"remove","lines":["004400"],"id":516},{"start":{"row":85,"column":87},"end":{"row":85,"column":93},"action":"insert","lines":["dadada"]}],[{"start":{"row":78,"column":41},"end":{"row":78,"column":42},"action":"remove","lines":["a"],"id":517}],[{"start":{"row":78,"column":40},"end":{"row":78,"column":41},"action":"remove","lines":[" "],"id":518}],[{"start":{"row":79,"column":41},"end":{"row":79,"column":42},"action":"remove","lines":["a"],"id":519}],[{"start":{"row":79,"column":40},"end":{"row":79,"column":41},"action":"remove","lines":[" "],"id":520}],[{"start":{"row":17,"column":51},"end":{"row":17,"column":52},"action":"insert","lines":["."],"id":521}],[{"start":{"row":17,"column":52},"end":{"row":17,"column":53},"action":"insert","lines":["m"],"id":522}],[{"start":{"row":17,"column":53},"end":{"row":17,"column":54},"action":"insert","lines":["i"],"id":523}],[{"start":{"row":17,"column":54},"end":{"row":17,"column":55},"action":"insert","lines":["n"],"id":524}],[{"start":{"row":13,"column":41},"end":{"row":13,"column":42},"action":"remove","lines":[">"],"id":525}],[{"start":{"row":13,"column":40},"end":{"row":13,"column":41},"action":"remove","lines":["-"],"id":526}],[{"start":{"row":13,"column":39},"end":{"row":13,"column":40},"action":"remove","lines":["-"],"id":527}],[{"start":{"row":13,"column":39},"end":{"row":13,"column":40},"action":"insert","lines":["-"],"id":528}],[{"start":{"row":13,"column":40},"end":{"row":13,"column":41},"action":"insert","lines":["-"],"id":529}],[{"start":{"row":13,"column":41},"end":{"row":13,"column":42},"action":"insert","lines":[">"],"id":530}],[{"start":{"row":13,"column":42},"end":{"row":13,"column":43},"action":"insert","lines":["3"],"id":531}],[{"start":{"row":13,"column":43},"end":{"row":13,"column":44},"action":"insert","lines":["."],"id":532}],[{"start":{"row":13,"column":43},"end":{"row":13,"column":44},"action":"remove","lines":["."],"id":533}],[{"start":{"row":13,"column":42},"end":{"row":13,"column":43},"action":"remove","lines":["3"],"id":534}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":13,"column":42},"end":{"row":13,"column":42},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509350771070,"hash":"fbb410fe732717f967a2be6314c916a1dd9daf71"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/products/all_products.blade.php b/workspace/.c9/metadata/workspace/resources/views/products/all_products.blade.php new file mode 100644 index 0000000..c083556 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/products/all_products.blade.php @@ -0,0 +1 @@ +{"changed":true,"filter":false,"title":"all_products.blade.php","tooltip":"/resources/views/products/all_products.blade.php","value":"@extends('layouts.app')\n\n@section('title')\n\tTous les produits\n@endsection\n\n\n@section('content')\n\n<div class=\"container\">\n\t<div class=\"container\">\n\t\t<h1 class=\"my-4\">Tout les produits</h1>\n\t\t\n\t\t<p>Retrouver sur cette page toutes les annonces des particulier cherchant à donner leurs produits</p>\n\t\t\n\t\t<p><a class=\"btn btn-primary btn-lg\" style=\"background-color: black;\" href=\"https://www.youtube.com/watch?v=-xSORIDw1Sg\" target=\"_blank\" role=\"button\">Surpriiiise »</a></p>\n\t</div>\n\t\n\t<div class=\"row\">\n\n\t\t<div class=\"col-lg-4 col-md-6 mb-4\">\n\t\t\t<div class=\"card h-100\">\n\t\t\t\t<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>\n\t\t\t\t<div class=\"card-body\">\n\t\t\t\t\t<h4 class=\"card-title\">\n\t\t\t\t\t\t<a href=\"#\">Item One</a>\n\t\t\t\t \t</h4>\n\t\t\t\t\t<!--<h5>$24.99</h5> -->\n\t\t\t\t \t<p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>\n\t\t\t\t</div>\n\t\t\t\t<!--\n\t\t\t\t<div class=\"card-footer\">\n\t\t\t\t \t<small class=\"text-muted\">★ ★ ★ ★ ☆</small>\n\t\t\t\t</div>\n\t\t\t\t-->\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-lg-4 col-md-6 mb-4\">\n\t\t\t<div class=\"card h-100\">\n\t\t\t\t<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>\n\t\t\t\t<div class=\"card-body\">\n\t\t\t\t \t<h4 class=\"card-title\">\n\t\t\t\t\t\t<a href=\"#\">Item Two</a>\n\t\t\t\t \t</h4>\n\t\t\t\t \t<h5>$24.99</h5>\n\t\t\t\t \t<p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur! Lorem ipsum dolor sit amet.</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"card-footer\">\n\t\t\t\t \t<small class=\"text-muted\">★ ★ ★ ★ ☆</small>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-lg-4 col-md-6 mb-4\">\n\t\t\t<div class=\"card h-100\">\n\t\t\t\t<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>\n\t\t\t\t<div class=\"card-body\">\n\t\t\t\t \t<h4 class=\"card-title\">\n\t\t\t\t\t\t<a href=\"#\">Item Three</a>\n\t\t\t\t \t</h4>\n\t\t\t\t \t<h5>$24.99</h5>\n\t\t\t\t \t<p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"card-footer\">\n\t\t\t\t \t<small class=\"text-muted\">★ ★ ★ ★ ☆</small>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-lg-4 col-md-6 mb-4\">\n\t\t\t<div class=\"card h-100\">\n\t\t\t\t<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>\n\t\t\t\t<div class=\"card-body\">\n\t\t\t\t \t<h4 class=\"card-title\">\n\t\t\t\t\t\t<a href=\"#\">Item Four</a>\n\t\t\t\t \t</h4>\n\t\t\t\t \t<h5>$24.99</h5>\n\t\t\t\t \t<p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"card-footer\">\n\t\t\t\t \t<small class=\"text-muted\">★ ★ ★ ★ ☆</small>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-lg-4 col-md-6 mb-4\">\n\t\t\t<div class=\"card h-100\">\n\t\t\t\t<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>\n\t\t\t\t<div class=\"card-body\">\n\t\t\t\t \t<h4 class=\"card-title\">\n\t\t\t\t\t\t<a href=\"#\">Item Five</a>\n\t\t\t\t \t</h4>\n\t\t\t\t \t<h5>$24.99</h5>\n\t\t\t\t \t<p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"card-footer\">\n\t\t\t\t \t<small class=\"text-muted\">★ ★ ★ ★ ☆</small>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-lg-4 col-md-6 mb-4\">\n\t\t\t<div class=\"card h-100\">\n\t\t\t\t<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>\n\t\t\t\t<div class=\"card-body\">\n\t\t\t\t \t<h4 class=\"card-title\">\n\t\t\t\t\t\t<a href=\"#\">Item Six</a>\n\t\t\t\t \t</h4>\n\t\t\t\t \t<h5>$24.99</h5>\n\t\t\t\t \t<p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"card-footer\">\n\t\t\t\t \t<small class=\"text-muted\">★ ★ ★ ★ ☆</small>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t</div>\n</div>\n@endsection","undoManager":{"mark":10,"position":27,"stack":[[{"start":{"row":0,"column":10},"end":{"row":0,"column":11},"action":"insert","lines":["l"],"id":418}],[{"start":{"row":0,"column":11},"end":{"row":0,"column":12},"action":"insert","lines":["a"],"id":419}],[{"start":{"row":0,"column":12},"end":{"row":0,"column":13},"action":"insert","lines":["y"],"id":420}],[{"start":{"row":0,"column":13},"end":{"row":0,"column":14},"action":"insert","lines":["o"],"id":421}],[{"start":{"row":0,"column":14},"end":{"row":0,"column":15},"action":"insert","lines":["u"],"id":422}],[{"start":{"row":0,"column":15},"end":{"row":0,"column":16},"action":"insert","lines":["t"],"id":423}],[{"start":{"row":0,"column":16},"end":{"row":0,"column":17},"action":"insert","lines":["s"],"id":424}],[{"start":{"row":0,"column":17},"end":{"row":0,"column":18},"action":"insert","lines":["."],"id":425}],[{"start":{"row":0,"column":18},"end":{"row":0,"column":24},"action":"remove","lines":["header"],"id":426},{"start":{"row":0,"column":18},"end":{"row":0,"column":19},"action":"insert","lines":["a"]}],[{"start":{"row":0,"column":19},"end":{"row":0,"column":20},"action":"insert","lines":["p"],"id":427}],[{"start":{"row":0,"column":20},"end":{"row":0,"column":21},"action":"insert","lines":["p"],"id":428}],[{"start":{"row":29,"column":10},"end":{"row":30,"column":0},"action":"insert","lines":["",""],"id":429},{"start":{"row":30,"column":0},"end":{"row":30,"column":4},"action":"insert","lines":["\t\t\t\t"]}],[{"start":{"row":30,"column":4},"end":{"row":30,"column":5},"action":"insert","lines":["<"],"id":430}],[{"start":{"row":30,"column":5},"end":{"row":30,"column":6},"action":"insert","lines":["-"],"id":431}],[{"start":{"row":30,"column":6},"end":{"row":30,"column":7},"action":"insert","lines":["-"],"id":432}],[{"start":{"row":30,"column":5},"end":{"row":30,"column":6},"action":"insert","lines":["!"],"id":433}],[{"start":{"row":33,"column":10},"end":{"row":34,"column":0},"action":"insert","lines":["",""],"id":434},{"start":{"row":34,"column":0},"end":{"row":34,"column":4},"action":"insert","lines":["\t\t\t\t"]}],[{"start":{"row":34,"column":4},"end":{"row":34,"column":5},"action":"insert","lines":["-"],"id":435}],[{"start":{"row":34,"column":5},"end":{"row":34,"column":6},"action":"insert","lines":["-"],"id":436}],[{"start":{"row":34,"column":6},"end":{"row":34,"column":7},"action":"insert","lines":[">"],"id":437}],[{"start":{"row":27,"column":5},"end":{"row":27,"column":6},"action":"insert","lines":["<"],"id":438}],[{"start":{"row":27,"column":6},"end":{"row":27,"column":7},"action":"insert","lines":["!"],"id":439}],[{"start":{"row":27,"column":7},"end":{"row":27,"column":8},"action":"insert","lines":["-"],"id":440}],[{"start":{"row":27,"column":8},"end":{"row":27,"column":9},"action":"insert","lines":["-"],"id":441}],[{"start":{"row":27,"column":24},"end":{"row":27,"column":25},"action":"insert","lines":[" "],"id":442}],[{"start":{"row":27,"column":25},"end":{"row":27,"column":26},"action":"insert","lines":["-"],"id":443}],[{"start":{"row":27,"column":26},"end":{"row":27,"column":27},"action":"insert","lines":["-"],"id":444}],[{"start":{"row":27,"column":27},"end":{"row":27,"column":28},"action":"insert","lines":[">"],"id":445}]]},"ace":{"folds":[],"scrolltop":49.00000000000008,"scrollleft":8.40000000000034,"selection":{"start":{"row":25,"column":18},"end":{"row":25,"column":26},"isBackwards":true},"options":{"tabSize":4,"useSoftTabs":false,"guessTabSize":false,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":2,"state":"start","mode":"ace/mode/php"}},"timestamp":1509579407790} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/products/product_alimentary.blade.php b/workspace/.c9/metadata/workspace/resources/views/products/product_alimentary.blade.php new file mode 100644 index 0000000..8596ed7 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/products/product_alimentary.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"product_alimentary.blade.php","tooltip":"/resources/views/products/product_alimentary.blade.php","undoManager":{"mark":80,"position":80,"stack":[[{"start":{"row":0,"column":0},"end":{"row":57,"column":11},"action":"insert","lines":["@extends('layouts.app')","","@section('title')","\tTous les produits","@endsection","","","@section('content')","","<div class=\"container\">","\t<div class=\"container\">","\t\t<h1 class=\"my-4\">Tous les produits</h1>","\t\t","\t\t<p>Retrouver sur cette page toutes les annonces des particuliers cherchant à donner leurs produits</p>","\t\t","\t\t<p><a class=\"btn btn-primary btn-lg\" style=\"background-color: black;\" href=\"https://www.youtube.com/watch?v=-xSORIDw1Sg\" target=\"_blank\" role=\"button\">Surpriiiise »</a></p>","\t</div>","\t","\t<div class=\"row\">","\t","\t@if (Session::has('flash_notice'))"," <div class=\"alert alert-success span7\">"," {{ Session::get('flash_notice') }}"," </div>"," @endif"," "," @if (Session::has('flash_error'))"," <div class=\"alert alert-error span6\">"," {{ Session::get('flash_error') }}"," </div>"," @endif"," "," ","\t@if($products != NULL)","\t@foreach ($products as $product)","\t\t<div class=\"col-lg-4 col-md-6 mb-4\">","\t\t\t<div class=\"card h-100\">","\t\t\t\t<a href=\"\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>","\t\t\t\t<div class=\"card-body\">","\t\t\t\t\t<h4 class=\"card-title\">","\t\t\t\t\t\t<!-- Pour avoir un nom d'annonce cliquable -->","\t\t\t\t\t\t{!!link_to_route('products.show', $product->title, [$product->id], ['class' => 'title'])!!}","\t\t\t\t\t\t<!-- <p class=\"title\">{!!$product->title!!}</p> -->","\t\t\t\t \t</h4>","\t\t\t\t \t<p class=\"card-text\">{!!$product->description!!}</p>","\t\t\t\t \t{!!link_to_route('products.show', 'Voir', [$product->id], ['class' => 'btn btn-success btn-block'])!!}","\t\t\t\t</div>","\t\t\t</div>","\t\t</div>","\t@endforeach","\t@endif","\t</div>","\t@if($products != NULL)","\t{!! $products->links() !!}","\t@endif","\t","</div>","@endsection"],"id":1}],[{"start":{"row":3,"column":17},"end":{"row":3,"column":18},"action":"remove","lines":["s"],"id":2}],[{"start":{"row":3,"column":16},"end":{"row":3,"column":17},"action":"remove","lines":["t"],"id":3}],[{"start":{"row":3,"column":15},"end":{"row":3,"column":16},"action":"remove","lines":["i"],"id":4}],[{"start":{"row":3,"column":14},"end":{"row":3,"column":15},"action":"remove","lines":["u"],"id":5}],[{"start":{"row":3,"column":13},"end":{"row":3,"column":14},"action":"remove","lines":["d"],"id":6}],[{"start":{"row":3,"column":12},"end":{"row":3,"column":13},"action":"remove","lines":["o"],"id":7}],[{"start":{"row":3,"column":11},"end":{"row":3,"column":12},"action":"remove","lines":["r"],"id":8}],[{"start":{"row":3,"column":10},"end":{"row":3,"column":11},"action":"remove","lines":["p"],"id":9}],[{"start":{"row":3,"column":9},"end":{"row":3,"column":10},"action":"remove","lines":[" "],"id":10}],[{"start":{"row":3,"column":8},"end":{"row":3,"column":9},"action":"remove","lines":["s"],"id":11}],[{"start":{"row":3,"column":7},"end":{"row":3,"column":8},"action":"remove","lines":["e"],"id":12}],[{"start":{"row":3,"column":6},"end":{"row":3,"column":7},"action":"remove","lines":["l"],"id":13}],[{"start":{"row":3,"column":5},"end":{"row":3,"column":6},"action":"remove","lines":[" "],"id":14}],[{"start":{"row":3,"column":4},"end":{"row":3,"column":5},"action":"remove","lines":["s"],"id":15}],[{"start":{"row":3,"column":3},"end":{"row":3,"column":4},"action":"remove","lines":["u"],"id":16}],[{"start":{"row":3,"column":2},"end":{"row":3,"column":3},"action":"remove","lines":["o"],"id":17}],[{"start":{"row":3,"column":1},"end":{"row":3,"column":2},"action":"remove","lines":["T"],"id":18}],[{"start":{"row":3,"column":1},"end":{"row":3,"column":2},"action":"insert","lines":["A"],"id":19}],[{"start":{"row":3,"column":2},"end":{"row":3,"column":3},"action":"insert","lines":["l"],"id":20}],[{"start":{"row":3,"column":3},"end":{"row":3,"column":4},"action":"insert","lines":["i"],"id":21}],[{"start":{"row":3,"column":4},"end":{"row":3,"column":5},"action":"insert","lines":["m"],"id":22}],[{"start":{"row":3,"column":5},"end":{"row":3,"column":6},"action":"insert","lines":["e"],"id":23}],[{"start":{"row":3,"column":6},"end":{"row":3,"column":7},"action":"insert","lines":["n"],"id":24}],[{"start":{"row":3,"column":7},"end":{"row":3,"column":8},"action":"insert","lines":["t"],"id":25}],[{"start":{"row":3,"column":8},"end":{"row":3,"column":9},"action":"insert","lines":["a"],"id":26}],[{"start":{"row":3,"column":9},"end":{"row":3,"column":10},"action":"insert","lines":["i"],"id":27}],[{"start":{"row":3,"column":10},"end":{"row":3,"column":11},"action":"insert","lines":["r"],"id":28}],[{"start":{"row":3,"column":11},"end":{"row":3,"column":12},"action":"insert","lines":["e"],"id":29}],[{"start":{"row":11,"column":35},"end":{"row":11,"column":36},"action":"remove","lines":["s"],"id":30}],[{"start":{"row":11,"column":34},"end":{"row":11,"column":35},"action":"remove","lines":["t"],"id":31}],[{"start":{"row":11,"column":33},"end":{"row":11,"column":34},"action":"remove","lines":["i"],"id":32}],[{"start":{"row":11,"column":32},"end":{"row":11,"column":33},"action":"remove","lines":["u"],"id":33}],[{"start":{"row":11,"column":31},"end":{"row":11,"column":32},"action":"remove","lines":["d"],"id":34}],[{"start":{"row":11,"column":30},"end":{"row":11,"column":31},"action":"remove","lines":["o"],"id":35}],[{"start":{"row":11,"column":29},"end":{"row":11,"column":30},"action":"remove","lines":["r"],"id":36}],[{"start":{"row":11,"column":28},"end":{"row":11,"column":29},"action":"remove","lines":["p"],"id":37}],[{"start":{"row":11,"column":27},"end":{"row":11,"column":28},"action":"remove","lines":[" "],"id":38}],[{"start":{"row":11,"column":26},"end":{"row":11,"column":27},"action":"remove","lines":["s"],"id":39}],[{"start":{"row":11,"column":25},"end":{"row":11,"column":26},"action":"remove","lines":["e"],"id":40}],[{"start":{"row":11,"column":24},"end":{"row":11,"column":25},"action":"remove","lines":["l"],"id":41}],[{"start":{"row":11,"column":23},"end":{"row":11,"column":24},"action":"remove","lines":[" "],"id":42}],[{"start":{"row":11,"column":22},"end":{"row":11,"column":23},"action":"remove","lines":["s"],"id":43}],[{"start":{"row":11,"column":21},"end":{"row":11,"column":22},"action":"remove","lines":["u"],"id":44}],[{"start":{"row":11,"column":20},"end":{"row":11,"column":21},"action":"remove","lines":["o"],"id":45}],[{"start":{"row":11,"column":19},"end":{"row":11,"column":20},"action":"remove","lines":["T"],"id":46}],[{"start":{"row":11,"column":19},"end":{"row":11,"column":20},"action":"insert","lines":["P"],"id":47}],[{"start":{"row":11,"column":20},"end":{"row":11,"column":21},"action":"insert","lines":["r"],"id":48}],[{"start":{"row":11,"column":21},"end":{"row":11,"column":22},"action":"insert","lines":["o"],"id":49}],[{"start":{"row":11,"column":22},"end":{"row":11,"column":23},"action":"insert","lines":["d"],"id":50}],[{"start":{"row":11,"column":23},"end":{"row":11,"column":24},"action":"insert","lines":["u"],"id":51}],[{"start":{"row":11,"column":24},"end":{"row":11,"column":25},"action":"insert","lines":["i"],"id":52}],[{"start":{"row":11,"column":25},"end":{"row":11,"column":26},"action":"insert","lines":["t"],"id":53}],[{"start":{"row":11,"column":26},"end":{"row":11,"column":27},"action":"insert","lines":["s"],"id":54}],[{"start":{"row":11,"column":27},"end":{"row":11,"column":28},"action":"insert","lines":[" "],"id":55}],[{"start":{"row":11,"column":28},"end":{"row":11,"column":29},"action":"insert","lines":["A"],"id":56}],[{"start":{"row":11,"column":29},"end":{"row":11,"column":30},"action":"insert","lines":["l"],"id":57}],[{"start":{"row":11,"column":30},"end":{"row":11,"column":31},"action":"insert","lines":["i"],"id":58}],[{"start":{"row":11,"column":31},"end":{"row":11,"column":32},"action":"insert","lines":["m"],"id":59}],[{"start":{"row":11,"column":32},"end":{"row":11,"column":33},"action":"insert","lines":["e"],"id":60}],[{"start":{"row":11,"column":33},"end":{"row":11,"column":34},"action":"insert","lines":["n"],"id":61}],[{"start":{"row":11,"column":34},"end":{"row":11,"column":35},"action":"insert","lines":["t"],"id":62}],[{"start":{"row":11,"column":35},"end":{"row":11,"column":36},"action":"insert","lines":["a"],"id":63}],[{"start":{"row":11,"column":36},"end":{"row":11,"column":37},"action":"insert","lines":["i"],"id":64}],[{"start":{"row":11,"column":37},"end":{"row":11,"column":38},"action":"insert","lines":["r"],"id":65}],[{"start":{"row":11,"column":38},"end":{"row":11,"column":39},"action":"insert","lines":["e"],"id":66}],[{"start":{"row":11,"column":39},"end":{"row":11,"column":40},"action":"insert","lines":["s"],"id":67}],[{"start":{"row":13,"column":100},"end":{"row":13,"column":101},"action":"insert","lines":[" "],"id":68}],[{"start":{"row":13,"column":101},"end":{"row":13,"column":102},"action":"insert","lines":["a"],"id":69}],[{"start":{"row":13,"column":102},"end":{"row":13,"column":103},"action":"insert","lines":["l"],"id":70}],[{"start":{"row":13,"column":103},"end":{"row":13,"column":104},"action":"insert","lines":["i"],"id":71}],[{"start":{"row":13,"column":104},"end":{"row":13,"column":105},"action":"insert","lines":["m"],"id":72}],[{"start":{"row":13,"column":105},"end":{"row":13,"column":106},"action":"insert","lines":["e"],"id":73}],[{"start":{"row":13,"column":106},"end":{"row":13,"column":107},"action":"insert","lines":["n"],"id":74}],[{"start":{"row":13,"column":107},"end":{"row":13,"column":108},"action":"insert","lines":["t"],"id":75}],[{"start":{"row":13,"column":108},"end":{"row":13,"column":109},"action":"insert","lines":["a"],"id":76}],[{"start":{"row":13,"column":109},"end":{"row":13,"column":110},"action":"insert","lines":["i"],"id":77}],[{"start":{"row":13,"column":110},"end":{"row":13,"column":111},"action":"insert","lines":["r"],"id":78}],[{"start":{"row":13,"column":111},"end":{"row":13,"column":112},"action":"insert","lines":["e"],"id":79}],[{"start":{"row":13,"column":112},"end":{"row":13,"column":113},"action":"insert","lines":["s"],"id":80}],[{"start":{"row":15,"column":78},"end":{"row":15,"column":121},"action":"remove","lines":["https://www.youtube.com/watch?v=-xSORIDw1Sg"],"id":81},{"start":{"row":15,"column":78},"end":{"row":15,"column":121},"action":"insert","lines":["https://www.youtube.com/watch?v=-G3MLjqicC8"]}]]},"ace":{"folds":[],"scrolltop":240,"scrollleft":0,"selection":{"start":{"row":24,"column":10},"end":{"row":24,"column":10},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":49,"state":"start","mode":"ace/mode/php"}},"timestamp":1511145601343,"hash":"8a422639ab69b6cb5ac68f9c2c437bace0dae86d"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/products/product_create.blade.php b/workspace/.c9/metadata/workspace/resources/views/products/product_create.blade.php new file mode 100644 index 0000000..bff9a38 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/products/product_create.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"product_create.blade.php","tooltip":"/resources/views/products/product_create.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":true},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":65,"state":"start","mode":"ace/mode/php"}},"timestamp":1511094252536,"hash":"c664e895af65f7692235e5616c3d39ffaee35cb3"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/products/product_edit.blade.php b/workspace/.c9/metadata/workspace/resources/views/products/product_edit.blade.php new file mode 100644 index 0000000..46881fc --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/products/product_edit.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"product_edit.blade.php","tooltip":"/resources/views/products/product_edit.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":2,"column":17},"end":{"row":2,"column":17},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":14,"state":"start","mode":"ace/mode/php"}},"timestamp":1510601037346,"hash":"31856f47591e50fe41ef70674d4a83cda7b96d7a"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/products/product_index.blade.php b/workspace/.c9/metadata/workspace/resources/views/products/product_index.blade.php new file mode 100644 index 0000000..d1c9bdf --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/products/product_index.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"product_index.blade.php","tooltip":"/resources/views/products/product_index.blade.php","undoManager":{"mark":4,"position":4,"stack":[[{"start":{"row":11,"column":22},"end":{"row":11,"column":23},"action":"remove","lines":["t"],"id":1}],[{"start":{"row":11,"column":22},"end":{"row":11,"column":23},"action":"insert","lines":["s"],"id":2}],[{"start":{"row":13,"column":65},"end":{"row":13,"column":66},"action":"insert","lines":["s"],"id":3}],[{"start":{"row":3,"column":18},"end":{"row":3,"column":21},"action":"insert","lines":["sss"],"id":4,"ignore":true}],[{"start":{"row":3,"column":18},"end":{"row":3,"column":21},"action":"remove","lines":["sss"],"id":5,"ignore":true}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":48,"column":8},"end":{"row":48,"column":8},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511143960571,"hash":"c1905bf5427327c44a9d4a3bb21726c543da4d25"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/products/product_register.blade.php b/workspace/.c9/metadata/workspace/resources/views/products/product_register.blade.php new file mode 100644 index 0000000..a38b1f6 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/products/product_register.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"product_register.blade.php","tooltip":"/resources/views/products/product_register.blade.php","undoManager":{"mark":71,"position":71,"stack":[[{"start":{"row":10,"column":20},"end":{"row":10,"column":31},"action":"remove","lines":["Inscription"],"id":2},{"start":{"row":10,"column":20},"end":{"row":10,"column":21},"action":"insert","lines":["D"]}],[{"start":{"row":10,"column":21},"end":{"row":10,"column":22},"action":"insert","lines":["é"],"id":3}],[{"start":{"row":10,"column":22},"end":{"row":10,"column":23},"action":"insert","lines":["p"],"id":4}],[{"start":{"row":10,"column":23},"end":{"row":10,"column":24},"action":"insert","lines":["o"],"id":5}],[{"start":{"row":10,"column":24},"end":{"row":10,"column":25},"action":"insert","lines":["s"],"id":6}],[{"start":{"row":10,"column":25},"end":{"row":10,"column":26},"action":"insert","lines":["e"],"id":7}],[{"start":{"row":10,"column":26},"end":{"row":10,"column":27},"action":"insert","lines":["r"],"id":8}],[{"start":{"row":10,"column":27},"end":{"row":10,"column":28},"action":"insert","lines":[" "],"id":9}],[{"start":{"row":10,"column":28},"end":{"row":10,"column":29},"action":"insert","lines":["u"],"id":10}],[{"start":{"row":10,"column":29},"end":{"row":10,"column":30},"action":"insert","lines":["n"],"id":11}],[{"start":{"row":10,"column":30},"end":{"row":10,"column":31},"action":"insert","lines":[" "],"id":12}],[{"start":{"row":10,"column":30},"end":{"row":10,"column":31},"action":"remove","lines":[" "],"id":13}],[{"start":{"row":10,"column":30},"end":{"row":10,"column":31},"action":"insert","lines":["e"],"id":14}],[{"start":{"row":10,"column":31},"end":{"row":10,"column":32},"action":"insert","lines":[" "],"id":15}],[{"start":{"row":10,"column":32},"end":{"row":10,"column":33},"action":"insert","lines":["a"],"id":16}],[{"start":{"row":10,"column":33},"end":{"row":10,"column":34},"action":"insert","lines":["n"],"id":17}],[{"start":{"row":10,"column":34},"end":{"row":10,"column":35},"action":"insert","lines":["n"],"id":18}],[{"start":{"row":10,"column":35},"end":{"row":10,"column":36},"action":"insert","lines":["o"],"id":19}],[{"start":{"row":10,"column":36},"end":{"row":10,"column":37},"action":"insert","lines":["n"],"id":20}],[{"start":{"row":10,"column":37},"end":{"row":10,"column":38},"action":"insert","lines":["c"],"id":21}],[{"start":{"row":10,"column":38},"end":{"row":10,"column":39},"action":"insert","lines":["e"],"id":22}],[{"start":{"row":10,"column":38},"end":{"row":10,"column":39},"action":"remove","lines":["e"],"id":23}],[{"start":{"row":10,"column":37},"end":{"row":10,"column":38},"action":"remove","lines":["c"],"id":24}],[{"start":{"row":10,"column":36},"end":{"row":10,"column":37},"action":"remove","lines":["n"],"id":25}],[{"start":{"row":10,"column":35},"end":{"row":10,"column":36},"action":"remove","lines":["o"],"id":26}],[{"start":{"row":10,"column":34},"end":{"row":10,"column":35},"action":"remove","lines":["n"],"id":27}],[{"start":{"row":10,"column":33},"end":{"row":10,"column":34},"action":"remove","lines":["n"],"id":28}],[{"start":{"row":10,"column":32},"end":{"row":10,"column":33},"action":"remove","lines":["a"],"id":29}],[{"start":{"row":10,"column":31},"end":{"row":10,"column":32},"action":"remove","lines":[" "],"id":30}],[{"start":{"row":10,"column":30},"end":{"row":10,"column":31},"action":"remove","lines":["e"],"id":31}],[{"start":{"row":10,"column":29},"end":{"row":10,"column":30},"action":"remove","lines":["n"],"id":32}],[{"start":{"row":10,"column":28},"end":{"row":10,"column":29},"action":"remove","lines":["u"],"id":33}],[{"start":{"row":10,"column":27},"end":{"row":10,"column":28},"action":"remove","lines":[" "],"id":34}],[{"start":{"row":10,"column":26},"end":{"row":10,"column":27},"action":"remove","lines":["r"],"id":35}],[{"start":{"row":10,"column":26},"end":{"row":10,"column":27},"action":"insert","lines":["z"],"id":36}],[{"start":{"row":10,"column":27},"end":{"row":10,"column":28},"action":"insert","lines":[" "],"id":37}],[{"start":{"row":10,"column":28},"end":{"row":10,"column":29},"action":"insert","lines":["v"],"id":38}],[{"start":{"row":10,"column":29},"end":{"row":10,"column":30},"action":"insert","lines":["o"],"id":39}],[{"start":{"row":10,"column":30},"end":{"row":10,"column":31},"action":"insert","lines":["t"],"id":40}],[{"start":{"row":10,"column":31},"end":{"row":10,"column":32},"action":"insert","lines":["r"],"id":41}],[{"start":{"row":10,"column":32},"end":{"row":10,"column":33},"action":"insert","lines":["e"],"id":42}],[{"start":{"row":10,"column":33},"end":{"row":10,"column":34},"action":"insert","lines":[" "],"id":43}],[{"start":{"row":10,"column":34},"end":{"row":10,"column":35},"action":"insert","lines":["a"],"id":44}],[{"start":{"row":10,"column":35},"end":{"row":10,"column":36},"action":"insert","lines":["n"],"id":45}],[{"start":{"row":10,"column":36},"end":{"row":10,"column":37},"action":"insert","lines":["n"],"id":46}],[{"start":{"row":10,"column":37},"end":{"row":10,"column":38},"action":"insert","lines":["o"],"id":47}],[{"start":{"row":10,"column":38},"end":{"row":10,"column":39},"action":"insert","lines":["n"],"id":48}],[{"start":{"row":10,"column":39},"end":{"row":10,"column":40},"action":"insert","lines":["c"],"id":49}],[{"start":{"row":10,"column":40},"end":{"row":10,"column":41},"action":"insert","lines":["e"],"id":50}],[{"start":{"row":3,"column":4},"end":{"row":3,"column":15},"action":"remove","lines":["Inscription"],"id":51},{"start":{"row":3,"column":4},"end":{"row":3,"column":5},"action":"insert","lines":["D"]}],[{"start":{"row":3,"column":5},"end":{"row":3,"column":6},"action":"insert","lines":["é"],"id":52}],[{"start":{"row":3,"column":6},"end":{"row":3,"column":7},"action":"insert","lines":["p"],"id":53}],[{"start":{"row":3,"column":7},"end":{"row":3,"column":8},"action":"insert","lines":["o"],"id":54}],[{"start":{"row":3,"column":8},"end":{"row":3,"column":9},"action":"insert","lines":["t"],"id":55}],[{"start":{"row":3,"column":9},"end":{"row":3,"column":10},"action":"insert","lines":[" "],"id":56}],[{"start":{"row":3,"column":10},"end":{"row":3,"column":11},"action":"insert","lines":["d"],"id":57}],[{"start":{"row":3,"column":11},"end":{"row":3,"column":12},"action":"insert","lines":["'"],"id":58}],[{"start":{"row":3,"column":12},"end":{"row":3,"column":13},"action":"insert","lines":["a"],"id":59}],[{"start":{"row":3,"column":13},"end":{"row":3,"column":14},"action":"insert","lines":["n"],"id":60}],[{"start":{"row":3,"column":14},"end":{"row":3,"column":15},"action":"insert","lines":["n"],"id":61}],[{"start":{"row":3,"column":15},"end":{"row":3,"column":16},"action":"insert","lines":["o"],"id":62}],[{"start":{"row":3,"column":16},"end":{"row":3,"column":17},"action":"insert","lines":["n"],"id":63}],[{"start":{"row":3,"column":17},"end":{"row":3,"column":18},"action":"insert","lines":["c"],"id":64}],[{"start":{"row":3,"column":18},"end":{"row":3,"column":19},"action":"insert","lines":["e"],"id":65}],[{"start":{"row":18,"column":77},"end":{"row":18,"column":78},"action":"insert","lines":["p"],"id":66}],[{"start":{"row":18,"column":78},"end":{"row":18,"column":79},"action":"insert","lines":["r"],"id":67}],[{"start":{"row":18,"column":79},"end":{"row":18,"column":80},"action":"insert","lines":["o"],"id":68}],[{"start":{"row":18,"column":80},"end":{"row":18,"column":81},"action":"insert","lines":["d"],"id":69}],[{"start":{"row":18,"column":81},"end":{"row":18,"column":82},"action":"insert","lines":["u"],"id":70}],[{"start":{"row":18,"column":82},"end":{"row":18,"column":83},"action":"insert","lines":["c"],"id":71}],[{"start":{"row":18,"column":83},"end":{"row":18,"column":84},"action":"insert","lines":["t"],"id":72}],[{"start":{"row":18,"column":84},"end":{"row":18,"column":85},"action":"insert","lines":["_"],"id":73}]]},"ace":{"folds":[],"scrolltop":60,"scrollleft":0,"selection":{"start":{"row":24,"column":50},"end":{"row":24,"column":50},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":3,"state":"start","mode":"ace/mode/php"}},"timestamp":1510601037372,"hash":"31856f47591e50fe41ef70674d4a83cda7b96d7a"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/products/product_show.blade.php b/workspace/.c9/metadata/workspace/resources/views/products/product_show.blade.php new file mode 100644 index 0000000..f8ecc4d --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/products/product_show.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"product_show.blade.php","tooltip":"/resources/views/products/product_show.blade.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":47,"column":21},"end":{"row":47,"column":22},"action":"insert","lines":["t"],"id":159}],[{"start":{"row":47,"column":22},"end":{"row":47,"column":23},"action":"insert","lines":["e"],"id":160}],[{"start":{"row":47,"column":23},"end":{"row":47,"column":24},"action":"insert","lines":["r"],"id":161}],[{"start":{"row":48,"column":38},"end":{"row":48,"column":58},"action":"insert","lines":["'« Précédents'"],"id":162}],[{"start":{"row":48,"column":58},"end":{"row":48,"column":59},"action":"insert","lines":[" "],"id":163}],[{"start":{"row":48,"column":47},"end":{"row":48,"column":58},"action":"remove","lines":["Précédents'"],"id":164}],[{"start":{"row":48,"column":46},"end":{"row":48,"column":47},"action":"remove","lines":[" "],"id":165}],[{"start":{"row":14,"column":41},"end":{"row":14,"column":42},"action":"insert","lines":["f"],"id":167,"ignore":true}],[{"start":{"row":14,"column":41},"end":{"row":14,"column":42},"action":"remove","lines":["f"],"id":168,"ignore":true}],[{"start":{"row":12,"column":36},"end":{"row":12,"column":37},"action":"insert","lines":["s"],"id":169,"ignore":true}],[{"start":{"row":12,"column":36},"end":{"row":12,"column":37},"action":"remove","lines":["s"],"id":170,"ignore":true}],[{"start":{"row":3,"column":17},"end":{"row":3,"column":18},"action":"remove","lines":["s"],"id":171,"ignore":true}],[{"start":{"row":3,"column":1},"end":{"row":3,"column":17},"action":"remove","lines":["Tous les produit"],"id":172,"ignore":true}],[{"start":{"row":3,"column":1},"end":{"row":3,"column":18},"action":"insert","lines":["Tous les produits"],"id":173,"ignore":true},{"start":{"row":12,"column":36},"end":{"row":12,"column":37},"action":"insert","lines":["s"]}],[{"start":{"row":12,"column":19},"end":{"row":12,"column":37},"action":"remove","lines":["Tout les produitss"],"id":174,"ignore":true}],[{"start":{"row":12,"column":19},"end":{"row":12,"column":20},"action":"insert","lines":["D"],"id":175,"ignore":true}],[{"start":{"row":12,"column":19},"end":{"row":12,"column":20},"action":"remove","lines":["D"],"id":176,"ignore":true},{"start":{"row":12,"column":19},"end":{"row":12,"column":34},"action":"insert","lines":["Tout les produi"]}],[{"start":{"row":12,"column":34},"end":{"row":12,"column":36},"action":"insert","lines":["ts"],"id":177,"ignore":true}],[{"start":{"row":20,"column":20},"end":{"row":20,"column":21},"action":"remove","lines":["4"],"id":178,"ignore":true}],[{"start":{"row":20,"column":20},"end":{"row":20,"column":21},"action":"insert","lines":["4"],"id":179,"ignore":true}],[{"start":{"row":20,"column":20},"end":{"row":20,"column":21},"action":"remove","lines":["4"],"id":180,"ignore":true},{"start":{"row":20,"column":20},"end":{"row":20,"column":21},"action":"insert","lines":["4"]}],[{"start":{"row":20,"column":20},"end":{"row":20,"column":21},"action":"remove","lines":["4"],"id":181,"ignore":true},{"start":{"row":20,"column":20},"end":{"row":20,"column":21},"action":"insert","lines":["8"]}],[{"start":{"row":20,"column":20},"end":{"row":20,"column":21},"action":"remove","lines":["8"],"id":182,"ignore":true}],[{"start":{"row":20,"column":20},"end":{"row":20,"column":21},"action":"insert","lines":["4"],"id":183,"ignore":true}],[{"start":{"row":24,"column":4},"end":{"row":24,"column":87},"action":"remove","lines":["<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>"],"id":184,"ignore":true}],[{"start":{"row":21,"column":24},"end":{"row":21,"column":107},"action":"insert","lines":["<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>"],"id":185,"ignore":true}],[{"start":{"row":21,"column":24},"end":{"row":21,"column":107},"action":"remove","lines":["<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>"],"id":186,"ignore":true},{"start":{"row":24,"column":4},"end":{"row":24,"column":87},"action":"insert","lines":["<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>"]}],[{"start":{"row":30,"column":10},"end":{"row":30,"column":12},"action":"insert","lines":["ុះ"],"id":187,"ignore":true}],[{"start":{"row":30,"column":10},"end":{"row":30,"column":12},"action":"remove","lines":["ុះ"],"id":188,"ignore":true}],[{"start":{"row":30,"column":10},"end":{"row":30,"column":11},"action":"insert","lines":["<"],"id":189,"ignore":true}],[{"start":{"row":30,"column":11},"end":{"row":30,"column":12},"action":"insert","lines":["i"],"id":190,"ignore":true}],[{"start":{"row":30,"column":12},"end":{"row":30,"column":13},"action":"insert","lines":[" "],"id":191,"ignore":true}],[{"start":{"row":30,"column":13},"end":{"row":30,"column":19},"action":"insert","lines":["class="],"id":192,"ignore":true}],[{"start":{"row":30,"column":19},"end":{"row":30,"column":21},"action":"insert","lines":["\"\""],"id":193,"ignore":true}],[{"start":{"row":30,"column":21},"end":{"row":30,"column":26},"action":"insert","lines":["></i>"],"id":194,"ignore":true}],[{"start":{"row":30,"column":10},"end":{"row":30,"column":26},"action":"remove","lines":["<i class=\"\"></i>"],"id":195,"ignore":true}],[{"start":{"row":31,"column":10},"end":{"row":31,"column":26},"action":"insert","lines":["<i class=\"\"></i>"],"id":196,"ignore":true}],[{"start":{"row":31,"column":20},"end":{"row":31,"column":21},"action":"insert","lines":["f"],"id":197,"ignore":true}],[{"start":{"row":31,"column":21},"end":{"row":31,"column":22},"action":"insert","lines":["a"],"id":198,"ignore":true}],[{"start":{"row":31,"column":22},"end":{"row":31,"column":23},"action":"insert","lines":["-"],"id":199,"ignore":true}],[{"start":{"row":31,"column":23},"end":{"row":31,"column":24},"action":"insert","lines":["f"],"id":200,"ignore":true}],[{"start":{"row":31,"column":23},"end":{"row":31,"column":24},"action":"remove","lines":["f"],"id":201,"ignore":true},{"start":{"row":31,"column":23},"end":{"row":31,"column":25},"action":"insert","lines":["fa"]}],[{"start":{"row":31,"column":25},"end":{"row":31,"column":26},"action":"insert","lines":["-"],"id":202,"ignore":true}],[{"start":{"row":31,"column":26},"end":{"row":31,"column":33},"action":"insert","lines":["envelop"],"id":203,"ignore":true}],[{"start":{"row":31,"column":22},"end":{"row":31,"column":23},"action":"remove","lines":["-"],"id":204,"ignore":true},{"start":{"row":31,"column":22},"end":{"row":31,"column":23},"action":"insert","lines":[" "]}],[{"start":{"row":31,"column":33},"end":{"row":31,"column":34},"action":"insert","lines":["e"],"id":205,"ignore":true}],[{"start":{"row":31,"column":40},"end":{"row":31,"column":41},"action":"insert","lines":[" "],"id":206,"ignore":true}],[{"start":{"row":32,"column":10},"end":{"row":32,"column":11},"action":"insert","lines":["<"],"id":207,"ignore":true}],[{"start":{"row":32,"column":11},"end":{"row":32,"column":18},"action":"insert","lines":["i class"],"id":208,"ignore":true}],[{"start":{"row":32,"column":18},"end":{"row":32,"column":19},"action":"insert","lines":["="],"id":209,"ignore":true}],[{"start":{"row":32,"column":19},"end":{"row":32,"column":21},"action":"insert","lines":["\"f"],"id":210,"ignore":true}],[{"start":{"row":32,"column":21},"end":{"row":32,"column":25},"action":"insert","lines":["a fa"],"id":211,"ignore":true}],[{"start":{"row":32,"column":25},"end":{"row":32,"column":30},"action":"insert","lines":["-home"],"id":212,"ignore":true}],[{"start":{"row":32,"column":30},"end":{"row":32,"column":36},"action":"insert","lines":["\"></i>"],"id":213,"ignore":true}],[{"start":{"row":32,"column":36},"end":{"row":32,"column":37},"action":"insert","lines":[" "],"id":214,"ignore":true}],[{"start":{"row":36,"column":10},"end":{"row":36,"column":11},"action":"insert","lines":["<"],"id":215,"ignore":true}],[{"start":{"row":36,"column":10},"end":{"row":36,"column":11},"action":"remove","lines":["<"],"id":216,"ignore":true}],[{"start":{"row":36,"column":10},"end":{"row":36,"column":36},"action":"insert","lines":["<i class=\"fa fa-home\"></i>"],"id":217,"ignore":true}],[{"start":{"row":36,"column":36},"end":{"row":36,"column":37},"action":"insert","lines":[" "],"id":218,"ignore":true}],[{"start":{"row":36,"column":28},"end":{"row":36,"column":30},"action":"remove","lines":["me"],"id":219,"ignore":true}],[{"start":{"row":36,"column":28},"end":{"row":36,"column":30},"action":"insert","lines":["ur"],"id":220,"ignore":true}],[{"start":{"row":36,"column":30},"end":{"row":36,"column":31},"action":"insert","lines":["c"],"id":221,"ignore":true}],[{"start":{"row":36,"column":30},"end":{"row":36,"column":31},"action":"remove","lines":["c"],"id":222,"ignore":true},{"start":{"row":36,"column":30},"end":{"row":36,"column":31},"action":"insert","lines":["g"]}],[{"start":{"row":36,"column":31},"end":{"row":36,"column":34},"action":"insert","lines":["las"],"id":223,"ignore":true}],[{"start":{"row":36,"column":34},"end":{"row":36,"column":35},"action":"insert","lines":["s"],"id":224,"ignore":true}],[{"start":{"row":36,"column":35},"end":{"row":36,"column":36},"action":"insert","lines":["-"],"id":225,"ignore":true}],[{"start":{"row":36,"column":36},"end":{"row":36,"column":38},"action":"insert","lines":["ha"],"id":226,"ignore":true}],[{"start":{"row":36,"column":38},"end":{"row":36,"column":40},"action":"insert","lines":["lf"],"id":227,"ignore":true}],[{"start":{"row":30,"column":10},"end":{"row":30,"column":36},"action":"insert","lines":["<i class=\"fa fa-home\"></i>"],"id":228,"ignore":true}],[{"start":{"row":30,"column":28},"end":{"row":30,"column":30},"action":"remove","lines":["me"],"id":229,"ignore":true}],[{"start":{"row":30,"column":26},"end":{"row":30,"column":28},"action":"remove","lines":["ho"],"id":230,"ignore":true}],[{"start":{"row":30,"column":26},"end":{"row":30,"column":27},"action":"insert","lines":["c"],"id":231,"ignore":true}],[{"start":{"row":30,"column":27},"end":{"row":30,"column":28},"action":"insert","lines":["i"],"id":232,"ignore":true}],[{"start":{"row":30,"column":27},"end":{"row":30,"column":28},"action":"remove","lines":["i"],"id":233,"ignore":true},{"start":{"row":30,"column":27},"end":{"row":30,"column":28},"action":"insert","lines":["o"]}],[{"start":{"row":30,"column":28},"end":{"row":30,"column":30},"action":"insert","lines":["mm"],"id":234,"ignore":true}],[{"start":{"row":30,"column":30},"end":{"row":30,"column":32},"action":"insert","lines":["en"],"id":235,"ignore":true}],[{"start":{"row":30,"column":32},"end":{"row":30,"column":33},"action":"insert","lines":["t"],"id":236,"ignore":true}],[{"start":{"row":30,"column":33},"end":{"row":30,"column":36},"action":"insert","lines":["ing"],"id":237,"ignore":true}],[{"start":{"row":30,"column":42},"end":{"row":30,"column":43},"action":"insert","lines":[" "],"id":238,"ignore":true}],[{"start":{"row":30,"column":35},"end":{"row":30,"column":36},"action":"remove","lines":["g"],"id":239,"ignore":true},{"start":{"row":30,"column":41},"end":{"row":30,"column":42},"action":"remove","lines":[" "]}],[{"start":{"row":30,"column":34},"end":{"row":30,"column":35},"action":"remove","lines":["n"],"id":240,"ignore":true}],[{"start":{"row":30,"column":32},"end":{"row":30,"column":34},"action":"remove","lines":["ti"],"id":241,"ignore":true}],[{"start":{"row":30,"column":30},"end":{"row":30,"column":32},"action":"remove","lines":["en"],"id":242,"ignore":true}],[{"start":{"row":30,"column":28},"end":{"row":30,"column":30},"action":"remove","lines":["mm"],"id":243,"ignore":true}],[{"start":{"row":30,"column":27},"end":{"row":30,"column":28},"action":"remove","lines":["o"],"id":244,"ignore":true},{"start":{"row":30,"column":27},"end":{"row":30,"column":28},"action":"insert","lines":["i"]}],[{"start":{"row":30,"column":26},"end":{"row":30,"column":28},"action":"remove","lines":["ci"],"id":245,"ignore":true}],[{"start":{"row":30,"column":26},"end":{"row":30,"column":27},"action":"insert","lines":["h"],"id":246,"ignore":true}],[{"start":{"row":30,"column":27},"end":{"row":30,"column":28},"action":"insert","lines":["o"],"id":247,"ignore":true}],[{"start":{"row":30,"column":28},"end":{"row":30,"column":29},"action":"insert","lines":["m"],"id":248,"ignore":true}],[{"start":{"row":30,"column":29},"end":{"row":30,"column":30},"action":"insert","lines":["e"],"id":249,"ignore":true}],[{"start":{"row":30,"column":10},"end":{"row":30,"column":36},"action":"remove","lines":["<i class=\"fa fa-home\"></i>"],"id":250,"ignore":true},{"start":{"row":36,"column":39},"end":{"row":36,"column":40},"action":"remove","lines":["f"]}],[{"start":{"row":36,"column":39},"end":{"row":36,"column":40},"action":"insert","lines":["f"],"id":251,"ignore":true}],[{"start":{"row":48,"column":38},"end":{"row":48,"column":39},"action":"remove","lines":["'"],"id":251}],[{"start":{"row":36,"column":10},"end":{"row":36,"column":47},"action":"remove","lines":["<i class=\"fa fa-hourglass-half\"></i> "],"id":252,"ignore":true}],[{"start":{"row":36,"column":10},"end":{"row":36,"column":13},"action":"insert","lines":["<i "],"id":253,"ignore":true}],[{"start":{"row":36,"column":12},"end":{"row":36,"column":41},"action":"insert","lines":[" class=\"fa fa-hourglass-half\""],"id":254,"ignore":true}],[{"start":{"row":36,"column":34},"end":{"row":36,"column":40},"action":"remove","lines":["s-half"],"id":255,"ignore":true},{"start":{"row":36,"column":35},"end":{"row":36,"column":40},"action":"insert","lines":["></i>"]}],[{"start":{"row":36,"column":33},"end":{"row":36,"column":34},"action":"remove","lines":["s"],"id":256,"ignore":true}],[{"start":{"row":36,"column":33},"end":{"row":36,"column":40},"action":"insert","lines":["ss-half"],"id":257,"ignore":true}],[{"start":{"row":12,"column":19},"end":{"row":12,"column":27},"action":"remove","lines":["Tout les"],"id":258,"ignore":true},{"start":{"row":12,"column":19},"end":{"row":12,"column":21},"action":"insert","lines":["Dé"]},{"start":{"row":12,"column":29},"end":{"row":12,"column":30},"action":"remove","lines":["s"]}],[{"start":{"row":12,"column":21},"end":{"row":12,"column":29},"action":"insert","lines":["tails de"],"id":259,"ignore":true}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":48,"column":38},"end":{"row":48,"column":38},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":33,"state":"start","mode":"ace/mode/php"}},"timestamp":1511139265370,"hash":"0e1fef787be9dcd203a43e17916add6e30dcd244"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/products/seek.blade.php b/workspace/.c9/metadata/workspace/resources/views/products/seek.blade.php new file mode 100644 index 0000000..02bf99f --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/products/seek.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"seek.blade.php","tooltip":"/resources/views/products/seek.blade.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":8,"column":0},"end":{"row":8,"column":5},"action":"insert","lines":["<!---"],"id":7,"ignore":true}],[{"start":{"row":8,"column":4},"end":{"row":8,"column":20},"action":"insert","lines":["Ceci est un test"],"id":8,"ignore":true},{"start":{"row":8,"column":21},"end":{"row":8,"column":23},"action":"insert","lines":["->"]}],[{"start":{"row":9,"column":5},"end":{"row":11,"column":0},"action":"insert","lines":["","",""],"id":9,"ignore":true}],[{"start":{"row":10,"column":0},"end":{"row":10,"column":1},"action":"insert","lines":["p"],"id":10,"ignore":true},{"start":{"row":11,"column":0},"end":{"row":11,"column":2},"action":"insert","lines":["?>"]}],[{"start":{"row":10,"column":1},"end":{"row":10,"column":3},"action":"insert","lines":["ri"],"id":11,"ignore":true}],[{"start":{"row":10,"column":3},"end":{"row":10,"column":8},"action":"insert","lines":["nt($)"],"id":12,"ignore":true}],[{"start":{"row":10,"column":7},"end":{"row":10,"column":9},"action":"insert","lines":["GE"],"id":13,"ignore":true}],[{"start":{"row":10,"column":9},"end":{"row":10,"column":14},"action":"insert","lines":["T['']"],"id":14,"ignore":true}],[{"start":{"row":10,"column":12},"end":{"row":10,"column":13},"action":"insert","lines":["r"],"id":15,"ignore":true}],[{"start":{"row":10,"column":16},"end":{"row":10,"column":17},"action":"insert","lines":[";"],"id":16,"ignore":true}],[{"start":{"row":10,"column":7},"end":{"row":10,"column":8},"action":"insert","lines":["`"],"id":17,"ignore":true}],[{"start":{"row":10,"column":7},"end":{"row":10,"column":8},"action":"remove","lines":["`"],"id":18,"ignore":true},{"start":{"row":10,"column":7},"end":{"row":10,"column":8},"action":"insert","lines":["_"]}],[{"start":{"row":10,"column":6},"end":{"row":10,"column":7},"action":"insert","lines":["<"],"id":19,"ignore":true}],[{"start":{"row":10,"column":7},"end":{"row":10,"column":8},"action":"insert","lines":[">"],"id":20,"ignore":true}],[{"start":{"row":10,"column":8},"end":{"row":10,"column":9},"action":"insert","lines":["'"],"id":21,"ignore":true}],[{"start":{"row":10,"column":19},"end":{"row":10,"column":20},"action":"insert","lines":["'"],"id":22,"ignore":true}],[{"start":{"row":10,"column":8},"end":{"row":10,"column":9},"action":"insert","lines":["."],"id":23,"ignore":true}],[{"start":{"row":10,"column":21},"end":{"row":10,"column":22},"action":"insert","lines":["."],"id":24,"ignore":true}],[{"start":{"row":10,"column":20},"end":{"row":10,"column":21},"action":"remove","lines":["'"],"id":25,"ignore":true}],[{"start":{"row":10,"column":9},"end":{"row":10,"column":10},"action":"remove","lines":["'"],"id":26,"ignore":true}],[{"start":{"row":10,"column":7},"end":{"row":10,"column":8},"action":"insert","lines":["p"],"id":27,"ignore":true}],[{"start":{"row":10,"column":6},"end":{"row":10,"column":7},"action":"insert","lines":["\""],"id":28,"ignore":true}],[{"start":{"row":10,"column":10},"end":{"row":10,"column":11},"action":"insert","lines":["\""],"id":29,"ignore":true}],[{"start":{"row":10,"column":10},"end":{"row":10,"column":11},"action":"insert","lines":["c"],"id":30,"ignore":true}],[{"start":{"row":10,"column":11},"end":{"row":10,"column":13},"action":"insert","lines":["'e"],"id":31,"ignore":true}],[{"start":{"row":10,"column":13},"end":{"row":10,"column":15},"action":"insert","lines":["st"],"id":32,"ignore":true}],[{"start":{"row":10,"column":15},"end":{"row":10,"column":17},"action":"insert","lines":[" t"],"id":33,"ignore":true}],[{"start":{"row":10,"column":17},"end":{"row":10,"column":18},"action":"insert","lines":["o"],"id":34,"ignore":true}],[{"start":{"row":10,"column":15},"end":{"row":10,"column":18},"action":"remove","lines":[" to"],"id":35,"ignore":true}],[{"start":{"row":10,"column":11},"end":{"row":10,"column":15},"action":"remove","lines":["'est"],"id":36,"ignore":true}],[{"start":{"row":10,"column":10},"end":{"row":10,"column":11},"action":"remove","lines":["c"],"id":37,"ignore":true}],[{"start":{"row":10,"column":23},"end":{"row":10,"column":25},"action":"insert","lines":["\"\""],"id":38,"ignore":true}],[{"start":{"row":10,"column":24},"end":{"row":10,"column":25},"action":"insert","lines":["<"],"id":39,"ignore":true}],[{"start":{"row":10,"column":25},"end":{"row":10,"column":26},"action":"insert","lines":["/"],"id":40,"ignore":true}],[{"start":{"row":10,"column":26},"end":{"row":10,"column":28},"action":"insert","lines":["p>"],"id":41,"ignore":true}],[{"start":{"row":10,"column":8},"end":{"row":10,"column":9},"action":"remove","lines":["p"],"id":42,"ignore":true},{"start":{"row":10,"column":8},"end":{"row":10,"column":9},"action":"insert","lines":["d"]}],[{"start":{"row":10,"column":9},"end":{"row":10,"column":11},"action":"insert","lines":["iv"],"id":43,"ignore":true}],[{"start":{"row":10,"column":27},"end":{"row":10,"column":29},"action":"remove","lines":["/p"],"id":44,"ignore":true}],[{"start":{"row":10,"column":27},"end":{"row":10,"column":28},"action":"insert","lines":["d"],"id":45,"ignore":true}],[{"start":{"row":10,"column":28},"end":{"row":10,"column":30},"action":"insert","lines":["iv"],"id":46,"ignore":true}],[{"start":{"row":10,"column":27},"end":{"row":10,"column":28},"action":"insert","lines":["/"],"id":47,"ignore":true}],[{"start":{"row":8,"column":22},"end":{"row":11,"column":2},"action":"remove","lines":[">","<?php","print(\"<div>\".$_GET['r'].\"</div>\");","?>"],"id":48,"ignore":true}],[{"start":{"row":8,"column":21},"end":{"row":8,"column":22},"action":"remove","lines":["-"],"id":49,"ignore":true}],[{"start":{"row":8,"column":0},"end":{"row":8,"column":21},"action":"remove","lines":["<!--Ceci est un test-"],"id":50,"ignore":true}],[{"start":{"row":7,"column":0},"end":{"row":8,"column":0},"action":"remove","lines":["",""],"id":51,"ignore":true}],[{"start":{"row":7,"column":0},"end":{"row":9,"column":0},"action":"insert","lines":["","",""],"id":52,"ignore":true}],[{"start":{"row":8,"column":0},"end":{"row":99,"column":6},"action":"insert","lines":["<div class=\"container\">"," <div class=\"container\">"," <h1 class=\"my-5\">Bienvenue sur Bonsaiie !</h1>"," "," <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio,"," gravida pellentesque urna varius vitae. Sed dui lorem, adipiscing in adipiscing et,"," interdum nec metus. Mauris ultricies, justo eu convallis placerat, felis enim.</p>"," "," <p><a class=\"btn btn-primary btn-lg\" style=\"background-color: black;\" href=\"https://ar1.se/WTFDD9DZOL\" target=\"_blank\" role=\"button\">En savoir plus »</a></p>"," </div>"," "," "," <div class=\"row\">"," "," <div class=\"col-md-8\">"," <div id=\"carouselExampleIndicators\" class=\"carousel slide my-4\" data-ride=\"carousel\">"," <ol class=\"carousel-indicators\">"," <li data-target=\"#carouselExampleIndicators\" data-slide-to=\"0\" class=\"active\"></li>"," <li data-target=\"#carouselExampleIndicators\" data-slide-to=\"1\"></li>"," <li data-target=\"#carouselExampleIndicators\" data-slide-to=\"2\"></li>"," </ol>"," "," <div class=\"carousel-inner\" role=\"listbox\">"," <div class=\"carousel-item active\">"," <img class=\"d-block img-fluid\" src=\"http://placehold.it/900x350\" alt=\"First slide\">"," </div>"," <div class=\"carousel-item\">"," <img class=\"d-block img-fluid\" src=\"http://placehold.it/900x350\" alt=\"Second slide\">"," </div>"," <div class=\"carousel-item\">"," <img class=\"d-block img-fluid\" src=\"http://placehold.it/900x350\" alt=\"Third slide\">"," </div>"," </div>"," "," <a class=\"carousel-control-prev\" href=\"#carouselExampleIndicators\" role=\"button\" data-slide=\"prev\">"," <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>"," <span class=\"sr-only\">Previous</span>"," </a>"," "," <a class=\"carousel-control-next\" href=\"#carouselExampleIndicators\" role=\"button\" data-slide=\"next\">"," <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>"," <span class=\"sr-only\">Next</span>"," </a>"," </div>"," </div>"," "," <div class=\"col-md-4\">"," <h3 class=\"my-3\">Project Description</h3>"," <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio,"," gravida pellentesque urna varius vitae. Sed dui lorem, adipiscing in adipiscing et,"," interdum nec metus. Mauris ultricies, justo eu convallis placerat, felis enim.</p>"," <h3 class=\"my-3\">Project Details</h3>"," <ul>"," <li>Lorem Ipsum</li>"," <li>Dolor Sit Amet</li>"," <li>Consectetur</li>"," <li>Adipiscing Elit</li>"," </ul>"," </div>",""," </div>",""," <h3 class=\"my-4\">Périment bientôt</h3>",""," <div class=\"row\">",""," <div class=\"col-md-3 col-sm-6 mb-4\">"," <a href=\"#\">"," <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">"," </a>"," </div>",""," <div class=\"col-md-3 col-sm-6 mb-4\">"," <a href=\"#\">"," <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">"," </a>"," </div>",""," <div class=\"col-md-3 col-sm-6 mb-4\">"," <a href=\"#\">"," <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">"," </a>"," </div>",""," <div class=\"col-md-3 col-sm-6 mb-4\">"," <a href=\"#\">"," <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">"," </a>"," </div>",""," </div>","</div>"],"id":53,"ignore":true}],[{"start":{"row":70,"column":4},"end":{"row":98,"column":10},"action":"remove","lines":["<h3 class=\"my-4\">Périment bientôt</h3>",""," <div class=\"row\">",""," <div class=\"col-md-3 col-sm-6 mb-4\">"," <a href=\"#\">"," <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">"," </a>"," </div>",""," <div class=\"col-md-3 col-sm-6 mb-4\">"," <a href=\"#\">"," <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">"," </a>"," </div>",""," <div class=\"col-md-3 col-sm-6 mb-4\">"," <a href=\"#\">"," <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">"," </a>"," </div>",""," <div class=\"col-md-3 col-sm-6 mb-4\">"," <a href=\"#\">"," <img class=\"img-fluid\" src=\"http://placehold.it/500x300\" alt=\"\">"," </a>"," </div>",""," </div>"],"id":54,"ignore":true}],[{"start":{"row":68,"column":10},"end":{"row":70,"column":4},"action":"remove","lines":["",""," "],"id":55,"ignore":true}],[{"start":{"row":66,"column":14},"end":{"row":67,"column":0},"action":"remove","lines":["",""],"id":56,"ignore":true}],[{"start":{"row":8,"column":0},"end":{"row":68,"column":6},"action":"remove","lines":["<div class=\"container\">"," <div class=\"container\">"," <h1 class=\"my-5\">Bienvenue sur Bonsaiie !</h1>"," "," <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio,"," gravida pellentesque urna varius vitae. Sed dui lorem, adipiscing in adipiscing et,"," interdum nec metus. Mauris ultricies, justo eu convallis placerat, felis enim.</p>"," "," <p><a class=\"btn btn-primary btn-lg\" style=\"background-color: black;\" href=\"https://ar1.se/WTFDD9DZOL\" target=\"_blank\" role=\"button\">En savoir plus »</a></p>"," </div>"," "," "," <div class=\"row\">"," "," <div class=\"col-md-8\">"," <div id=\"carouselExampleIndicators\" class=\"carousel slide my-4\" data-ride=\"carousel\">"," <ol class=\"carousel-indicators\">"," <li data-target=\"#carouselExampleIndicators\" data-slide-to=\"0\" class=\"active\"></li>"," <li data-target=\"#carouselExampleIndicators\" data-slide-to=\"1\"></li>"," <li data-target=\"#carouselExampleIndicators\" data-slide-to=\"2\"></li>"," </ol>"," "," <div class=\"carousel-inner\" role=\"listbox\">"," <div class=\"carousel-item active\">"," <img class=\"d-block img-fluid\" src=\"http://placehold.it/900x350\" alt=\"First slide\">"," </div>"," <div class=\"carousel-item\">"," <img class=\"d-block img-fluid\" src=\"http://placehold.it/900x350\" alt=\"Second slide\">"," </div>"," <div class=\"carousel-item\">"," <img class=\"d-block img-fluid\" src=\"http://placehold.it/900x350\" alt=\"Third slide\">"," </div>"," </div>"," "," <a class=\"carousel-control-prev\" href=\"#carouselExampleIndicators\" role=\"button\" data-slide=\"prev\">"," <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>"," <span class=\"sr-only\">Previous</span>"," </a>"," "," <a class=\"carousel-control-next\" href=\"#carouselExampleIndicators\" role=\"button\" data-slide=\"next\">"," <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>"," <span class=\"sr-only\">Next</span>"," </a>"," </div>"," </div>"," "," <div class=\"col-md-4\">"," <h3 class=\"my-3\">Project Description</h3>"," <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio,"," gravida pellentesque urna varius vitae. Sed dui lorem, adipiscing in adipiscing et,"," interdum nec metus. Mauris ultricies, justo eu convallis placerat, felis enim.</p>"," <h3 class=\"my-3\">Project Details</h3>"," <ul>"," <li>Lorem Ipsum</li>"," <li>Dolor Sit Amet</li>"," <li>Consectetur</li>"," <li>Adipiscing Elit</li>"," </ul>"," </div>"," </div>","</div>"],"id":57,"ignore":true}],[{"start":{"row":8,"column":0},"end":{"row":9,"column":0},"action":"remove","lines":["",""],"id":58,"ignore":true}],[{"start":{"row":8,"column":0},"end":{"row":35,"column":15},"action":"insert","lines":["","","<div class=\"container\">","\t<div class=\"container\">","\t\t<h1 class=\"my-4\">Tout les produits</h1>","\t\t","\t\t<p>Retrouver sur cette page toutes les annonces des particulier cherchant à donner leurs produits</p>","\t\t","\t\t<p><a class=\"btn btn-primary btn-lg\" style=\"background-color: black;\" href=\"https://www.youtube.com/watch?v=-xSORIDw1Sg\" target=\"_blank\" role=\"button\">Surpriiiise »</a></p>","\t</div>","\t","\t<div class=\"row\">","\t@foreach ($products as $product)","\t\t<div class=\"col-lg-4 col-md-6 mb-4\">","\t\t\t<div class=\"card h-100\">","\t\t\t\t<a href=\"\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>","\t\t\t\t<div class=\"card-body\">","\t\t\t\t\t<h4 class=\"card-title\">","\t\t\t\t\t\t<a href=\"#\">{!!$product->title!!}</a>","\t\t\t\t \t</h4>","\t\t\t\t \t<p class=\"card-text\">{!!$product->description!!}</p>","\t\t\t\t \t{!!link_to_route('products.show', 'Voir', [$product->id], ['class' => 'btn btn-success btn-block'])!!}","\t\t\t\t</div>","\t\t\t</div>","\t\t</div>","\t@endforeach","\t</div>","\t{!! $links !!}"],"id":59,"ignore":true}],[{"start":{"row":35,"column":15},"end":{"row":36,"column":1},"action":"insert","lines":["","\t"],"id":60,"ignore":true}],[{"start":{"row":36,"column":1},"end":{"row":36,"column":3},"action":"insert","lines":["/d"],"id":61,"ignore":true}],[{"start":{"row":36,"column":3},"end":{"row":36,"column":4},"action":"insert","lines":["i"],"id":62,"ignore":true}],[{"start":{"row":36,"column":2},"end":{"row":36,"column":4},"action":"remove","lines":["di"],"id":63,"ignore":true},{"start":{"row":36,"column":2},"end":{"row":36,"column":13},"action":"insert","lines":["<div></div>"]}],[{"start":{"row":36,"column":4},"end":{"row":36,"column":7},"action":"remove","lines":["iv>"],"id":64,"ignore":true}],[{"start":{"row":36,"column":1},"end":{"row":36,"column":4},"action":"remove","lines":["/<d"],"id":65,"ignore":true}],[{"start":{"row":36,"column":0},"end":{"row":36,"column":1},"action":"remove","lines":["\t"],"id":66,"ignore":true}],[{"start":{"row":19,"column":0},"end":{"row":36,"column":6},"action":"remove","lines":["\t<div class=\"row\">","\t@foreach ($products as $product)","\t\t<div class=\"col-lg-4 col-md-6 mb-4\">","\t\t\t<div class=\"card h-100\">","\t\t\t\t<a href=\"\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>","\t\t\t\t<div class=\"card-body\">","\t\t\t\t\t<h4 class=\"card-title\">","\t\t\t\t\t\t<a href=\"#\">{!!$product->title!!}</a>","\t\t\t\t \t</h4>","\t\t\t\t \t<p class=\"card-text\">{!!$product->description!!}</p>","\t\t\t\t \t{!!link_to_route('products.show', 'Voir', [$product->id], ['class' => 'btn btn-success btn-block'])!!}","\t\t\t\t</div>","\t\t\t</div>","\t\t</div>","\t@endforeach","\t</div>","\t{!! $links !!}","</div>"],"id":67}],[{"start":{"row":12,"column":19},"end":{"row":12,"column":36},"action":"remove","lines":["Tout les produits"],"id":68},{"start":{"row":12,"column":19},"end":{"row":12,"column":20},"action":"insert","lines":["R"]}],[{"start":{"row":12,"column":20},"end":{"row":12,"column":21},"action":"insert","lines":["e"],"id":69}],[{"start":{"row":12,"column":21},"end":{"row":12,"column":22},"action":"insert","lines":["s"],"id":70}],[{"start":{"row":12,"column":22},"end":{"row":12,"column":23},"action":"insert","lines":["u"],"id":71}],[{"start":{"row":12,"column":22},"end":{"row":12,"column":23},"action":"remove","lines":["u"],"id":72}],[{"start":{"row":12,"column":21},"end":{"row":12,"column":22},"action":"remove","lines":["s"],"id":73}],[{"start":{"row":12,"column":20},"end":{"row":12,"column":21},"action":"remove","lines":["e"],"id":74}],[{"start":{"row":12,"column":20},"end":{"row":12,"column":21},"action":"insert","lines":["é"],"id":75}],[{"start":{"row":12,"column":21},"end":{"row":12,"column":22},"action":"insert","lines":["s"],"id":76}],[{"start":{"row":12,"column":22},"end":{"row":12,"column":23},"action":"insert","lines":["u"],"id":77}],[{"start":{"row":12,"column":23},"end":{"row":12,"column":24},"action":"insert","lines":["l"],"id":78}],[{"start":{"row":12,"column":24},"end":{"row":12,"column":25},"action":"insert","lines":["t"],"id":79}],[{"start":{"row":12,"column":25},"end":{"row":12,"column":26},"action":"insert","lines":["a"],"id":80}],[{"start":{"row":12,"column":26},"end":{"row":12,"column":27},"action":"insert","lines":["t"],"id":81}],[{"start":{"row":12,"column":27},"end":{"row":12,"column":28},"action":"insert","lines":[" "],"id":82}],[{"start":{"row":12,"column":28},"end":{"row":12,"column":29},"action":"insert","lines":["d"],"id":83}],[{"start":{"row":12,"column":29},"end":{"row":12,"column":30},"action":"insert","lines":["e"],"id":84}],[{"start":{"row":12,"column":30},"end":{"row":12,"column":31},"action":"insert","lines":[" "],"id":85}],[{"start":{"row":12,"column":31},"end":{"row":12,"column":32},"action":"insert","lines":["v"],"id":86}],[{"start":{"row":12,"column":32},"end":{"row":12,"column":33},"action":"insert","lines":["o"],"id":87}],[{"start":{"row":12,"column":33},"end":{"row":12,"column":34},"action":"insert","lines":["t"],"id":88}],[{"start":{"row":12,"column":34},"end":{"row":12,"column":35},"action":"insert","lines":["r"],"id":89}],[{"start":{"row":12,"column":35},"end":{"row":12,"column":36},"action":"insert","lines":["e"],"id":90}],[{"start":{"row":12,"column":36},"end":{"row":12,"column":37},"action":"insert","lines":[" "],"id":91}],[{"start":{"row":12,"column":37},"end":{"row":12,"column":38},"action":"insert","lines":["r"],"id":92}],[{"start":{"row":12,"column":38},"end":{"row":12,"column":39},"action":"insert","lines":["e"],"id":93}],[{"start":{"row":12,"column":39},"end":{"row":12,"column":40},"action":"insert","lines":["c"],"id":94}],[{"start":{"row":12,"column":40},"end":{"row":12,"column":41},"action":"insert","lines":["h"],"id":95}],[{"start":{"row":12,"column":41},"end":{"row":12,"column":42},"action":"insert","lines":["e"],"id":96}],[{"start":{"row":12,"column":42},"end":{"row":12,"column":43},"action":"insert","lines":["r"],"id":97}],[{"start":{"row":12,"column":43},"end":{"row":12,"column":44},"action":"insert","lines":["c"],"id":98}],[{"start":{"row":12,"column":44},"end":{"row":12,"column":45},"action":"insert","lines":["h"],"id":99}],[{"start":{"row":12,"column":45},"end":{"row":12,"column":46},"action":"insert","lines":["e"],"id":100}],[{"start":{"row":14,"column":1},"end":{"row":14,"column":103},"action":"remove","lines":["\t<p>Retrouver sur cette page toutes les annonces des particulier cherchant à donner leurs produits</p>"],"id":101}],[{"start":{"row":16,"column":1},"end":{"row":16,"column":180},"action":"remove","lines":["\t<p><a class=\"btn btn-primary btn-lg\" style=\"background-color: black;\" href=\"https://www.youtube.com/watch?v=-xSORIDw1Sg\" target=\"_blank\" role=\"button\">Surpriiiise »</a></p>"],"id":102}],[{"start":{"row":13,"column":2},"end":{"row":13,"column":29},"action":"insert","lines":["p>{!!$product->title!!}</p>"],"id":103}],[{"start":{"row":13,"column":2},"end":{"row":13,"column":3},"action":"insert","lines":["<"],"id":104}],[{"start":{"row":13,"column":2},"end":{"row":13,"column":30},"action":"remove","lines":["<p>{!!$product->title!!}</p>"],"id":105}],[{"start":{"row":13,"column":2},"end":{"row":13,"column":29},"action":"insert","lines":["p>{!!$product->title!!}</p>"],"id":106}],[{"start":{"row":13,"column":2},"end":{"row":13,"column":3},"action":"insert","lines":["<"],"id":107}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":13,"column":3},"end":{"row":13,"column":3},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511042794543,"hash":"243e2050a73607f171f6e03ed6f7f37bde5ba4bb"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/registery.blade.php b/workspace/.c9/metadata/workspace/resources/views/registery.blade.php new file mode 100644 index 0000000..6cad16a --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/registery.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"registery.blade.php","tooltip":"/resources/views/registery.blade.php","ace":{"folds":[],"scrolltop":312.1999999999999,"scrollleft":74.19999999999962,"selection":{"start":{"row":0,"column":21},"end":{"row":0,"column":21},"isBackwards":false},"options":{"tabSize":4,"useSoftTabs":false,"guessTabSize":false,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"hash":"7fa9c1f520306b5b6ee48802561a1125d61c7f71","undoManager":{"mark":-1,"position":-1,"stack":[]},"timestamp":1509579357362} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/seek.blade.php b/workspace/.c9/metadata/workspace/resources/views/seek.blade.php new file mode 100644 index 0000000..81bd673 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/seek.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"seek.blade.php","tooltip":"/resources/views/seek.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":18,"column":52},"end":{"row":18,"column":52},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511124920714,"hash":"51d8f65e31ce7c69004e4f9510d8081491610167"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/template/welcome.blade.php b/workspace/.c9/metadata/workspace/resources/views/template/welcome.blade.php new file mode 100644 index 0000000..3a20088 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/template/welcome.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"welcome.blade.php","tooltip":"/resources/views/template/welcome.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":13,"column":14},"end":{"row":13,"column":14},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509404754230,"hash":"09368256afbbccda81df56f9b18f959ccee7b0a3"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/test.blade.php b/workspace/.c9/metadata/workspace/resources/views/test.blade.php new file mode 100644 index 0000000..d98a925 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/test.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"test.blade.php","tooltip":"/resources/views/test.blade.php","undoManager":{"mark":0,"position":0,"stack":[[{"start":{"row":0,"column":0},"end":{"row":221,"column":0},"action":"insert","lines":["<!DOCTYPE html>","<html lang=\"en\">",""," <head>",""," <meta charset=\"utf-8\">"," <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\">"," <meta name=\"description\" content=\"\">"," <meta name=\"author\" content=\"\">",""," <title>Shop Homepage - Start Bootstrap Template</title>",""," <!-- Bootstrap core CSS -->"," <link href=\"vendor/bootstrap/css/bootstrap.min.css\" rel=\"stylesheet\">",""," <!-- Custom styles for this template -->"," <link href=\"css/shop-homepage.css\" rel=\"stylesheet\">",""," </head>",""," <body>",""," <!-- Navigation -->"," <nav class=\"navbar navbar-expand-lg navbar-dark bg-dark fixed-top\">"," <div class=\"container\">"," <a class=\"navbar-brand\" href=\"#\">Start Bootstrap</a>"," <button class=\"navbar-toggler\" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbarResponsive\" aria-controls=\"navbarResponsive\" aria-expanded=\"false\" aria-label=\"Toggle navigation\">"," <span class=\"navbar-toggler-icon\"></span>"," </button>"," <div class=\"collapse navbar-collapse\" id=\"navbarResponsive\">"," <ul class=\"navbar-nav ml-auto\">"," <li class=\"nav-item active\">"," <a class=\"nav-link\" href=\"#\">Home"," <span class=\"sr-only\">(current)</span>"," </a>"," </li>"," <li class=\"nav-item\">"," <a class=\"nav-link\" href=\"#\">About</a>"," </li>"," <li class=\"nav-item\">"," <a class=\"nav-link\" href=\"#\">Services</a>"," </li>"," <li class=\"nav-item\">"," <a class=\"nav-link\" href=\"#\">Contact</a>"," </li>"," </ul>"," </div>"," </div>"," </nav>",""," <!-- Page Content -->"," <div class=\"container\">",""," <div class=\"row\">",""," <div class=\"col-lg-3\">",""," <h1 class=\"my-4\">Shop Name</h1>"," <div class=\"list-group\">"," <a href=\"#\" class=\"list-group-item\">Category 1</a>"," <a href=\"#\" class=\"list-group-item\">Category 2</a>"," <a href=\"#\" class=\"list-group-item\">Category 3</a>"," </div>",""," </div>"," <!-- /.col-lg-3 -->",""," <div class=\"col-lg-9\">",""," <div id=\"carouselExampleIndicators\" class=\"carousel slide my-4\" data-ride=\"carousel\">"," <ol class=\"carousel-indicators\">"," <li data-target=\"#carouselExampleIndicators\" data-slide-to=\"0\" class=\"active\"></li>"," <li data-target=\"#carouselExampleIndicators\" data-slide-to=\"1\"></li>"," <li data-target=\"#carouselExampleIndicators\" data-slide-to=\"2\"></li>"," </ol>"," <div class=\"carousel-inner\" role=\"listbox\">"," <div class=\"carousel-item active\">"," <img class=\"d-block img-fluid\" src=\"http://placehold.it/900x350\" alt=\"First slide\">"," </div>"," <div class=\"carousel-item\">"," <img class=\"d-block img-fluid\" src=\"http://placehold.it/900x350\" alt=\"Second slide\">"," </div>"," <div class=\"carousel-item\">"," <img class=\"d-block img-fluid\" src=\"http://placehold.it/900x350\" alt=\"Third slide\">"," </div>"," </div>"," <a class=\"carousel-control-prev\" href=\"#carouselExampleIndicators\" role=\"button\" data-slide=\"prev\">"," <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>"," <span class=\"sr-only\">Previous</span>"," </a>"," <a class=\"carousel-control-next\" href=\"#carouselExampleIndicators\" role=\"button\" data-slide=\"next\">"," <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>"," <span class=\"sr-only\">Next</span>"," </a>"," </div>",""," <div class=\"row\">",""," <div class=\"col-lg-4 col-md-6 mb-4\">"," <div class=\"card h-100\">"," <a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>"," <div class=\"card-body\">"," <h4 class=\"card-title\">"," <a href=\"#\">Item One</a>"," </h4>"," <h5>$24.99</h5>"," <p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>"," </div>"," <div class=\"card-footer\">"," <small class=\"text-muted\">★ ★ ★ ★ ☆</small>"," </div>"," </div>"," </div>",""," <div class=\"col-lg-4 col-md-6 mb-4\">"," <div class=\"card h-100\">"," <a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>"," <div class=\"card-body\">"," <h4 class=\"card-title\">"," <a href=\"#\">Item Two</a>"," </h4>"," <h5>$24.99</h5>"," <p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur! Lorem ipsum dolor sit amet.</p>"," </div>"," <div class=\"card-footer\">"," <small class=\"text-muted\">★ ★ ★ ★ ☆</small>"," </div>"," </div>"," </div>",""," <div class=\"col-lg-4 col-md-6 mb-4\">"," <div class=\"card h-100\">"," <a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>"," <div class=\"card-body\">"," <h4 class=\"card-title\">"," <a href=\"#\">Item Three</a>"," </h4>"," <h5>$24.99</h5>"," <p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>"," </div>"," <div class=\"card-footer\">"," <small class=\"text-muted\">★ ★ ★ ★ ☆</small>"," </div>"," </div>"," </div>",""," <div class=\"col-lg-4 col-md-6 mb-4\">"," <div class=\"card h-100\">"," <a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>"," <div class=\"card-body\">"," <h4 class=\"card-title\">"," <a href=\"#\">Item Four</a>"," </h4>"," <h5>$24.99</h5>"," <p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>"," </div>"," <div class=\"card-footer\">"," <small class=\"text-muted\">★ ★ ★ ★ ☆</small>"," </div>"," </div>"," </div>",""," <div class=\"col-lg-4 col-md-6 mb-4\">"," <div class=\"card h-100\">"," <a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>"," <div class=\"card-body\">"," <h4 class=\"card-title\">"," <a href=\"#\">Item Five</a>"," </h4>"," <h5>$24.99</h5>"," <p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur! Lorem ipsum dolor sit amet.</p>"," </div>"," <div class=\"card-footer\">"," <small class=\"text-muted\">★ ★ ★ ★ ☆</small>"," </div>"," </div>"," </div>",""," <div class=\"col-lg-4 col-md-6 mb-4\">"," <div class=\"card h-100\">"," <a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>"," <div class=\"card-body\">"," <h4 class=\"card-title\">"," <a href=\"#\">Item Six</a>"," </h4>"," <h5>$24.99</h5>"," <p class=\"card-text\">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p>"," </div>"," <div class=\"card-footer\">"," <small class=\"text-muted\">★ ★ ★ ★ ☆</small>"," </div>"," </div>"," </div>",""," </div>"," <!-- /.row -->",""," </div>"," <!-- /.col-lg-9 -->",""," </div>"," <!-- /.row -->",""," </div>"," <!-- /.container -->",""," <!-- Footer -->"," <footer class=\"py-5 bg-dark\">"," <div class=\"container\">"," <p class=\"m-0 text-center text-white\">Copyright © Your Website 2017</p>"," </div>"," <!-- /.container -->"," </footer>",""," <!-- Bootstrap core JavaScript -->"," <script src=\"vendor/jquery/jquery.min.js\"></script>"," <script src=\"vendor/bootstrap/js/bootstrap.bundle.min.js\"></script>",""," </body>","","</html>",""],"id":1}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":221,"column":0},"end":{"row":221,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1508956769102,"hash":"3a83d569a3580ab072011020a3f7dd5da26249b2"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/testVente.blade.php b/workspace/.c9/metadata/workspace/resources/views/testVente.blade.php new file mode 100644 index 0000000..fdcfb22 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/testVente.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"testVente.blade.php","tooltip":"/resources/views/testVente.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":186,"column":17},"end":{"row":186,"column":17},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509068872592,"hash":"3a83d569a3580ab072011020a3f7dd5da26249b2"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/testVoisins.blade.php b/workspace/.c9/metadata/workspace/resources/views/testVoisins.blade.php new file mode 100644 index 0000000..f2676fc --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/testVoisins.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"testVoisins.blade.php","tooltip":"/resources/views/testVoisins.blade.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":55,"column":35},"end":{"row":55,"column":36},"action":"remove","lines":["s"],"id":56}],[{"start":{"row":55,"column":34},"end":{"row":55,"column":35},"action":"remove","lines":["i"],"id":57}],[{"start":{"row":55,"column":33},"end":{"row":55,"column":34},"action":"remove","lines":["d"],"id":58}],[{"start":{"row":12,"column":4},"end":{"row":13,"column":57},"action":"remove","lines":["<!-- Bootstrap core CSS -->"," <link href=\"/css/bootstrap.min.css\" rel=\"stylesheet\">"],"id":75},{"start":{"row":12,"column":4},"end":{"row":19,"column":55},"action":"insert","lines":["<!-- Font Awesome -->"," <link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/font-awesome/4.6.0/css/font-awesome.min.css\">"," "," <!-- Bootstrap core CSS -->"," <link rel=\"stylesheet\" href=\"/css/bootstrap.min.css\">"," "," <!-- Material Design Bootstrap -->"," <link rel=\"stylesheet\" href=\"/css/mdb.min.css\">"]}],[{"start":{"row":19,"column":6},"end":{"row":19,"column":8},"action":"remove","lines":[" "],"id":76}],[{"start":{"row":19,"column":4},"end":{"row":19,"column":6},"action":"remove","lines":[" "],"id":77}],[{"start":{"row":18,"column":6},"end":{"row":18,"column":8},"action":"remove","lines":[" "],"id":78}],[{"start":{"row":17,"column":4},"end":{"row":17,"column":6},"action":"remove","lines":[" "],"id":79}],[{"start":{"row":18,"column":4},"end":{"row":18,"column":6},"action":"remove","lines":[" "],"id":80}],[{"start":{"row":16,"column":4},"end":{"row":16,"column":6},"action":"remove","lines":[" "],"id":81}],[{"start":{"row":16,"column":4},"end":{"row":16,"column":6},"action":"remove","lines":[" "],"id":82}],[{"start":{"row":15,"column":4},"end":{"row":15,"column":6},"action":"remove","lines":[" "],"id":83}],[{"start":{"row":15,"column":4},"end":{"row":15,"column":6},"action":"remove","lines":[" "],"id":84}],[{"start":{"row":13,"column":4},"end":{"row":13,"column":6},"action":"remove","lines":[" "],"id":85}],[{"start":{"row":13,"column":4},"end":{"row":13,"column":6},"action":"remove","lines":[" "],"id":98}],[{"start":{"row":41,"column":16},"end":{"row":41,"column":82},"action":"insert","lines":["navbar navbar-toggleable-sm nav-perso-color navbar-light fixed-top"],"id":99}],[{"start":{"row":41,"column":82},"end":{"row":41,"column":83},"action":"insert","lines":[" "],"id":100}],[{"start":{"row":41,"column":83},"end":{"row":41,"column":89},"action":"remove","lines":["navbar"],"id":101}],[{"start":{"row":41,"column":82},"end":{"row":41,"column":83},"action":"remove","lines":[" "],"id":102}],[{"start":{"row":41,"column":44},"end":{"row":41,"column":73},"action":"remove","lines":["nav-perso-color navbar-light "],"id":103}],[{"start":{"row":41,"column":44},"end":{"row":41,"column":53},"action":"remove","lines":["fixed-top"],"id":104}],[{"start":{"row":41,"column":43},"end":{"row":41,"column":44},"action":"remove","lines":[" "],"id":106}],[{"start":{"row":41,"column":23},"end":{"row":41,"column":43},"action":"remove","lines":["navbar-toggleable-sm"],"id":107}],[{"start":{"row":41,"column":22},"end":{"row":41,"column":23},"action":"remove","lines":[" "],"id":108}],[{"start":{"row":0,"column":0},"end":{"row":36,"column":9},"action":"remove","lines":["<!DOCTYPE html>","<html lang=\"en\">",""," <head>",""," <meta charset=\"utf-8\">"," <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\">"," <meta name=\"description\" content=\"\">"," <meta name=\"author\" content=\"\">",""," <title>Portfolio Item - Start Bootstrap Template</title>",""," <!-- Font Awesome -->"," <link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/font-awesome/4.6.0/css/font-awesome.min.css\">"," "," <!-- Bootstrap core CSS -->"," <link rel=\"stylesheet\" href=\"/css/bootstrap.min.css\">"," "," <!-- Material Design Bootstrap -->"," <link rel=\"stylesheet\" href=\"/css/mdb.min.css\">",""," <!-- Custom styles for this template "," <link href=\"/css/portfolio-item.css\" rel=\"stylesheet\"> -->"," "," <style type=\"text/css\">"," body {"," padding-top: 54px;"," }"," "," @media (min-width: 992px) {"," body {"," padding-top: 56px;"," }"," }"," </style>",""," </head>"],"id":110}],[{"start":{"row":0,"column":0},"end":{"row":0,"column":16},"action":"insert","lines":["@extends('head')"],"id":111}],[{"start":{"row":0,"column":16},"end":{"row":1,"column":0},"action":"insert","lines":["",""],"id":112}],[{"start":{"row":1,"column":0},"end":{"row":2,"column":0},"action":"insert","lines":["",""],"id":113}],[{"start":{"row":2,"column":0},"end":{"row":2,"column":1},"action":"insert","lines":["@"],"id":114}],[{"start":{"row":2,"column":1},"end":{"row":2,"column":2},"action":"insert","lines":["s"],"id":115}],[{"start":{"row":2,"column":2},"end":{"row":2,"column":3},"action":"insert","lines":["e"],"id":116}],[{"start":{"row":2,"column":3},"end":{"row":2,"column":4},"action":"insert","lines":["c"],"id":117}],[{"start":{"row":2,"column":4},"end":{"row":2,"column":5},"action":"insert","lines":["t"],"id":118}],[{"start":{"row":2,"column":5},"end":{"row":2,"column":6},"action":"insert","lines":["i"],"id":119}],[{"start":{"row":2,"column":6},"end":{"row":2,"column":7},"action":"insert","lines":["o"],"id":120}],[{"start":{"row":2,"column":7},"end":{"row":2,"column":8},"action":"insert","lines":["n"],"id":121}],[{"start":{"row":2,"column":8},"end":{"row":2,"column":9},"action":"insert","lines":["("],"id":122}],[{"start":{"row":2,"column":9},"end":{"row":2,"column":10},"action":"insert","lines":["'"],"id":123}],[{"start":{"row":2,"column":10},"end":{"row":2,"column":11},"action":"insert","lines":["b"],"id":124}],[{"start":{"row":2,"column":11},"end":{"row":2,"column":12},"action":"insert","lines":["o"],"id":125}],[{"start":{"row":2,"column":12},"end":{"row":2,"column":13},"action":"insert","lines":["d"],"id":126}],[{"start":{"row":2,"column":13},"end":{"row":2,"column":14},"action":"insert","lines":["y"],"id":127}],[{"start":{"row":2,"column":14},"end":{"row":2,"column":15},"action":"insert","lines":["'"],"id":128}],[{"start":{"row":2,"column":15},"end":{"row":2,"column":16},"action":"insert","lines":["à"],"id":129}],[{"start":{"row":2,"column":15},"end":{"row":2,"column":16},"action":"remove","lines":["à"],"id":130}],[{"start":{"row":2,"column":15},"end":{"row":2,"column":16},"action":"insert","lines":[")"],"id":131}],[{"start":{"row":106,"column":0},"end":{"row":106,"column":1},"action":"insert","lines":["@"],"id":132}],[{"start":{"row":106,"column":1},"end":{"row":106,"column":2},"action":"insert","lines":["e"],"id":133}],[{"start":{"row":106,"column":2},"end":{"row":106,"column":3},"action":"insert","lines":["n"],"id":134}],[{"start":{"row":106,"column":3},"end":{"row":106,"column":4},"action":"insert","lines":["d"],"id":135}],[{"start":{"row":106,"column":4},"end":{"row":106,"column":5},"action":"insert","lines":["s"],"id":136}],[{"start":{"row":106,"column":5},"end":{"row":106,"column":6},"action":"insert","lines":["e"],"id":137}],[{"start":{"row":106,"column":6},"end":{"row":106,"column":7},"action":"insert","lines":["c"],"id":138}],[{"start":{"row":106,"column":7},"end":{"row":106,"column":8},"action":"insert","lines":["t"],"id":139}],[{"start":{"row":106,"column":8},"end":{"row":106,"column":9},"action":"insert","lines":["i"],"id":140}],[{"start":{"row":106,"column":9},"end":{"row":106,"column":10},"action":"insert","lines":["o"],"id":141}],[{"start":{"row":106,"column":10},"end":{"row":106,"column":11},"action":"insert","lines":["n"],"id":142}],[{"start":{"row":106,"column":11},"end":{"row":114,"column":0},"action":"remove","lines":[""," <!-- Bootstrap core JavaScript -->"," <script src=\"/jquery/jquery.min.js\"></script>"," <script src=\"/js/bootstrap.bundle.min.js\"></script>",""," </body>","","</html>",""],"id":143}],[{"start":{"row":105,"column":13},"end":{"row":106,"column":0},"action":"insert","lines":["",""],"id":144},{"start":{"row":106,"column":0},"end":{"row":106,"column":4},"action":"insert","lines":[" "]}],[{"start":{"row":106,"column":0},"end":{"row":106,"column":4},"action":"remove","lines":[" "],"id":145}],[{"start":{"row":0,"column":14},"end":{"row":0,"column":15},"action":"insert","lines":["1"],"id":146}],[{"start":{"row":0,"column":14},"end":{"row":0,"column":15},"action":"insert","lines":["e"],"id":147}],[{"start":{"row":0,"column":15},"end":{"row":0,"column":16},"action":"insert","lines":["r"],"id":148}],[{"start":{"row":0,"column":15},"end":{"row":0,"column":16},"action":"remove","lines":["r"],"id":149}],[{"start":{"row":0,"column":14},"end":{"row":0,"column":15},"action":"remove","lines":["e"],"id":150}],[{"start":{"row":0,"column":13},"end":{"row":0,"column":14},"action":"remove","lines":["d"],"id":151}],[{"start":{"row":0,"column":13},"end":{"row":0,"column":14},"action":"insert","lines":["d"],"id":152}],[{"start":{"row":7,"column":3},"end":{"row":32,"column":10},"action":"remove","lines":[" <nav class=\"navbar navbar-expand-lg navbar-dark bg-dark fixed-top\">"," <div class=\"container\">"," <a class=\"navbar-brand\" href=\"#\">Start Bootstrap</a>"," <button class=\"navbar-toggler\" type=\"button\" data-toggle=\"collapse\" data-target=\"#navbarResponsive\" aria-controls=\"navbarResponsive\" aria-expanded=\"false\" aria-label=\"Toggle navigation\">"," <span class=\"navbar-toggler-icon\"></span>"," </button>"," <div class=\"collapse navbar-collapse\" id=\"navbarResponsive\">"," <ul class=\"navbar-nav ml-auto\">"," <li class=\"nav-item active\">"," <a class=\"nav-link\" href=\"#\">Home"," <span class=\"sr-only\">(current)</span>"," </a>"," </li>"," <li class=\"nav-item\">"," <a class=\"nav-link\" href=\"#\">About</a>"," </li>"," <li class=\"nav-item\">"," <a class=\"nav-link\" href=\"#\">Services</a>"," </li>"," <li class=\"nav-item\">"," <a class=\"nav-link \" href=\"#\">Contact</a>"," </li>"," </ul>"," </div>"," </div>"," </nav>"],"id":153}],[{"start":{"row":0,"column":14},"end":{"row":0,"column":15},"action":"insert","lines":["e"],"id":154}],[{"start":{"row":0,"column":15},"end":{"row":0,"column":16},"action":"insert","lines":["r"],"id":155}],[{"start":{"row":13,"column":23},"end":{"row":13,"column":35},"action":"remove","lines":["Page Heading"],"id":156},{"start":{"row":13,"column":23},"end":{"row":13,"column":24},"action":"insert","lines":["B"]}],[{"start":{"row":13,"column":24},"end":{"row":13,"column":25},"action":"insert","lines":["i"],"id":157}],[{"start":{"row":13,"column":25},"end":{"row":13,"column":26},"action":"insert","lines":["e"],"id":158}],[{"start":{"row":13,"column":26},"end":{"row":13,"column":27},"action":"insert","lines":["n"],"id":159}],[{"start":{"row":13,"column":27},"end":{"row":13,"column":28},"action":"insert","lines":["v"],"id":160}],[{"start":{"row":13,"column":28},"end":{"row":13,"column":29},"action":"insert","lines":["e"],"id":161}],[{"start":{"row":13,"column":29},"end":{"row":13,"column":30},"action":"insert","lines":["n"],"id":162}],[{"start":{"row":13,"column":30},"end":{"row":13,"column":31},"action":"insert","lines":["u"],"id":163}],[{"start":{"row":13,"column":31},"end":{"row":13,"column":32},"action":"insert","lines":["e"],"id":164}],[{"start":{"row":13,"column":32},"end":{"row":13,"column":33},"action":"insert","lines":[" "],"id":165}],[{"start":{"row":13,"column":33},"end":{"row":13,"column":34},"action":"insert","lines":["s"],"id":166}],[{"start":{"row":13,"column":34},"end":{"row":13,"column":35},"action":"insert","lines":["u"],"id":167}],[{"start":{"row":13,"column":35},"end":{"row":13,"column":36},"action":"insert","lines":["r"],"id":168}],[{"start":{"row":13,"column":36},"end":{"row":13,"column":37},"action":"insert","lines":[" "],"id":169}],[{"start":{"row":13,"column":37},"end":{"row":13,"column":38},"action":"insert","lines":["B"],"id":170}],[{"start":{"row":13,"column":38},"end":{"row":13,"column":39},"action":"insert","lines":["o"],"id":171}],[{"start":{"row":13,"column":39},"end":{"row":13,"column":40},"action":"insert","lines":["n"],"id":172}],[{"start":{"row":13,"column":40},"end":{"row":13,"column":41},"action":"insert","lines":["s"],"id":173}],[{"start":{"row":13,"column":41},"end":{"row":13,"column":42},"action":"insert","lines":["a"],"id":174}],[{"start":{"row":13,"column":42},"end":{"row":13,"column":43},"action":"insert","lines":["i"],"id":175}],[{"start":{"row":13,"column":43},"end":{"row":13,"column":44},"action":"insert","lines":["i"],"id":176}],[{"start":{"row":13,"column":44},"end":{"row":13,"column":45},"action":"insert","lines":["e"],"id":177}],[{"start":{"row":13,"column":45},"end":{"row":13,"column":46},"action":"insert","lines":["!"],"id":178}],[{"start":{"row":13,"column":45},"end":{"row":13,"column":46},"action":"insert","lines":[" "],"id":179}],[{"start":{"row":14,"column":8},"end":{"row":14,"column":37},"action":"remove","lines":["<small>Secondary Text</small>"],"id":180}],[{"start":{"row":14,"column":4},"end":{"row":14,"column":8},"action":"remove","lines":[" "],"id":181}],[{"start":{"row":14,"column":0},"end":{"row":14,"column":4},"action":"remove","lines":[" "],"id":182}],[{"start":{"row":13,"column":47},"end":{"row":14,"column":0},"action":"remove","lines":["",""],"id":183}],[{"start":{"row":13,"column":47},"end":{"row":14,"column":5},"action":"remove","lines":[""," "],"id":184}],[{"start":{"row":13,"column":47},"end":{"row":13,"column":48},"action":"remove","lines":[" "],"id":185}],[{"start":{"row":73,"column":4},"end":{"row":78,"column":13},"action":"remove","lines":["<footer class=\"py-5 bg-dark\">"," <div class=\"container\">"," <p class=\"m-0 text-center text-white\">Copyright © Your Website 2017</p>"," </div>"," <!-- /.container -->"," </footer>"],"id":186}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":45,"column":14},"end":{"row":45,"column":14},"isBackwards":false},"options":{"tabSize":4,"useSoftTabs":true,"guessTabSize":false,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509048656626,"hash":"6f92762ecd4112844718e9aab09cdd96117b6fbb"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/user/user_create.blade.php b/workspace/.c9/metadata/workspace/resources/views/user/user_create.blade.php new file mode 100644 index 0000000..6d63932 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/user/user_create.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"user_create.blade.php","tooltip":"/resources/views/user/user_create.blade.php","undoManager":{"mark":4,"position":4,"stack":[[{"start":{"row":5,"column":0},"end":{"row":138,"column":0},"action":"remove","lines":["","@section('content')","<div class=\"container\">","\t<div class=\"row\">","\t\t<div class=\"text-center col-lg-12\">","\t\t\t<h1 class=\"my-4\">Déposez votre annonce</h1>","\t\t</div>","\t</div>","\t","\t<div class=\"row\">","\t\t<div class=\"col-lg-4\"></div>","\t\t<div class=\"panel panel-info jumbotron col-lg-4\">","\t\t\t<div class=\"panel-body\">","\t\t\t\t<form class=\"form-horizontal\" role=\"form\" method=\"POST\" action=\"{{ url('products') }}\">"," {{ csrf_field() }}",""," <div class=\"form-group{{ $errors->has('title') ? ' has-error' : '' }}\">"," <input id=\"title\" type=\"text\" class=\"form-control\" name=\"title\" value=\"{{ old('title') }}\" placeholder=\"Titre de l'annonce\">",""," @if ($errors->has('title'))"," <span class=\"help-block\">"," <i class=\"indication\">{{ $errors->first('title') }}</i>"," </span>"," @endif"," </div>"," "," <div class=\"form-group{{ $errors->has('email') ? ' has-error' : '' }}\">"," <input id=\"email\" type=\"email\" class=\"form-control\" name=\"email\" value=\"{{ old('email') }}\" placeholder=\"Email\">",""," @if ($errors->has('email'))"," <span class=\"help-block\">"," <i class=\"indication\">{{ $errors->first('email') }}</i>"," </span>"," @endif"," </div>"," <!-- https://www.w3schools.com/html/html_form_input_types.asp -->"," <div class=\"form-group{{ $errors->has('address_number') ? ' has-error' : '' }}\">"," <input id=\"address_number\" type=\"number\" min=\"1\" class=\"form-control\" name=\"address_number\" value=\"{{ old('address_number') }}\" placeholder=\"n°\">",""," @if ($errors->has('address_number'))"," <span class=\"help-block\">"," <i class=\"indication\">{{ $errors->first('address_number') }}</i>"," </span>"," @endif"," </div>"," "," <div class=\"form-group{{ $errors->has('address_street') ? ' has-error' : '' }}\">"," <input id=\"address_street\" type=\"text\" class=\"form-control\" name=\"address_street\" value=\"{{ old('address_street') }}\" placeholder=\"Rue\">",""," @if ($errors->has('address_street'))"," <span class=\"help-block\">"," <i class=\"indication\">{{ $errors->first('address_street') }}</i>"," </span>"," @endif"," </div>"," "," <div class=\"form-group{{ $errors->has('address_city') ? ' has-error' : '' }}\">"," <input id=\"address_city\" type=\"text\" class=\"form-control\" name=\"address_city\" value=\"{{ old('address_city') }}\" placeholder=\"Ville\">",""," @if ($errors->has('address_city'))"," <span class=\"help-block\">"," <i class=\"indication\">{{ $errors->first('address_city') }}</i>"," </span>"," @endif"," </div>"," "," <div class=\"form-group{{ $errors->has('postal_code') ? ' has-error' : '' }}\">"," <input id=\"postal_code\" type=\"number\" min=\"0\" class=\"form-control\" name=\"postal_code\" value=\"{{ old('postal_code') }}\" placeholder=\"CP\">",""," @if ($errors->has('postal_code'))"," <span class=\"help-block\">"," <i class=\"indication\">{{ $errors->first('postal_code') }}</i>"," </span>"," @endif"," </div>"," "," <div class=\"form-group\">"," <textarea id=\"description\" type=\"text\" class=\"form-control\" name=\"description\" value=\"{{ old('description') }}\" placeholder=\"Description\"></textarea>"," </div>"," "," <div class=\"form-group{{ $errors->has('expire_at') ? ' has-error' : '' }}\">"," <input id=\"expire_at\" type=\"date\" class=\"form-control\" name=\"expire_at\" value=\"{{ old('expire_at') }}\" placeholder=\"Date d'expiration\">",""," @if ($errors->has('expire_at'))"," <span class=\"help-block\">"," <i class=\"indication\">{{ $errors->first('expire_at') }}</i>"," </span>"," @endif"," </div>"," "," <div class=\"form-group{{ $errors->has('category') ? ' has-error' : '' }}\">"," <!--Ajouter : {frais, viande, produits laitier}-->"," Catégorie: "," <select id=\"category\" class=\"form-control\" name=\"category\" value=\"{{ old('category') }}\">"," <option value=\"fruit\">fruit</option>"," <option value=\"vegetable\">légume</option>"," <option value=\"starchy\">féculent</option>"," <option value=\"homemade\">fait maison</option>"," <option value=\"fish\">poisson</option>"," <option value=\"spices\">épices</option>"," <option value=\"sugar\">sucré</option>"," <option value=\"other\">autre</option>"," </select>"," "," <!-- <input type=\"date\" placeholder=\"Date d'expiration\"> -->",""," @if ($errors->has('category'))"," <span class=\"help-block\">"," <i class=\"indication\">{{ $errors->first('category') }}</i>"," </span>"," @endif"," </div>"," "," <div class=\"form-group\">"," <input id=\"vegan\" type=\"checkbox\" value=\"true\" class=\"mr-3\" name=\"vegan\"> Vegan"," </div>","\t\t\t\t","\t\t\t\t <div class=\"form-group mt-5\">"," <div class=\"col-md-6 col-md-offset-4\">"," <button type=\"submit\" class=\"btn btn-primary\">"," <i class=\"fa fa-btn\"></i> Valider"," </button>"," </div>"," </div>"," "," </form>","\t\t\t</div>","\t\t</div>","\t\t<div class=\"col-lg-4\"></div>","\t</div>","</div>","","@endsection",""],"id":2},{"start":{"row":5,"column":0},"end":{"row":46,"column":11},"action":"insert","lines":["@extends('template')","","@section('contenu')","\t<div class=\"col-sm-offset-4 col-sm-4\">","\t\t<br>","\t\t<div class=\"panel panel-primary\">\t","\t\t\t<div class=\"panel-heading\">Création d'un utilisateur</div>","\t\t\t<div class=\"panel-body\"> ","\t\t\t\t<div class=\"col-sm-12\">","\t\t\t\t\t{!! Form::open(['route' => 'user.store', 'class' => 'form-horizontal panel']) !!}\t","\t\t\t\t\t<div class=\"form-group {!! $errors->has('name') ? 'has-error' : '' !!}\">","\t\t\t\t\t\t{!! Form::text('name', null, ['class' => 'form-control', 'placeholder' => 'Nom']) !!}","\t\t\t\t\t\t{!! $errors->first('name', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<div class=\"form-group {!! $errors->has('email') ? 'has-error' : '' !!}\">","\t\t\t\t\t\t{!! Form::email('email', null, ['class' => 'form-control', 'placeholder' => 'Email']) !!}","\t\t\t\t\t\t{!! $errors->first('name', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<div class=\"form-group {!! $errors->has('password') ? 'has-error' : '' !!}\">","\t\t\t\t\t\t{!! Form::password('password', ['class' => 'form-control', 'placeholder' => 'Mot de passe']) !!}","\t\t\t\t\t\t{!! $errors->first('password', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<div class=\"form-group\">","\t\t\t\t\t\t{!! Form::password('password_confirmation', ['class' => 'form-control', 'placeholder' => 'Confirmation mot de passe']) !!}","\t\t\t\t\t</div>","\t\t\t\t\t<div class=\"form-group\">","\t\t\t\t\t\t<div class=\"checkbox\">","\t\t\t\t\t\t\t<label>","\t\t\t\t\t\t\t\t{!! Form::checkbox('admin', 1, null) !!} Administrateur","\t\t\t\t\t\t\t</label>","\t\t\t\t\t\t</div>","\t\t\t\t\t</div>","\t\t\t\t\t{!! Form::submit('Envoyer', ['class' => 'btn btn-primary pull-right']) !!}","\t\t\t\t\t{!! Form::close() !!}","\t\t\t\t</div>","\t\t\t</div>","\t\t</div>","\t\t<a href=\"javascript:history.back()\" class=\"btn btn-primary\">","\t\t\t<span class=\"glyphicon glyphicon-circle-arrow-left\"></span> Retour","\t\t</a>","\t</div>","@endsection"]}],[{"start":{"row":7,"column":16},"end":{"row":7,"column":17},"action":"remove","lines":["u"],"id":3}],[{"start":{"row":7,"column":16},"end":{"row":7,"column":17},"action":"insert","lines":["t"],"id":4}],[{"start":{"row":5,"column":0},"end":{"row":5,"column":20},"action":"remove","lines":["@extends('template')"],"id":5}],[{"start":{"row":5,"column":0},"end":{"row":6,"column":0},"action":"remove","lines":["",""],"id":6}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":10,"column":61},"end":{"row":10,"column":61},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511144899779,"hash":"f6a6d67352fd65ac821ab8f8852cef620b82daf9"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/user/user_edit.php b/workspace/.c9/metadata/workspace/resources/views/user/user_edit.php new file mode 100644 index 0000000..9b84070 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/user/user_edit.php @@ -0,0 +1 @@ +{"changed":false,"filter":false,"title":"user_edit.php","tooltip":"/resources/views/user/user_edit.php","undoManager":{"mark":22,"position":22,"stack":[[{"start":{"row":6,"column":0},"end":{"row":77,"column":0},"action":"remove","lines":["","@section('content')","","<div class=\"container mb-5\">","\t<div class=\"row\">","\t\t<div class=\"text-center col-lg-12\">","\t\t\t<h1 class=\"my-5\">Connexion</h1>","\t\t</div>","\t</div>","\t","\t<div class=\"row\">","\t\t<div class=\"col-lg-4\"></div>","\t\t<div class=\"panel panel-info jumbotron col-lg-4\">","\t\t\t<div class=\"panel-body\">","\t\t\t\t<!-- Formulaire d'inscription puis connexion en cours de création TODO -->","\t\t\t\t","\t\t\t\t<!-- Vérif de l'adresse email -->","\t\t\t\t<form class=\"form-horizontal\" role=\"form\" method=\"POST\" action=\"{{ url('/login') }}\">"," {{ csrf_field() }}",""," <div class=\"form-group{{ $errors->has('name') ? ' has-error' : '' }}\">"," <input id=\"email\" type=\"email\" class=\"form-control\" "," name=\"email\" value=\"{{ old('email') }}\" placeholder=\"email\">"," @if ($errors->has('email'))"," <span class=\"help-block\">"," <strong>{{ $errors->first('email') }}</strong>"," </span>"," @endif"," </div>"," "," <!-- Vérif du mot de passe -->"," <div class=\"form-group{{ $errors->has('password') ? ' has-error' : '' }}\">"," "," <input id=\"password\" type=\"password\" class=\"form-control\" name=\"password\" placeholder=\"Mot de passe\">",""," @if ($errors->has('password'))"," <span class=\"help-block\">"," <strong>{{ $errors->first('password') }}</strong>"," </span>"," @endif"," </div>","\t\t\t\t\t","\t\t\t\t\t<div class=\"form-group\">"," <div class=\"col-lg-6 col-lg-offset-4\">"," <div class=\"checkbox\">"," <label>"," <input type=\"checkbox\" name=\"remember\"> Se rappeler de moi"," </label>"," </div>"," </div>"," </div>","\t\t\t\t\t","\t\t\t\t\t<div class=\"form-group\">"," <div class=\"col-lg-6 col-lg-offset-4\">"," <button type=\"submit\" class=\"btn btn-primary mb-5\">"," <i class=\"fa fa-btn fa-sign-in\"></i> Connexion"," </button>"," "," <a class=\"btn btn-link my-3\" href=\"{{ url('/register') }}\">Vous n'avez pas encore de compte?</a>"," "," <a class=\"btn btn-link\" href=\"{{ url('/password/reset') }}\">Vous avez oublié votre mot de passe?</a>"," </div>"," </div>","\t\t\t\t</form>","\t\t\t</div>","\t\t</div>","\t\t<div class=\"col-lg-4\"></div>","\t</div>","</div>","","@endsection",""],"id":42},{"start":{"row":6,"column":0},"end":{"row":145,"column":0},"action":"insert","lines":["@extends('layouts.app')","","@section('title')"," Dépot d'annonce","@endsection","","@section('content')","<div class=\"container\">","\t<div class=\"row\">","\t\t<div class=\"text-center col-lg-12\">","\t\t\t<h1 class=\"my-4\">Déposez votre annonce</h1>","\t\t</div>","\t</div>","\t","\t<div class=\"row\">","\t\t<div class=\"col-lg-4\"></div>","\t\t<div class=\"panel panel-info jumbotron col-lg-4\">","\t\t\t<div class=\"panel-body\">","\t\t\t\t<form class=\"form-horizontal\" role=\"form\" method=\"POST\" action=\"{{ url('products') }}\">"," {{ csrf_field() }}",""," <div class=\"form-group{{ $errors->has('title') ? ' has-error' : '' }}\">"," <input id=\"title\" type=\"text\" class=\"form-control\" name=\"title\" value=\"{{ old('title') }}\" placeholder=\"Titre de l'annonce\">",""," @if ($errors->has('title'))"," <span class=\"help-block\">"," <i class=\"indication\">{{ $errors->first('title') }}</i>"," </span>"," @endif"," </div>"," "," <div class=\"form-group{{ $errors->has('email') ? ' has-error' : '' }}\">"," <input id=\"email\" type=\"email\" class=\"form-control\" name=\"email\" value=\"{{ old('email') }}\" placeholder=\"Email\">",""," @if ($errors->has('email'))"," <span class=\"help-block\">"," <i class=\"indication\">{{ $errors->first('email') }}</i>"," </span>"," @endif"," </div>"," <!-- https://www.w3schools.com/html/html_form_input_types.asp -->"," <div class=\"form-group{{ $errors->has('address_number') ? ' has-error' : '' }}\">"," <input id=\"address_number\" type=\"number\" min=\"1\" class=\"form-control\" name=\"address_number\" value=\"{{ old('address_number') }}\" placeholder=\"n°\">",""," @if ($errors->has('address_number'))"," <span class=\"help-block\">"," <i class=\"indication\">{{ $errors->first('address_number') }}</i>"," </span>"," @endif"," </div>"," "," <div class=\"form-group{{ $errors->has('address_street') ? ' has-error' : '' }}\">"," <input id=\"address_street\" type=\"text\" class=\"form-control\" name=\"address_street\" value=\"{{ old('address_street') }}\" placeholder=\"Rue\">",""," @if ($errors->has('address_street'))"," <span class=\"help-block\">"," <i class=\"indication\">{{ $errors->first('address_street') }}</i>"," </span>"," @endif"," </div>"," "," <div class=\"form-group{{ $errors->has('address_city') ? ' has-error' : '' }}\">"," <input id=\"address_city\" type=\"text\" class=\"form-control\" name=\"address_city\" value=\"{{ old('address_city') }}\" placeholder=\"Ville\">",""," @if ($errors->has('address_city'))"," <span class=\"help-block\">"," <i class=\"indication\">{{ $errors->first('address_city') }}</i>"," </span>"," @endif"," </div>"," "," <div class=\"form-group{{ $errors->has('postal_code') ? ' has-error' : '' }}\">"," <input id=\"postal_code\" type=\"number\" min=\"0\" class=\"form-control\" name=\"postal_code\" value=\"{{ old('postal_code') }}\" placeholder=\"CP\">",""," @if ($errors->has('postal_code'))"," <span class=\"help-block\">"," <i class=\"indication\">{{ $errors->first('postal_code') }}</i>"," </span>"," @endif"," </div>"," "," <div class=\"form-group\">"," <textarea id=\"description\" type=\"text\" class=\"form-control\" name=\"description\" value=\"{{ old('description') }}\" placeholder=\"Description\">"," "," </textarea>"," </div>"," "," <div class=\"form-group{{ $errors->has('expire_at') ? ' has-error' : '' }}\">"," <input id=\"expire_at\" type=\"date\" class=\"form-control\" name=\"expire_at\" value=\"{{ old('expire_at') }}\" placeholder=\"Date d'expiration\">",""," @if ($errors->has('expire_at'))"," <span class=\"help-block\">"," <i class=\"indication\">{{ $errors->first('expire_at') }}</i>"," </span>"," @endif"," </div>"," "," <div class=\"form-group{{ $errors->has('category') ? ' has-error' : '' }}\">"," Catégorie: "," <select id=\"category\" class=\"form-control\" name=\"category\" value=\"{{ old('category') }}\">"," <option value=\"fruit\">fruit</option>"," <option value=\"vegetable\">légume</option>"," <option value=\"starchy\">féculent</option>"," <option value=\"homemade\">fait maison</option>"," <option value=\"fish\">poisson</option>"," <option value=\"spices\">épices</option>"," <option value=\"sugar\">sucré</option>"," <option value=\"other\">autre</option>"," </select>"," "," <!-- <input type=\"date\" placeholder=\"Date d'expiration\"> -->",""," @if ($errors->has('category'))"," <span class=\"help-block\">"," <i class=\"indication\">{{ $errors->first('category') }}</i>"," </span>"," @endif"," </div>"," "," <div class=\"form-group\">"," <input id=\"vegan\" type=\"checkbox\" value=\"true\" class=\"mr-3\" name=\"vegan\"> Vegan"," </div>","\t\t\t\t","\t\t\t\t <div class=\"form-group mt-5\">"," <div class=\"col-md-6 col-md-offset-4\">"," <button type=\"submit\" class=\"btn btn-primary\">"," <i class=\"fa fa-btn\"></i> Valider"," </button>"," </div>"," </div>"," "," </form>","\t\t\t</div>","\t\t</div>","\t\t<div class=\"col-lg-4\"></div>","\t</div>","</div>","","@endsection",""]}],[{"start":{"row":6,"column":0},"end":{"row":10,"column":11},"action":"remove","lines":["@extends('layouts.app')","","@section('title')"," Dépot d'annonce","@endsection"],"id":43}],[{"start":{"row":6,"column":0},"end":{"row":7,"column":0},"action":"remove","lines":["",""],"id":44}],[{"start":{"row":19,"column":77},"end":{"row":19,"column":84},"action":"remove","lines":["roducts"],"id":58}],[{"start":{"row":19,"column":76},"end":{"row":19,"column":77},"action":"remove","lines":["p"],"id":59}],[{"start":{"row":19,"column":76},"end":{"row":19,"column":77},"action":"insert","lines":["u"],"id":60}],[{"start":{"row":19,"column":77},"end":{"row":19,"column":78},"action":"insert","lines":["s"],"id":61}],[{"start":{"row":19,"column":78},"end":{"row":19,"column":79},"action":"insert","lines":["e"],"id":62}],[{"start":{"row":19,"column":79},"end":{"row":19,"column":80},"action":"insert","lines":["r"],"id":63}],[{"start":{"row":19,"column":80},"end":{"row":19,"column":81},"action":"insert","lines":["s"],"id":64}],[{"start":{"row":6,"column":0},"end":{"row":140,"column":0},"action":"remove","lines":["","@section('content')","<div class=\"container\">","\t<div class=\"row\">","\t\t<div class=\"text-center col-lg-12\">","\t\t\t<h1 class=\"my-4\">Déposez votre annonce</h1>","\t\t</div>","\t</div>","\t","\t<div class=\"row\">","\t\t<div class=\"col-lg-4\"></div>","\t\t<div class=\"panel panel-info jumbotron col-lg-4\">","\t\t\t<div class=\"panel-body\">","\t\t\t\t<form class=\"form-horizontal\" role=\"form\" method=\"POST\" action=\"{{ url('users') }}\">"," {{ csrf_field() }}",""," <div class=\"form-group{{ $errors->has('title') ? ' has-error' : '' }}\">"," <input id=\"title\" type=\"text\" class=\"form-control\" name=\"title\" value=\"{{ old('title') }}\" placeholder=\"Titre de l'annonce\">",""," @if ($errors->has('title'))"," <span class=\"help-block\">"," <i class=\"indication\">{{ $errors->first('title') }}</i>"," </span>"," @endif"," </div>"," "," <div class=\"form-group{{ $errors->has('email') ? ' has-error' : '' }}\">"," <input id=\"email\" type=\"email\" class=\"form-control\" name=\"email\" value=\"{{ old('email') }}\" placeholder=\"Email\">",""," @if ($errors->has('email'))"," <span class=\"help-block\">"," <i class=\"indication\">{{ $errors->first('email') }}</i>"," </span>"," @endif"," </div>"," <!-- https://www.w3schools.com/html/html_form_input_types.asp -->"," <div class=\"form-group{{ $errors->has('address_number') ? ' has-error' : '' }}\">"," <input id=\"address_number\" type=\"number\" min=\"1\" class=\"form-control\" name=\"address_number\" value=\"{{ old('address_number') }}\" placeholder=\"n°\">",""," @if ($errors->has('address_number'))"," <span class=\"help-block\">"," <i class=\"indication\">{{ $errors->first('address_number') }}</i>"," </span>"," @endif"," </div>"," "," <div class=\"form-group{{ $errors->has('address_street') ? ' has-error' : '' }}\">"," <input id=\"address_street\" type=\"text\" class=\"form-control\" name=\"address_street\" value=\"{{ old('address_street') }}\" placeholder=\"Rue\">",""," @if ($errors->has('address_street'))"," <span class=\"help-block\">"," <i class=\"indication\">{{ $errors->first('address_street') }}</i>"," </span>"," @endif"," </div>"," "," <div class=\"form-group{{ $errors->has('address_city') ? ' has-error' : '' }}\">"," <input id=\"address_city\" type=\"text\" class=\"form-control\" name=\"address_city\" value=\"{{ old('address_city') }}\" placeholder=\"Ville\">",""," @if ($errors->has('address_city'))"," <span class=\"help-block\">"," <i class=\"indication\">{{ $errors->first('address_city') }}</i>"," </span>"," @endif"," </div>"," "," <div class=\"form-group{{ $errors->has('postal_code') ? ' has-error' : '' }}\">"," <input id=\"postal_code\" type=\"number\" min=\"0\" class=\"form-control\" name=\"postal_code\" value=\"{{ old('postal_code') }}\" placeholder=\"CP\">",""," @if ($errors->has('postal_code'))"," <span class=\"help-block\">"," <i class=\"indication\">{{ $errors->first('postal_code') }}</i>"," </span>"," @endif"," </div>"," "," <div class=\"form-group\">"," <textarea id=\"description\" type=\"text\" class=\"form-control\" name=\"description\" value=\"{{ old('description') }}\" placeholder=\"Description\">"," "," </textarea>"," </div>"," "," <div class=\"form-group{{ $errors->has('expire_at') ? ' has-error' : '' }}\">"," <input id=\"expire_at\" type=\"date\" class=\"form-control\" name=\"expire_at\" value=\"{{ old('expire_at') }}\" placeholder=\"Date d'expiration\">",""," @if ($errors->has('expire_at'))"," <span class=\"help-block\">"," <i class=\"indication\">{{ $errors->first('expire_at') }}</i>"," </span>"," @endif"," </div>"," "," <div class=\"form-group{{ $errors->has('category') ? ' has-error' : '' }}\">"," Catégorie: "," <select id=\"category\" class=\"form-control\" name=\"category\" value=\"{{ old('category') }}\">"," <option value=\"fruit\">fruit</option>"," <option value=\"vegetable\">légume</option>"," <option value=\"starchy\">féculent</option>"," <option value=\"homemade\">fait maison</option>"," <option value=\"fish\">poisson</option>"," <option value=\"spices\">épices</option>"," <option value=\"sugar\">sucré</option>"," <option value=\"other\">autre</option>"," </select>"," "," <!-- <input type=\"date\" placeholder=\"Date d'expiration\"> -->",""," @if ($errors->has('category'))"," <span class=\"help-block\">"," <i class=\"indication\">{{ $errors->first('category') }}</i>"," </span>"," @endif"," </div>"," "," <div class=\"form-group\">"," <input id=\"vegan\" type=\"checkbox\" value=\"true\" class=\"mr-3\" name=\"vegan\"> Vegan"," </div>","\t\t\t\t","\t\t\t\t <div class=\"form-group mt-5\">"," <div class=\"col-md-6 col-md-offset-4\">"," <button type=\"submit\" class=\"btn btn-primary\">"," <i class=\"fa fa-btn\"></i> Valider"," </button>"," </div>"," </div>"," "," </form>","\t\t\t</div>","\t\t</div>","\t\t<div class=\"col-lg-4\"></div>","\t</div>","</div>","","@endsection",""],"id":65},{"start":{"row":6,"column":0},"end":{"row":40,"column":11},"action":"insert","lines":["@extends('template')","","@section('contenu')"," <div class=\"col-sm-offset-4 col-sm-4\">"," \t<br>","\t\t<div class=\"panel panel-primary\">\t","\t\t\t<div class=\"panel-heading\">Modification d'un utilisateur</div>","\t\t\t<div class=\"panel-body\"> ","\t\t\t\t<div class=\"col-sm-12\">","\t\t\t\t\t{!! Form::model($user, ['route' => ['user.update', $user->id], 'method' => 'put', 'class' => 'form-horizontal panel']) !!}","\t\t\t\t\t<div class=\"form-group {!! $errors->has('name') ? 'has-error' : '' !!}\">","\t\t\t\t\t \t{!! Form::text('name', null, ['class' => 'form-control', 'placeholder' => 'Nom']) !!}","\t\t\t\t\t \t{!! $errors->first('name', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<div class=\"form-group {!! $errors->has('email') ? 'has-error' : '' !!}\">","\t\t\t\t\t \t{!! Form::email('email', null, ['class' => 'form-control', 'placeholder' => 'Email']) !!}","\t\t\t\t\t \t{!! $errors->first('email', '<small class=\"help-block\">:message</small>') !!}","\t\t\t\t\t</div>","\t\t\t\t\t<div class=\"form-group\">","\t\t\t\t\t\t<div class=\"checkbox\">","\t\t\t\t\t\t\t<label>","\t\t\t\t\t\t\t\t{!! Form::checkbox('admin', 1, null) !!}Administrateur","\t\t\t\t\t\t\t</label>","\t\t\t\t\t\t</div>","\t\t\t\t\t</div>","\t\t\t\t\t\t{!! Form::submit('Envoyer', ['class' => 'btn btn-primary pull-right']) !!}","\t\t\t\t\t{!! Form::close() !!}","\t\t\t\t</div>","\t\t\t</div>","\t\t</div>","\t\t<a href=\"javascript:history.back()\" class=\"btn btn-primary\">","\t\t\t<span class=\"glyphicon glyphicon-circle-arrow-left\"></span> Retour","\t\t</a>","\t</div>","@endsection"]}],[{"start":{"row":5,"column":0},"end":{"row":7,"column":0},"action":"remove","lines":["","@extends('template')",""],"id":66}],[{"start":{"row":3,"column":4},"end":{"row":3,"column":26},"action":"remove","lines":["Modification du profil"],"id":67},{"start":{"row":3,"column":4},"end":{"row":3,"column":5},"action":"insert","lines":["t"]}],[{"start":{"row":3,"column":5},"end":{"row":3,"column":6},"action":"insert","lines":["e"],"id":68}],[{"start":{"row":3,"column":6},"end":{"row":3,"column":7},"action":"insert","lines":["s"],"id":69}],[{"start":{"row":3,"column":7},"end":{"row":3,"column":8},"action":"insert","lines":["t"],"id":70}],[{"start":{"row":3,"column":8},"end":{"row":3,"column":9},"action":"insert","lines":[" "],"id":71}],[{"start":{"row":3,"column":9},"end":{"row":3,"column":10},"action":"insert","lines":["e"],"id":72}],[{"start":{"row":3,"column":10},"end":{"row":3,"column":11},"action":"insert","lines":["d"],"id":73}],[{"start":{"row":3,"column":11},"end":{"row":3,"column":12},"action":"insert","lines":["i"],"id":74}],[{"start":{"row":3,"column":12},"end":{"row":3,"column":13},"action":"insert","lines":["t"],"id":75}],[{"start":{"row":6,"column":16},"end":{"row":6,"column":17},"action":"remove","lines":["u"],"id":76}],[{"start":{"row":6,"column":16},"end":{"row":6,"column":17},"action":"insert","lines":["t"],"id":78}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":6,"column":17},"end":{"row":6,"column":17},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511145443705} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/user/user_index.blade.php b/workspace/.c9/metadata/workspace/resources/views/user/user_index.blade.php new file mode 100644 index 0000000..7436606 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/user/user_index.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"user_index.blade.php","tooltip":"/resources/views/user/user_index.blade.php","undoManager":{"mark":100,"position":100,"stack":[[{"start":{"row":6,"column":17},"end":{"row":6,"column":18},"action":"remove","lines":["'"],"id":59}],[{"start":{"row":6,"column":17},"end":{"row":6,"column":18},"action":"insert","lines":["t"],"id":60}],[{"start":{"row":6,"column":17},"end":{"row":6,"column":18},"action":"remove","lines":["t"],"id":61}],[{"start":{"row":6,"column":16},"end":{"row":6,"column":17},"action":"remove","lines":["u"],"id":62}],[{"start":{"row":6,"column":16},"end":{"row":6,"column":17},"action":"insert","lines":["t"],"id":63}],[{"start":{"row":6,"column":17},"end":{"row":6,"column":18},"action":"insert","lines":["'"],"id":64}],[{"start":{"row":3,"column":4},"end":{"row":3,"column":19},"action":"remove","lines":["Dépot d'annonce"],"id":65},{"start":{"row":3,"column":4},"end":{"row":3,"column":5},"action":"insert","lines":["e"]}],[{"start":{"row":3,"column":4},"end":{"row":3,"column":5},"action":"remove","lines":["e"],"id":66}],[{"start":{"row":3,"column":4},"end":{"row":3,"column":5},"action":"insert","lines":["t"],"id":67}],[{"start":{"row":3,"column":5},"end":{"row":3,"column":6},"action":"insert","lines":["e"],"id":68}],[{"start":{"row":3,"column":6},"end":{"row":3,"column":7},"action":"insert","lines":["s"],"id":69}],[{"start":{"row":3,"column":7},"end":{"row":3,"column":8},"action":"insert","lines":["t"],"id":70}],[{"start":{"row":7,"column":0},"end":{"row":45,"column":7},"action":"remove","lines":[" <br>"," <div class=\"col-sm-offset-4 col-sm-4\">"," \t@if(session()->has('ok'))","\t\t\t<div class=\"alert alert-success alert-dismissible\">{!! session('ok') !!}</div>","\t\t@endif","\t\t<div class=\"panel panel-primary\">","\t\t\t<div class=\"panel-heading\">","\t\t\t\t<h3 class=\"panel-title\">Liste des utilisateurs</h3>","\t\t\t</div>","\t\t\t<table class=\"table\">","\t\t\t\t<thead>","\t\t\t\t\t<tr>","\t\t\t\t\t\t<th>#</th>","\t\t\t\t\t\t<th>Nom</th>","\t\t\t\t\t\t<th></th>","\t\t\t\t\t\t<th></th>","\t\t\t\t\t\t<th></th>","\t\t\t\t\t</tr>","\t\t\t\t</thead>","\t\t\t\t<tbody>","\t\t\t\t\t@foreach ($users as $user)","\t\t\t\t\t\t<tr>","\t\t\t\t\t\t\t<td>{!! $user->id !!}</td>","\t\t\t\t\t\t\t<td class=\"text-primary\"><strong>{!! $user->name !!}</strong></td>","\t\t\t\t\t\t\t<td>{!! link_to_route('user.show', 'Voir', [$user->id], ['class' => 'btn btn-success btn-block']) !!}</td>","\t\t\t\t\t\t\t<td>{!! link_to_route('user.edit', 'Modifier', [$user->id], ['class' => 'btn btn-warning btn-block']) !!}</td>","\t\t\t\t\t\t\t<td>","\t\t\t\t\t\t\t\t{!! Form::open(['method' => 'DELETE', 'route' => ['user.destroy', $user->id]]) !!}","\t\t\t\t\t\t\t\t\t{!! Form::submit('Supprimer', ['class' => 'btn btn-danger btn-block', 'onclick' => 'return confirm(\\'Vraiment supprimer cet utilisateur ?\\')']) !!}","\t\t\t\t\t\t\t\t{!! Form::close() !!}","\t\t\t\t\t\t\t</td>","\t\t\t\t\t\t</tr>","\t\t\t\t\t@endforeach","\t \t\t\t</tbody>","\t\t\t</table>","\t\t</div>","\t\t{!! link_to_route('user.create', 'Ajouter un utilisateur', [], ['class' => 'btn btn-info pull-right']) !!}","\t\t{!! $links !!}","\t</div>"],"id":71}],[{"start":{"row":7,"column":0},"end":{"row":7,"column":15},"action":"insert","lines":["<h1>test </h1>t"],"id":99}],[{"start":{"row":7,"column":15},"end":{"row":7,"column":16},"action":"insert","lines":["="],"id":100}],[{"start":{"row":7,"column":15},"end":{"row":7,"column":16},"action":"remove","lines":["="],"id":101}],[{"start":{"row":7,"column":14},"end":{"row":7,"column":15},"action":"remove","lines":["t"],"id":102}],[{"start":{"row":7,"column":0},"end":{"row":8,"column":0},"action":"insert","lines":["",""],"id":103}],[{"start":{"row":7,"column":0},"end":{"row":7,"column":1},"action":"insert","lines":["<"],"id":104}],[{"start":{"row":7,"column":1},"end":{"row":7,"column":2},"action":"insert","lines":["b"],"id":105}],[{"start":{"row":7,"column":2},"end":{"row":7,"column":3},"action":"insert","lines":["r"],"id":106}],[{"start":{"row":7,"column":3},"end":{"row":7,"column":4},"action":"insert","lines":[">"],"id":107}],[{"start":{"row":8,"column":14},"end":{"row":9,"column":0},"action":"insert","lines":["",""],"id":108}],[{"start":{"row":9,"column":0},"end":{"row":9,"column":4},"action":"insert","lines":["<br>"],"id":109}],[{"start":{"row":7,"column":0},"end":{"row":9,"column":4},"action":"remove","lines":["<br>","<h1>test </h1>","<br>"],"id":110}],[{"start":{"row":7,"column":0},"end":{"row":8,"column":0},"action":"remove","lines":["",""],"id":111}],[{"start":{"row":7,"column":0},"end":{"row":8,"column":0},"action":"insert","lines":["",""],"id":112}],[{"start":{"row":3,"column":4},"end":{"row":3,"column":8},"action":"remove","lines":["test"],"id":113}],[{"start":{"row":3,"column":4},"end":{"row":3,"column":5},"action":"insert","lines":["M"],"id":114}],[{"start":{"row":3,"column":5},"end":{"row":3,"column":6},"action":"insert","lines":["o"],"id":115}],[{"start":{"row":3,"column":6},"end":{"row":3,"column":7},"action":"insert","lines":["d"],"id":116}],[{"start":{"row":3,"column":7},"end":{"row":3,"column":8},"action":"insert","lines":["i"],"id":117}],[{"start":{"row":3,"column":8},"end":{"row":3,"column":9},"action":"insert","lines":["f"],"id":118}],[{"start":{"row":3,"column":9},"end":{"row":3,"column":10},"action":"insert","lines":["i"],"id":119}],[{"start":{"row":3,"column":10},"end":{"row":3,"column":11},"action":"insert","lines":["c"],"id":120}],[{"start":{"row":3,"column":11},"end":{"row":3,"column":12},"action":"insert","lines":["a"],"id":121}],[{"start":{"row":3,"column":12},"end":{"row":3,"column":13},"action":"insert","lines":["t"],"id":122}],[{"start":{"row":3,"column":13},"end":{"row":3,"column":14},"action":"insert","lines":["i"],"id":123}],[{"start":{"row":3,"column":14},"end":{"row":3,"column":15},"action":"insert","lines":["o"],"id":124}],[{"start":{"row":3,"column":15},"end":{"row":3,"column":16},"action":"insert","lines":["n"],"id":125}],[{"start":{"row":3,"column":16},"end":{"row":3,"column":17},"action":"insert","lines":[" "],"id":126}],[{"start":{"row":3,"column":17},"end":{"row":3,"column":18},"action":"insert","lines":["d"],"id":127}],[{"start":{"row":3,"column":18},"end":{"row":3,"column":19},"action":"insert","lines":["u"],"id":128}],[{"start":{"row":3,"column":19},"end":{"row":3,"column":20},"action":"insert","lines":[" "],"id":129}],[{"start":{"row":3,"column":20},"end":{"row":3,"column":21},"action":"insert","lines":["p"],"id":130}],[{"start":{"row":3,"column":21},"end":{"row":3,"column":22},"action":"insert","lines":["r"],"id":131}],[{"start":{"row":3,"column":22},"end":{"row":3,"column":23},"action":"insert","lines":["o"],"id":132}],[{"start":{"row":3,"column":23},"end":{"row":3,"column":24},"action":"insert","lines":["f"],"id":133}],[{"start":{"row":3,"column":24},"end":{"row":3,"column":25},"action":"insert","lines":["i"],"id":134}],[{"start":{"row":3,"column":25},"end":{"row":3,"column":26},"action":"insert","lines":["l"],"id":135}],[{"start":{"row":7,"column":0},"end":{"row":8,"column":0},"action":"insert","lines":["",""],"id":136}],[{"start":{"row":8,"column":0},"end":{"row":9,"column":0},"action":"insert","lines":["",""],"id":137}],[{"start":{"row":8,"column":0},"end":{"row":8,"column":1},"action":"insert","lines":["E"],"id":138}],[{"start":{"row":8,"column":1},"end":{"row":8,"column":2},"action":"insert","lines":["n"],"id":139}],[{"start":{"row":8,"column":2},"end":{"row":8,"column":3},"action":"insert","lines":[" "],"id":140}],[{"start":{"row":8,"column":3},"end":{"row":8,"column":4},"action":"insert","lines":["c"],"id":141}],[{"start":{"row":8,"column":4},"end":{"row":8,"column":5},"action":"insert","lines":["o"],"id":142}],[{"start":{"row":8,"column":5},"end":{"row":8,"column":6},"action":"insert","lines":["u"],"id":143}],[{"start":{"row":8,"column":6},"end":{"row":8,"column":7},"action":"insert","lines":["r"],"id":144}],[{"start":{"row":8,"column":7},"end":{"row":8,"column":8},"action":"insert","lines":["s"],"id":145}],[{"start":{"row":8,"column":8},"end":{"row":8,"column":9},"action":"insert","lines":[" "],"id":146}],[{"start":{"row":8,"column":9},"end":{"row":8,"column":10},"action":"insert","lines":["d"],"id":147}],[{"start":{"row":8,"column":10},"end":{"row":8,"column":11},"action":"insert","lines":["e"],"id":148}],[{"start":{"row":8,"column":11},"end":{"row":8,"column":12},"action":"insert","lines":[" "],"id":149}],[{"start":{"row":8,"column":12},"end":{"row":8,"column":13},"action":"insert","lines":["c"],"id":150}],[{"start":{"row":8,"column":13},"end":{"row":8,"column":14},"action":"insert","lines":["o"],"id":151}],[{"start":{"row":8,"column":14},"end":{"row":8,"column":15},"action":"insert","lines":["n"],"id":152}],[{"start":{"row":8,"column":15},"end":{"row":8,"column":16},"action":"insert","lines":["s"],"id":153}],[{"start":{"row":8,"column":16},"end":{"row":8,"column":17},"action":"insert","lines":["t"],"id":154}],[{"start":{"row":8,"column":17},"end":{"row":8,"column":18},"action":"insert","lines":["r"],"id":155}],[{"start":{"row":8,"column":18},"end":{"row":8,"column":19},"action":"insert","lines":["u"],"id":156}],[{"start":{"row":8,"column":19},"end":{"row":8,"column":20},"action":"insert","lines":["c"],"id":157}],[{"start":{"row":8,"column":20},"end":{"row":8,"column":21},"action":"insert","lines":["c"],"id":158}],[{"start":{"row":8,"column":20},"end":{"row":8,"column":21},"action":"remove","lines":["c"],"id":159}],[{"start":{"row":8,"column":20},"end":{"row":8,"column":21},"action":"insert","lines":["t"],"id":160}],[{"start":{"row":8,"column":21},"end":{"row":8,"column":22},"action":"insert","lines":["i"],"id":161}],[{"start":{"row":8,"column":22},"end":{"row":8,"column":23},"action":"insert","lines":["o"],"id":162}],[{"start":{"row":8,"column":23},"end":{"row":8,"column":24},"action":"insert","lines":["n"],"id":163}],[{"start":{"row":8,"column":24},"end":{"row":8,"column":25},"action":"insert","lines":[" "],"id":164}],[{"start":{"row":8,"column":25},"end":{"row":8,"column":26},"action":"insert","lines":["<"],"id":165}],[{"start":{"row":8,"column":26},"end":{"row":8,"column":27},"action":"insert","lines":["/"],"id":166}],[{"start":{"row":8,"column":27},"end":{"row":8,"column":28},"action":"insert","lines":["h"],"id":167}],[{"start":{"row":8,"column":28},"end":{"row":8,"column":29},"action":"insert","lines":["1"],"id":168}],[{"start":{"row":8,"column":29},"end":{"row":8,"column":30},"action":"insert","lines":[">"],"id":169}],[{"start":{"row":8,"column":30},"end":{"row":9,"column":0},"action":"insert","lines":["",""],"id":170}],[{"start":{"row":9,"column":0},"end":{"row":9,"column":4},"action":"insert","lines":["<br>"],"id":171}],[{"start":{"row":7,"column":0},"end":{"row":7,"column":4},"action":"insert","lines":["<br>"],"id":172}],[{"start":{"row":8,"column":0},"end":{"row":8,"column":1},"action":"insert","lines":["<"],"id":173}],[{"start":{"row":8,"column":1},"end":{"row":8,"column":2},"action":"insert","lines":["h"],"id":174}],[{"start":{"row":8,"column":2},"end":{"row":8,"column":3},"action":"insert","lines":["1"],"id":175}],[{"start":{"row":8,"column":3},"end":{"row":8,"column":4},"action":"insert","lines":["/"],"id":176}],[{"start":{"row":8,"column":3},"end":{"row":8,"column":4},"action":"remove","lines":["/"],"id":177}],[{"start":{"row":8,"column":3},"end":{"row":8,"column":9},"action":"insert","lines":["></h1>"],"id":178}],[{"start":{"row":8,"column":4},"end":{"row":8,"column":5},"action":"insert","lines":[" "],"id":179}],[{"start":{"row":8,"column":5},"end":{"row":8,"column":6},"action":"remove","lines":["<"],"id":180}],[{"start":{"row":8,"column":5},"end":{"row":8,"column":6},"action":"remove","lines":["/"],"id":181}],[{"start":{"row":8,"column":5},"end":{"row":8,"column":6},"action":"remove","lines":["h"],"id":182}],[{"start":{"row":8,"column":5},"end":{"row":8,"column":6},"action":"remove","lines":["1"],"id":183}],[{"start":{"row":8,"column":5},"end":{"row":8,"column":6},"action":"remove","lines":[">"],"id":184}],[{"start":{"row":8,"column":4},"end":{"row":8,"column":5},"action":"remove","lines":[" "],"id":185}],[{"start":{"row":8,"column":4},"end":{"row":8,"column":5},"action":"insert","lines":[" "],"id":186}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":6,"column":19},"end":{"row":6,"column":19},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511145432818,"hash":"5010c5b4633f16e7029a8d4376b13cc159cf1c0f"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/user/user_show.blade.php b/workspace/.c9/metadata/workspace/resources/views/user/user_show.blade.php new file mode 100644 index 0000000..fcc2e3d --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/user/user_show.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"user_show.blade.php","tooltip":"/resources/views/user/user_show.blade.php","undoManager":{"mark":14,"position":14,"stack":[[{"start":{"row":7,"column":0},"end":{"row":51,"column":11},"action":"remove","lines":["@section('content')","","<!-- TODO: C'est pas tous les produit mais juste celui qu'on a choisi -->","<div class=\"container\">","\t<div class=\"container\">","\t\t<h1 class=\"my-4\">Détails de produit</h1>","\t\t","\t\t<p>Retrouver sur cette page toutes les annonces des particulier cherchant à donner leurs produits</p>","\t\t","\t\t<p><a class=\"btn btn-primary btn-lg\" style=\"background-color: black;\" href=\"https://www.youtube.com/watch?v=-xSORIDw1Sg\" target=\"_blank\" role=\"button\">Surpriiiise »</a></p>","\t</div>","\t","\t<!--TODO :style à revoir-->","\t<div class=\"row mb-4\">","\t\t<div class=\"col-lg-4\"></div>","\t\t<div class=\"col-lg-4 col-md-6 mb-4\">","\t\t\t<div class=\"card h-100\">","\t\t\t\t<a href=\"#\"><img class=\"card-img-top\" src=\"http://placehold.it/700x400\" alt=\"\"></a>","\t\t\t\t<div class=\"card-body\">","\t\t\t\t\t<h4 class=\"card-title\">","\t\t\t\t\t\t<p>{!!$product->title!!}</p>","\t\t\t\t \t</h4>","\t\t\t\t \t<p>Categorie : {{ $product->category }}</p>","\t\t\t\t \t<p>{{ $product->description }}</p>","\t\t\t\t \t<p><i class=\"fa fa-envelope\"></i> Contact : {{ $product->email }}</p>","\t\t\t\t \t<p><i class=\"fa fa-home\"></i> Adresse : {{ $product->address_number }}","\t\t\t\t \t\t\t\t\t{{ $product->address_street }}","\t\t\t\t \t\t\t\t\t{{ $product->postal_code }}","\t\t\t\t \t\t\t\t\t{{ $product->address_city }}</p>","\t\t\t\t \t<p><i class=\"fa fa-hourglass-half\"></i> Expire le : {{ $product->expire_at }}</p>","\t\t\t\t \t<?php ","\t\t\t\t \tif(isset($product->vegan) && $product->vegan == true )","\t\t\t\t \t\tprint('<p>Ce produit est vegan</p>');","\t\t\t\t \t?>","\t\t\t\t</div>","\t\t\t</div>","\t\t</div>","\t\t<div class=\"col-lg-4\"></div>","\t</div>","\t","\t<div class=\"my-4 center\">","\t\t<a href= \" {{ url('products') }} \"> « Retours aux produits</a>","\t</div>","</div>","@endsection"],"id":2},{"start":{"row":7,"column":0},"end":{"row":26,"column":11},"action":"insert","lines":["@extends('template')","","@section('contenu')"," <div class=\"col-sm-offset-4 col-sm-4\">"," \t<br>","\t\t<div class=\"panel panel-primary\">\t","\t\t\t<div class=\"panel-heading\">Fiche d'utilisateur</div>","\t\t\t<div class=\"panel-body\"> ","\t\t\t\t<p>Nom : {{ $user->name }}</p>","\t\t\t\t<p>Email : {{ $user->email }}</p>","\t\t\t\t@if($user->admin == 1)","\t\t\t\t\tAdministrateur","\t\t\t\t@endif","\t\t\t</div>","\t\t</div>\t\t\t\t","\t\t<a href=\"javascript:history.back()\" class=\"btn btn-primary\">","\t\t\t<span class=\"glyphicon glyphicon-circle-arrow-left\"></span> Retour","\t\t</a>","\t</div>","@endsection"]}],[{"start":{"row":5,"column":0},"end":{"row":8,"column":0},"action":"remove","lines":["","","@extends('template')",""],"id":3}],[{"start":{"row":3,"column":1},"end":{"row":3,"column":18},"action":"remove","lines":["Tous les produits"],"id":4},{"start":{"row":3,"column":1},"end":{"row":3,"column":2},"action":"insert","lines":["t"]}],[{"start":{"row":3,"column":2},"end":{"row":3,"column":3},"action":"insert","lines":["e"],"id":5}],[{"start":{"row":3,"column":3},"end":{"row":3,"column":4},"action":"insert","lines":["s"],"id":6}],[{"start":{"row":3,"column":4},"end":{"row":3,"column":5},"action":"insert","lines":["t"],"id":7}],[{"start":{"row":3,"column":5},"end":{"row":3,"column":6},"action":"insert","lines":[" "],"id":8}],[{"start":{"row":3,"column":6},"end":{"row":3,"column":7},"action":"insert","lines":["h"],"id":9}],[{"start":{"row":3,"column":7},"end":{"row":3,"column":8},"action":"insert","lines":["s"],"id":10}],[{"start":{"row":3,"column":7},"end":{"row":3,"column":8},"action":"remove","lines":["s"],"id":11}],[{"start":{"row":3,"column":6},"end":{"row":3,"column":7},"action":"remove","lines":["h"],"id":12}],[{"start":{"row":3,"column":6},"end":{"row":3,"column":7},"action":"insert","lines":["s"],"id":13}],[{"start":{"row":3,"column":7},"end":{"row":3,"column":8},"action":"insert","lines":["h"],"id":14}],[{"start":{"row":3,"column":8},"end":{"row":3,"column":9},"action":"insert","lines":["o"],"id":15}],[{"start":{"row":3,"column":9},"end":{"row":3,"column":10},"action":"insert","lines":["w"],"id":16}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":13,"column":21},"end":{"row":13,"column":21},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511144916930,"hash":"e113095fa418868ae21ca488302ecfb2b469ccfa"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/resources/views/welcome.blade.php b/workspace/.c9/metadata/workspace/resources/views/welcome.blade.php new file mode 100644 index 0000000..9424361 --- /dev/null +++ b/workspace/.c9/metadata/workspace/resources/views/welcome.blade.php @@ -0,0 +1 @@ +{"filter":false,"title":"welcome.blade.php","tooltip":"/resources/views/welcome.blade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":13,"column":14},"end":{"row":13,"column":14},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509404754230,"hash":"09368256afbbccda81df56f9b18f959ccee7b0a3"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/server.php b/workspace/.c9/metadata/workspace/server.php new file mode 100644 index 0000000..c280736 --- /dev/null +++ b/workspace/.c9/metadata/workspace/server.php @@ -0,0 +1 @@ +{"filter":false,"title":"server.php","tooltip":"/server.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":21,"column":0},"end":{"row":21,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1508898006443,"hash":"893421fd40da1003bdf05cbbdab421e1a7077b23"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/storage/logs/laravel.log b/workspace/.c9/metadata/workspace/storage/logs/laravel.log new file mode 100644 index 0000000..91af84a --- /dev/null +++ b/workspace/.c9/metadata/workspace/storage/logs/laravel.log @@ -0,0 +1 @@ +{"filter":false,"title":"laravel.log","tooltip":"/storage/logs/laravel.log","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509957045143,"hash":"31821f270e6f185ce2fd33a55e8235ec84598dc2"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/tests/ExampleTest.php b/workspace/.c9/metadata/workspace/tests/ExampleTest.php new file mode 100644 index 0000000..e685d3e --- /dev/null +++ b/workspace/.c9/metadata/workspace/tests/ExampleTest.php @@ -0,0 +1 @@ +{"filter":false,"title":"ExampleTest.php","tooltip":"/tests/ExampleTest.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1508898004222,"hash":"8939f67a07bde97d90f8cf0ebdf6316246eef3ec"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/tests/TestCase.php b/workspace/.c9/metadata/workspace/tests/TestCase.php new file mode 100644 index 0000000..6a0d4f0 --- /dev/null +++ b/workspace/.c9/metadata/workspace/tests/TestCase.php @@ -0,0 +1 @@ +{"filter":false,"title":"TestCase.php","tooltip":"/tests/TestCase.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1511012796048,"hash":"9723a28f057de058ef4123696345cf9e0373c73b"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/vendor/illuminate/html/FormBuilder.php b/workspace/.c9/metadata/workspace/vendor/illuminate/html/FormBuilder.php new file mode 100644 index 0000000..dc83143 --- /dev/null +++ b/workspace/.c9/metadata/workspace/vendor/illuminate/html/FormBuilder.php @@ -0,0 +1 @@ +{"filter":false,"title":"FormBuilder.php","tooltip":"/vendor/illuminate/html/FormBuilder.php","undoManager":{"mark":3,"position":3,"stack":[[{"start":{"row":232,"column":47},"end":{"row":233,"column":0},"action":"insert","lines":["",""],"id":1},{"start":{"row":233,"column":0},"end":{"row":233,"column":2},"action":"insert","lines":["\t\t"]}],[{"start":{"row":233,"column":1},"end":{"row":233,"column":2},"action":"remove","lines":["\t"],"id":2}],[{"start":{"row":233,"column":0},"end":{"row":233,"column":1},"action":"remove","lines":["\t"],"id":3}],[{"start":{"row":232,"column":47},"end":{"row":233,"column":0},"action":"remove","lines":["",""],"id":4}]]},"ace":{"folds":[],"scrolltop":3544,"scrollleft":0,"selection":{"start":{"row":273,"column":0},"end":{"row":273,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":252,"state":"php-doc-start","mode":"ace/mode/php"}},"timestamp":1509349520098,"hash":"acefd537c7a7d446dec3c9b4d19b30109af2483f"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/vendor/illuminate/html/FormFacade.php b/workspace/.c9/metadata/workspace/vendor/illuminate/html/FormFacade.php new file mode 100644 index 0000000..350f1cd --- /dev/null +++ b/workspace/.c9/metadata/workspace/vendor/illuminate/html/FormFacade.php @@ -0,0 +1 @@ +{"filter":false,"title":"FormFacade.php","tooltip":"/vendor/illuminate/html/FormFacade.php","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509201010396,"hash":"f33ec502d131d92f67199e527b07f5b616d915c6"} \ No newline at end of file diff --git a/workspace/.c9/metadata/workspace/vendor/laravelcollective/html/composer.json b/workspace/.c9/metadata/workspace/vendor/laravelcollective/html/composer.json new file mode 100644 index 0000000..3c9c626 --- /dev/null +++ b/workspace/.c9/metadata/workspace/vendor/laravelcollective/html/composer.json @@ -0,0 +1 @@ +{"filter":false,"title":"composer.json","tooltip":"/vendor/laravelcollective/html/composer.json","undoManager":{"mark":-1,"position":-1,"stack":[]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":0,"column":0},"end":{"row":0,"column":0},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1509201030216,"hash":"789f440a655b8e27fa7b631b55f8e52852933c40"} \ No newline at end of file diff --git a/workspace/.c9/project.settings b/workspace/.c9/project.settings new file mode 100644 index 0000000..d541e4b --- /dev/null +++ b/workspace/.c9/project.settings @@ -0,0 +1,106 @@ +{ + "ace": { + "@guessTabSize": true, + "@newLineMode": "unix", + "@tabSize": 4, + "@useSoftTabs": true + }, + "build": { + "@builder": "auto", + "@path": "/.c9/builders", + "@saveall": true + }, + "find.nak": { + "@searchLimit": 100 + }, + "format": { + "jsbeautify": { + "@advanced": {}, + "@braces": "end-expand", + "@indent_inner_html": false, + "@jslinthappy": "false", + "@keeparrayindentation": "false", + "@preserve-inline": true, + "@preserveempty": "true", + "@space_before_conditional": "true", + "@unescape_strings": "true" + } + }, + "general": { + "@stripws": false + }, + "golang": { + "@completion": true, + "@formatOnSave": true, + "@formatter": "gofmt -w \"$file\"" + }, + "javascript": { + "@formatOnSave": "false", + "@formatter": "esformatter -i \"$file\"", + "@use_jsbeautify": "true" + }, + "language": { + "@eslintrc": true, + "@semi": true, + "@undeclaredVars": true, + "@unusedFunctionArgs": false, + "@warnLevel": "info", + "tern_defs": { + "json()": { + "browser": { + "enabled": true + }, + "ecma5": { + "enabled": true + }, + "jQuery": { + "enabled": true + } + } + } + }, + "php": { + "@completion": true, + "@path": ".:./vendor" + }, + "python": { + "@completion": true, + "@path": "/usr/local/lib/python2.7/dist-packages:/usr/local/lib/python3.4/dist-packages:/usr/local/lib/python3.5/dist-packages", + "@version": "python2" + }, + "run": { + "@path": "/.c9/runners", + "configs": { + "@inited": "true", + "json()": { + "Apache & PHP": { + "command": "", + "debug": false, + "default": true, + "name": "Apache & PHP", + "runner": "Apache httpd (PHP, HTML)", + "toolbar": true + }, + "PHP": { + "command": "", + "default": true, + "name": "Apache & PHP", + "runner": "Apache httpd (PHP, HTML)" + }, + "php bonsaiie/artisan serve": { + "command": "php bonsaiie/artisan serve", + "cwd": "/", + "env": {}, + "name": "php bonsaiie/artisan serve", + "runner": "Shell command", + "toolbar": true + } + } + } + }, + "share": { + "@app": false, + "@preview": false, + "@useOwnerSettings": false + } +} \ No newline at end of file diff --git a/workspace/.env.example b/workspace/.env.example new file mode 100644 index 0000000..9a9d0dc --- /dev/null +++ b/workspace/.env.example @@ -0,0 +1,26 @@ +APP_ENV=local +APP_DEBUG=true +APP_KEY=SomeRandomString +APP_URL=http://localhost + +DB_CONNECTION=mysql +DB_HOST=127.0.0.1 +DB_PORT=3306 +DB_DATABASE=homestead +DB_USERNAME=homestead +DB_PASSWORD=secret + +CACHE_DRIVER=file +SESSION_DRIVER=file +QUEUE_DRIVER=sync + +REDIS_HOST=127.0.0.1 +REDIS_PASSWORD=null +REDIS_PORT=6379 + +MAIL_DRIVER=smtp +MAIL_HOST=mailtrap.io +MAIL_PORT=2525 +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_ENCRYPTION=null diff --git a/workspace/.gitattributes b/workspace/.gitattributes new file mode 100644 index 0000000..a8763f8 --- /dev/null +++ b/workspace/.gitattributes @@ -0,0 +1,3 @@ +* text=auto +*.css linguist-vendored +*.scss linguist-vendored diff --git a/workspace/.gitignore b/workspace/.gitignore new file mode 100644 index 0000000..6b3af3f --- /dev/null +++ b/workspace/.gitignore @@ -0,0 +1,6 @@ +/vendor +/node_modules +/public/storage +Homestead.yaml +Homestead.json +.env diff --git a/workspace/BUG_REPORT b/workspace/BUG_REPORT new file mode 100644 index 0000000..d854321 --- /dev/null +++ b/workspace/BUG_REPORT @@ -0,0 +1,3 @@ +La taille du site n'est pas adaptative + +Le menu déroulant "Produits" bug au moment de passer dans la liste [en mode clic clic]" \ No newline at end of file diff --git a/workspace/README.md b/workspace/README.md new file mode 100644 index 0000000..1e4969c --- /dev/null +++ b/workspace/README.md @@ -0,0 +1,30 @@ + + ,-----.,--. ,--. ,---. ,--.,------. ,------. + ' .--./| | ,---. ,--.,--. ,-| || o \ | || .-. \ | .---' + | | | || .-. || || |' .-. |`..' | | || | \ :| `--, + ' '--'\| |' '-' '' '' '\ `-' | .' / | || '--' /| `---. + `-----'`--' `---' `----' `---' `--' `--'`-------' `------' + ----------------------------------------------------------------- + + +Hi there! Welcome to Cloud9 IDE! + +To get you started, we have created a small hello world application. + +1) Open the hello-world.php file + +2) Follow the run instructions in the file's comments + +3) If you want to look at the Apache logs, check out ~/lib/apache2/log + +And that's all there is to it! Just have fun. Go ahead and edit the code, +or add new files. It's all up to you! + +Happy coding! +The Cloud9 IDE team + + +## Support & Documentation + +Visit http://docs.c9.io for support, or to learn more about using Cloud9 IDE. +To watch some training videos, visit http://www.youtube.com/user/c9ide diff --git a/workspace/README_SQL b/workspace/README_SQL new file mode 100644 index 0000000..a69b6b4 --- /dev/null +++ b/workspace/README_SQL @@ -0,0 +1,45 @@ +#Trucs et astuces pour SQL + +##Liste des DB créé pour le site : +* products +* >Censé regrouper touts les produits et leurs infos + +>Note : Il existe actuellement comme user dans la BD "cartman10" [Le proprio de la DB] + +##Quand on ne connait plus le nom des DB dans sql ni le nom de l'user + +``` +mysql-ctl cli +``` +Ensuite + +``` +SHOW DATABASES; +``` + +##Connection à une DB + +``` +mysql --user=cartman10 nomDeLaDB +``` + +##Pour plus d'aide + +Dans Mysql +``` +help [le topic] +``` + +Si le topic a un nom incomplet +``` +help [début du topic]% +``` +Ex: +> help databa% + +##Commande de base (je suis pas sur de la syntaxe) + +Dans Mysql +``` +CREATE DATABASE +``` \ No newline at end of file diff --git a/workspace/Retro.2.md b/workspace/Retro.2.md new file mode 100644 index 0000000..e69de29 diff --git a/workspace/app/Console/Commands/Inspire.php b/workspace/app/Console/Commands/Inspire.php new file mode 100644 index 0000000..db9ab85 --- /dev/null +++ b/workspace/app/Console/Commands/Inspire.php @@ -0,0 +1,33 @@ +<?php + +namespace App\Console\Commands; + +use Illuminate\Console\Command; +use Illuminate\Foundation\Inspiring; + +class Inspire extends Command +{ + /** + * The name and signature of the console command. + * + * @var string + */ + protected $signature = 'inspire'; + + /** + * The console command description. + * + * @var string + */ + protected $description = 'Display an inspiring quote'; + + /** + * Execute the console command. + * + * @return mixed + */ + public function handle() + { + $this->comment(PHP_EOL.Inspiring::quote().PHP_EOL); + } +} diff --git a/workspace/app/Console/Kernel.php b/workspace/app/Console/Kernel.php new file mode 100644 index 0000000..71c519d --- /dev/null +++ b/workspace/app/Console/Kernel.php @@ -0,0 +1,30 @@ +<?php + +namespace App\Console; + +use Illuminate\Console\Scheduling\Schedule; +use Illuminate\Foundation\Console\Kernel as ConsoleKernel; + +class Kernel extends ConsoleKernel +{ + /** + * The Artisan commands provided by your application. + * + * @var array + */ + protected $commands = [ + // Commands\Inspire::class, + ]; + + /** + * Define the application's command schedule. + * + * @param \Illuminate\Console\Scheduling\Schedule $schedule + * @return void + */ + protected function schedule(Schedule $schedule) + { + // $schedule->command('inspire') + // ->hourly(); + } +} diff --git a/workspace/app/Events/Event.php b/workspace/app/Events/Event.php new file mode 100644 index 0000000..ba2f888 --- /dev/null +++ b/workspace/app/Events/Event.php @@ -0,0 +1,8 @@ +<?php + +namespace App\Events; + +abstract class Event +{ + // +} diff --git a/workspace/app/Exceptions/Handler.php b/workspace/app/Exceptions/Handler.php new file mode 100644 index 0000000..53617ef --- /dev/null +++ b/workspace/app/Exceptions/Handler.php @@ -0,0 +1,50 @@ +<?php + +namespace App\Exceptions; + +use Exception; +use Illuminate\Validation\ValidationException; +use Illuminate\Auth\Access\AuthorizationException; +use Illuminate\Database\Eloquent\ModelNotFoundException; +use Symfony\Component\HttpKernel\Exception\HttpException; +use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler; + +class Handler extends ExceptionHandler +{ + /** + * A list of the exception types that should not be reported. + * + * @var array + */ + protected $dontReport = [ + AuthorizationException::class, + HttpException::class, + ModelNotFoundException::class, + ValidationException::class, + ]; + + /** + * Report or log an exception. + * + * This is a great spot to send exceptions to Sentry, Bugsnag, etc. + * + * @param \Exception $e + * @return void + */ + public function report(Exception $e) + { + parent::report($e); + } + + /** + * Render an exception into an HTTP response. + * + * @param \Illuminate\Http\Request $request + * @param \Exception $e + * @return \Illuminate\Http\Response + */ + public function render($request, Exception $e) + { + return parent::render($request, $e); + } +} diff --git a/workspace/app/Http/Controllers/Auth/AuthController.php b/workspace/app/Http/Controllers/Auth/AuthController.php new file mode 100644 index 0000000..0327c88 --- /dev/null +++ b/workspace/app/Http/Controllers/Auth/AuthController.php @@ -0,0 +1,73 @@ +<?php + +namespace App\Http\Controllers\Auth; + +use App\User; +use Validator; +use App\Http\Controllers\Controller; +use Illuminate\Foundation\Auth\ThrottlesLogins; +use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers; + +class AuthController extends Controller +{ + /* + |-------------------------------------------------------------------------- + | Registration & Login Controller + |-------------------------------------------------------------------------- + | + | This controller handles the registration of new users, as well as the + | authentication of existing users. By default, this controller uses + | a simple trait to add these behaviors. Why don't you explore it? + | + */ + + use AuthenticatesAndRegistersUsers, ThrottlesLogins; + + /** + * Where to redirect users after login / registration. + * + * @var string + */ + protected $redirectTo = '/'; + + /** + * Create a new authentication controller instance. + * + * @return void + */ + public function __construct() + { + $this->middleware($this->guestMiddleware(), ['except' => 'logout']); + } + + /** + * Get a validator for an incoming registration request. + * + * @param array $data + * @return \Illuminate\Contracts\Validation\Validator + */ + protected function validator(array $data) + { + return Validator::make($data, [ + 'name' => 'required|max:255|unique:users', + 'email' => 'required|email|max:255|unique:users', + 'password' => 'required|min:6|confirmed', + 'cgu_checked' => 'required' + ]); + } + + /** + * Create a new user instance after a valid registration. + * + * @param array $data + * @return User + */ + protected function create(array $data) + { + return User::create([ + 'name' => $data['name'], + 'email' => $data['email'], + 'password' => bcrypt($data['password']), + ]); + } +} diff --git a/workspace/app/Http/Controllers/Auth/PasswordController.php b/workspace/app/Http/Controllers/Auth/PasswordController.php new file mode 100644 index 0000000..1ceed97 --- /dev/null +++ b/workspace/app/Http/Controllers/Auth/PasswordController.php @@ -0,0 +1,32 @@ +<?php + +namespace App\Http\Controllers\Auth; + +use App\Http\Controllers\Controller; +use Illuminate\Foundation\Auth\ResetsPasswords; + +class PasswordController extends Controller +{ + /* + |-------------------------------------------------------------------------- + | Password Reset Controller + |-------------------------------------------------------------------------- + | + | This controller is responsible for handling password reset requests + | and uses a simple trait to include this behavior. You're free to + | explore this trait and override any methods you wish to tweak. + | + */ + + use ResetsPasswords; + + /** + * Create a new password controller instance. + * + * @return void + */ + public function __construct() + { + $this->middleware('guest'); + } +} diff --git a/workspace/app/Http/Controllers/Controller.php b/workspace/app/Http/Controllers/Controller.php new file mode 100644 index 0000000..d492e0b --- /dev/null +++ b/workspace/app/Http/Controllers/Controller.php @@ -0,0 +1,14 @@ +<?php + +namespace App\Http\Controllers; + +use Illuminate\Foundation\Bus\DispatchesJobs; +use Illuminate\Routing\Controller as BaseController; +use Illuminate\Foundation\Validation\ValidatesRequests; +use Illuminate\Foundation\Auth\Access\AuthorizesRequests; +use Illuminate\Foundation\Auth\Access\AuthorizesResources; + +class Controller extends BaseController +{ + use AuthorizesRequests, AuthorizesResources, DispatchesJobs, ValidatesRequests; +} diff --git a/workspace/app/Http/Controllers/HomeController.php b/workspace/app/Http/Controllers/HomeController.php new file mode 100644 index 0000000..2865793 --- /dev/null +++ b/workspace/app/Http/Controllers/HomeController.php @@ -0,0 +1,29 @@ +<?php + +namespace App\Http\Controllers; + +use App\Http\Requests; +use Illuminate\Http\Request; + +class HomeController extends Controller +{ + /** + * Create a new controller instance. + * + * @return void + */ + public function __construct() + { + $this->middleware('auth'); + } + + /** + * Show the application dashboard. + * + * @return \Illuminate\Http\Response + */ + public function index() + { + return view('index'); + } +} diff --git a/workspace/app/Http/Controllers/ProductsController.php b/workspace/app/Http/Controllers/ProductsController.php new file mode 100644 index 0000000..34a99a3 --- /dev/null +++ b/workspace/app/Http/Controllers/ProductsController.php @@ -0,0 +1,164 @@ +<?php + +namespace App\Http\Controllers; + +use Illuminate\Http\Request; +use App\Http\Requests\ProductCreateRequest; +use App\Http\Requests\ProductUpdateRequest; + +use App\Repositories\ProductRepository; + +use App\Http\Requests; + + +class ProductsController extends Controller +{ + + protected $nbrPerPage = 10; + + + /* A VOIR: replace USER -> PRODUCT */ + protected $productRepository; + + public function __construct(ProductRepository $productRepository) + { + $this->productRepository = $productRepository; + } + + /** + * Display a listing of the resource. + * + * @return \Illuminate\Http\Response + * + * + * https://openclassrooms.com/courses/decouvrez-le-framework-php-laravel-1/les-ressources-1-2 + * + */ + public function index() + { + $products = $this->productRepository->getPaginate($this->nbrPerPage); + $links = $products->render(); + + /* On doit mettre ici le nom de la page qui pourra utiliser + * des @foreach pour itéré sur les produits + */ + return view('products.product_index', compact('products', 'links')); + } + + /** + * Show the form for creating a new resource. + * + * @return \Illuminate\Http\Response + */ + public function create() + { + return view('products.product_create'); + } + + /** + * Store a newly created resource in storage. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + * + * + */ + public function store(Request $request) + { + $product = $this->productRepository->store($request->all()); + + return redirect('products')->withOk("L'annonce " . $product->title . " a été créé."); + } + + /** + * Display the specified resource. + * + * @param int $id + * @return \Illuminate\Http\Response + * + * + */ + public function show($id) + { + $product = $this->productRepository->getById($id); + + return view('products.product_show', compact('product')); + } + + /** + * Display the specified resource. + * + * @param string $product + * @return \Illuminate\Http\Response + * + * + */ + public function research($data) + { + $products = $this->productRepository->getByString($data, $this->nbrPerPage); + $links = $products->render(); + + return view('products.product_index', compact('products', 'links')); + } + + /** + * Display resources expiring soon. + * + * @param date $date + * @return \Illuminate\Http\Response + * + * + */ + public function soon($date) + { + $product = $this->productRepository->getById($date); + + return view('products.product_index', compact('product')); + } + + /** + * Show the form for editing the specified resource. + * + * @param int $id + * @return \Illuminate\Http\Response + * + * TODO + */ + public function edit($id) + { + $product = $this->productRepository->getById($id); + + return view('products.product_edit', compact('product')); + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param int $id + * @return \Illuminate\Http\Response + * + * TODO + */ + public function update(Request $request, $id) + { + $this->productRepository->update($id, $request->all()); + + return redirect('product')->withOk("L'annonce " . $request->input('name') . " a été modifié."); + } + + /** + * Remove the specified resource from storage. + * + * @param int $id + * @return \Illuminate\Http\Response + * + * TODO + */ + public function destroy($id) + { + $this->productRepository->destroy($id); + + return back(); + } +} diff --git a/workspace/app/Http/Controllers/UserController.php b/workspace/app/Http/Controllers/UserController.php new file mode 100644 index 0000000..08f5578 --- /dev/null +++ b/workspace/app/Http/Controllers/UserController.php @@ -0,0 +1,53 @@ +<?php + +namespace App\Http\Controllers; + +use App\Http\Requests\UserCreateRequest; +use App\Http\Requests\UserUpdateRequest; + +use App\Repositories\UserRepository; + +use Illuminate\Http\Request; + +class UserController extends Controller +{ + + protected $userRepository; + + protected $nbrPerPage = 4; + + public function __construct(UserRepository $userRepository) + { + $this->userRepository = $userRepository; + } + + public function index() + { + $users = $this->userRepository->getPaginate($this->nbrPerPage); + $links = $users->render(); + + return view('user.user_index', compact('users', 'links')); + } + + public function show($id) + { + $user = $this->userRepository->getById($id); + + return view('user.user_show', compact('user')); + } + + public function edit($id) + { + $user = $this->userRepository->getById($id); + + return view('user.user_edit', compact('user')); + } + + public function update(UserUpdateRequest $request, $id) + { + $this->userRepository->update($id, $request->all()); + + return redirect('user')->withOk("L'utilisateur " . $request->input('name') . " a été modifié."); + } + +} \ No newline at end of file diff --git a/workspace/app/Http/Kernel.php b/workspace/app/Http/Kernel.php new file mode 100644 index 0000000..bffcfd9 --- /dev/null +++ b/workspace/app/Http/Kernel.php @@ -0,0 +1,53 @@ +<?php + +namespace App\Http; + +use Illuminate\Foundation\Http\Kernel as HttpKernel; + +class Kernel extends HttpKernel +{ + /** + * The application's global HTTP middleware stack. + * + * These middleware are run during every request to your application. + * + * @var array + */ + protected $middleware = [ + \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class, + ]; + + /** + * The application's route middleware groups. + * + * @var array + */ + protected $middlewareGroups = [ + 'web' => [ + \App\Http\Middleware\EncryptCookies::class, + \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, + \Illuminate\Session\Middleware\StartSession::class, + \Illuminate\View\Middleware\ShareErrorsFromSession::class, + \App\Http\Middleware\VerifyCsrfToken::class, + ], + + 'api' => [ + 'throttle:60,1', + ], + ]; + + /** + * The application's route middleware. + * + * These middleware may be assigned to groups or used individually. + * + * @var array + */ + protected $routeMiddleware = [ + 'auth' => \App\Http\Middleware\Authenticate::class, + 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, + 'can' => \Illuminate\Foundation\Http\Middleware\Authorize::class, + 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, + 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, + ]; +} diff --git a/workspace/app/Http/Middleware/Authenticate.php b/workspace/app/Http/Middleware/Authenticate.php new file mode 100644 index 0000000..67abcae --- /dev/null +++ b/workspace/app/Http/Middleware/Authenticate.php @@ -0,0 +1,30 @@ +<?php + +namespace App\Http\Middleware; + +use Closure; +use Illuminate\Support\Facades\Auth; + +class Authenticate +{ + /** + * Handle an incoming request. + * + * @param \Illuminate\Http\Request $request + * @param \Closure $next + * @param string|null $guard + * @return mixed + */ + public function handle($request, Closure $next, $guard = null) + { + if (Auth::guard($guard)->guest()) { + if ($request->ajax() || $request->wantsJson()) { + return response('Unauthorized.', 401); + } else { + return redirect()->guest('login'); + } + } + + return $next($request); + } +} diff --git a/workspace/app/Http/Middleware/EncryptCookies.php b/workspace/app/Http/Middleware/EncryptCookies.php new file mode 100644 index 0000000..3aa15f8 --- /dev/null +++ b/workspace/app/Http/Middleware/EncryptCookies.php @@ -0,0 +1,17 @@ +<?php + +namespace App\Http\Middleware; + +use Illuminate\Cookie\Middleware\EncryptCookies as BaseEncrypter; + +class EncryptCookies extends BaseEncrypter +{ + /** + * The names of the cookies that should not be encrypted. + * + * @var array + */ + protected $except = [ + // + ]; +} diff --git a/workspace/app/Http/Middleware/RedirectIfAuthenticated.php b/workspace/app/Http/Middleware/RedirectIfAuthenticated.php new file mode 100644 index 0000000..e27860e --- /dev/null +++ b/workspace/app/Http/Middleware/RedirectIfAuthenticated.php @@ -0,0 +1,26 @@ +<?php + +namespace App\Http\Middleware; + +use Closure; +use Illuminate\Support\Facades\Auth; + +class RedirectIfAuthenticated +{ + /** + * Handle an incoming request. + * + * @param \Illuminate\Http\Request $request + * @param \Closure $next + * @param string|null $guard + * @return mixed + */ + public function handle($request, Closure $next, $guard = null) + { + if (Auth::guard($guard)->check()) { + return redirect('/'); + } + + return $next($request); + } +} diff --git a/workspace/app/Http/Middleware/VerifyCsrfToken.php b/workspace/app/Http/Middleware/VerifyCsrfToken.php new file mode 100644 index 0000000..a2c3541 --- /dev/null +++ b/workspace/app/Http/Middleware/VerifyCsrfToken.php @@ -0,0 +1,17 @@ +<?php + +namespace App\Http\Middleware; + +use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier; + +class VerifyCsrfToken extends BaseVerifier +{ + /** + * The URIs that should be excluded from CSRF verification. + * + * @var array + */ + protected $except = [ + // + ]; +} diff --git a/workspace/app/Http/Requests/ProductCreateRequest.php b/workspace/app/Http/Requests/ProductCreateRequest.php new file mode 100644 index 0000000..3994a19 --- /dev/null +++ b/workspace/app/Http/Requests/ProductCreateRequest.php @@ -0,0 +1,42 @@ +<?php + +namespace App\Http\Requests; + +use App\Http\Requests\Request; + +class ProductCreateRequest extends Request +{ + /** + * Determine if the user is authorized to make this request. + * + * @return bool + */ + public function authorize() + { + return true; + } + + /** + * Get the validation rules that apply to the request. + * + * TODO en fonction du formulaire d'enregistrement de l'annonce + * + * https://laravel.com/docs/5.2/validation#available-validation-rules + * + * @return array + */ + public function rules() + { + return [ + 'title' => 'required', + 'email' => 'required|email', + 'adres_number' => 'required|numeric', + 'adress_street' => 'required|alpha', + 'adress_city' => 'required|alpha', + 'postal_code' => 'required|int', + //'description' => '' Champ Libre + 'expire_at' => 'required|date', + 'category' => 'required' + ]; + } +} diff --git a/workspace/app/Http/Requests/ProductUpdateRequest.php b/workspace/app/Http/Requests/ProductUpdateRequest.php new file mode 100644 index 0000000..47c4d6c --- /dev/null +++ b/workspace/app/Http/Requests/ProductUpdateRequest.php @@ -0,0 +1,44 @@ +<?php + +namespace App\Http\Requests; + +use App\Http\Requests\Request; + +class ProductUpdateRequest extends Request +{ + /** + * Determine if the user is authorized to make this request. + * + * @return bool + */ + public function authorize() + { + return true; + } + + /** + * Get the validation rules that apply to the request. + * + * TODO en fonction du formulaire d'enregistrement de l'annonce + * + * https://laravel.com/docs/5.2/validation#available-validation-rules + * + * @return array + */ + public function rules() + { + //TODO : Voir l'intéret de $id + $id = $this->product; + return [ + 'title' => 'required' . $id, + 'email' => 'required|email' . $id, + 'adres_number' => 'required|numeric' . $id, + 'adress_street' => 'required|alpha' . $id, + 'adress_city' => 'required|alpha' . $id, + 'postal_code' => 'required|int' . $id, + //'description' => '' Champ Libre + 'expire_at' => 'required|date' .$id , + 'category' => 'required' . $id + ]; + } +} diff --git a/workspace/app/Http/routes.php b/workspace/app/Http/routes.php new file mode 100644 index 0000000..34fd016 --- /dev/null +++ b/workspace/app/Http/routes.php @@ -0,0 +1,127 @@ +<?php + +/* +|-------------------------------------------------------------------------- +| Application Routes +|-------------------------------------------------------------------------- +| +| Here is where you can register all of the routes for an application. +| It's a breeze. Simply tell Laravel the URIs it should respond to +| and give it the controller to call when that URI is requested. +| +*/ + +/* Routes des pages principales */ +Route::get('/', function () { + return view('index'); +}); + +/* +Route::get('/products', function () { + return view('all_products'); +}); +*/ + +/* Formulaire de dépot d'annonce */ + +Route::resource('products', 'ProductsController'); + +Route::post('research', 'ProductsController@research'); +Route::get('research', 'ProductsController@research'); + +/* +Route::group(array('before' => 'csrf'), function () { +Route::post('products/research', function() { + $match = \Request::get('products/research'); + if($match) { + return Redirect::route('index', array('match' => $match)) + ->with('flash_notice', 'Résultats pour la recherche du terme '.$match); + } else { + return Redirect::route('index') + ->with('flash_error', 'Nous n\'avons rien trouvé !'); + } +}); +}); + +Route::get('products/{match?}', array('as' => 'index', function ($match = NULL) { + $products = NULL; + if($match) { + $products = Product::where('title', 'LIKE', '%'.$match.'%') + ->orwhere('description', 'LIKE', '%'.$match.'%') + ->orderBy('expire_at') + ->paginate(12); + } else { + $products = Product::select('*') + ->orderBy('expire_at') + ->paginate(12); + } + return view('products.product_index', compact('products')); +}));*/ + +/* test page produits alimentaires */ +Route::get('products/{match?}', array('as' => 'alimentary', function ($match = NULL) { + $products = NULL; + if($match) { + $products = Product::where('title', 'LIKE', '%'.$match.'%') + ->orwhere('description', 'LIKE', '%'.$match.'%') + ->orderBy('expire_at') + ->paginate(12); + } else { + $products = Product::select('*') + ->orderBy('expire_at') + ->paginate(12); + } + return view('products.product_alimentary', compact('products')); +})); + +/* Formulaire de modification de profil */ + +Route::resource('user', 'UserController'); + + + + +/* Lorsqu'une recherche est effectuée + !! CECI EST UN EXEMPLE !! + +Route::get('/produits/page{n}', 'ArticleController@show')->where('n', '[0-9]+'); +*/ + +Route::get('/seek', function() { + //Affiche la page seek.blade.php dans ressources/view + return view('seek'); + +}); + + + + +/*Route qui traite la requête GET +Route::get('/seek/{r}', function($r){ +}->where('title','LIKE','%'.$r.'%');*/ + + + +/* Connexion/Inscription */ +Route::get('/cgu', function () { + return view('guide.cgu'); +}); + +Route::auth(); + + +/* -------------- USELESS -------------- */ + +Route::get('/registery', function () { + return view('registery'); +}); + +Route::get('/confirmRegistery', function () { + return view('confirmRegistery'); +}); + + + +/* Demande d'inscription +Route::get('register', 'RegisterController@getForm'); +Route::post('register', 'RegisterController@postForm'); */ \ No newline at end of file diff --git a/workspace/app/Jobs/Job.php b/workspace/app/Jobs/Job.php new file mode 100644 index 0000000..55ece29 --- /dev/null +++ b/workspace/app/Jobs/Job.php @@ -0,0 +1,21 @@ +<?php + +namespace App\Jobs; + +use Illuminate\Bus\Queueable; + +abstract class Job +{ + /* + |-------------------------------------------------------------------------- + | Queueable Jobs + |-------------------------------------------------------------------------- + | + | This job base class provides a central location to place any logic that + | is shared across all of your jobs. The trait included with the class + | provides access to the "onQueue" and "delay" queue helper methods. + | + */ + + use Queueable; +} diff --git a/workspace/app/Listeners/.gitkeep b/workspace/app/Listeners/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/workspace/app/Listeners/.gitkeep @@ -0,0 +1 @@ + diff --git a/workspace/app/Policies/.gitkeep b/workspace/app/Policies/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/workspace/app/Policies/.gitkeep @@ -0,0 +1 @@ + diff --git a/workspace/app/Product.php b/workspace/app/Product.php new file mode 100644 index 0000000..a0bcec1 --- /dev/null +++ b/workspace/app/Product.php @@ -0,0 +1,12 @@ +<?php + +namespace App; + +use Illuminate\Database\Eloquent\Model; + +class Product extends Model +{ + protected $table = 'products'; + + public $timestamps = false; +} diff --git a/workspace/app/Providers/AppServiceProvider.php b/workspace/app/Providers/AppServiceProvider.php new file mode 100644 index 0000000..35471f6 --- /dev/null +++ b/workspace/app/Providers/AppServiceProvider.php @@ -0,0 +1,28 @@ +<?php + +namespace App\Providers; + +use Illuminate\Support\ServiceProvider; + +class AppServiceProvider extends ServiceProvider +{ + /** + * Bootstrap any application services. + * + * @return void + */ + public function boot() + { + // + } + + /** + * Register any application services. + * + * @return void + */ + public function register() + { + // + } +} diff --git a/workspace/app/Providers/AuthServiceProvider.php b/workspace/app/Providers/AuthServiceProvider.php new file mode 100644 index 0000000..57d88ea --- /dev/null +++ b/workspace/app/Providers/AuthServiceProvider.php @@ -0,0 +1,31 @@ +<?php + +namespace App\Providers; + +use Illuminate\Contracts\Auth\Access\Gate as GateContract; +use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider; + +class AuthServiceProvider extends ServiceProvider +{ + /** + * The policy mappings for the application. + * + * @var array + */ + protected $policies = [ + 'App\Model' => 'App\Policies\ModelPolicy', + ]; + + /** + * Register any application authentication / authorization services. + * + * @param \Illuminate\Contracts\Auth\Access\Gate $gate + * @return void + */ + public function boot(GateContract $gate) + { + $this->registerPolicies($gate); + + // + } +} diff --git a/workspace/app/Providers/EventServiceProvider.php b/workspace/app/Providers/EventServiceProvider.php new file mode 100644 index 0000000..58ce962 --- /dev/null +++ b/workspace/app/Providers/EventServiceProvider.php @@ -0,0 +1,33 @@ +<?php + +namespace App\Providers; + +use Illuminate\Contracts\Events\Dispatcher as DispatcherContract; +use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider; + +class EventServiceProvider extends ServiceProvider +{ + /** + * The event listener mappings for the application. + * + * @var array + */ + protected $listen = [ + 'App\Events\SomeEvent' => [ + 'App\Listeners\EventListener', + ], + ]; + + /** + * Register any other events for your application. + * + * @param \Illuminate\Contracts\Events\Dispatcher $events + * @return void + */ + public function boot(DispatcherContract $events) + { + parent::boot($events); + + // + } +} diff --git a/workspace/app/Providers/RouteServiceProvider.php b/workspace/app/Providers/RouteServiceProvider.php new file mode 100644 index 0000000..bde0881 --- /dev/null +++ b/workspace/app/Providers/RouteServiceProvider.php @@ -0,0 +1,61 @@ +<?php + +namespace App\Providers; + +use Illuminate\Routing\Router; +use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; + +class RouteServiceProvider extends ServiceProvider +{ + /** + * This namespace is applied to your controller routes. + * + * In addition, it is set as the URL generator's root namespace. + * + * @var string + */ + protected $namespace = 'App\Http\Controllers'; + + /** + * Define your route model bindings, pattern filters, etc. + * + * @param \Illuminate\Routing\Router $router + * @return void + */ + public function boot(Router $router) + { + // + + parent::boot($router); + } + + /** + * Define the routes for the application. + * + * @param \Illuminate\Routing\Router $router + * @return void + */ + public function map(Router $router) + { + $this->mapWebRoutes($router); + + // + } + + /** + * Define the "web" routes for the application. + * + * These routes all receive session state, CSRF protection, etc. + * + * @param \Illuminate\Routing\Router $router + * @return void + */ + protected function mapWebRoutes(Router $router) + { + $router->group([ + 'namespace' => $this->namespace, 'middleware' => 'web', + ], function ($router) { + require app_path('Http/routes.php'); + }); + } +} diff --git a/workspace/app/Repositories/ProductRepository.php b/workspace/app/Repositories/ProductRepository.php new file mode 100644 index 0000000..7c1f293 --- /dev/null +++ b/workspace/app/Repositories/ProductRepository.php @@ -0,0 +1,91 @@ +<?php + +namespace App\Repositories; + +use App\Product; + +/* +TODO + +https://openclassrooms.com/courses/decouvrez-le-framework-php-laravel-1/les-ressources-2-2-et-les-erreurs + +*/ +class ProductRepository +{ + + protected $product; + + public function __construct(Product $product) + { + $this->product = $product; + } + + + private function save(Product $product, Array $inputs) + { + $product->title = $inputs['title']; + $product->email = $inputs['email']; + $product->address_number = $inputs['address_number']; + $product->address_street = $inputs['address_street']; + $product->address_city = $inputs['address_city']; + $product->postal_code = $inputs['postal_code']; + $product->description = $inputs['description']; + $product->expire_at = $inputs['expire_at']; + $product->category = $inputs['category']; + + if( isset($inputs['vegan']) ){ + //Boolean type + $product->vegan = $inputs['vegan']; + } + + $product->save(); + } + + public function getPaginate($n) + { + return $this->product->paginate($n); + } + + public function store(Array $inputs) + { + $product = new $this->product; + + // possibilité de chiffrer des données + //$product->password = bcrypt($inputs['password']); + + $this->save($product, $inputs); + + return $product; + } + + public function getById($id) + { + return $this->product->findOrFail($id); + } + /* https://stackoverflow.com/questions/37313187/laravel-5-2-search-function */ + public function getByString($data,$n) + { + return $this->product + ->where('title', 'LIKE', '%'.$data['r'].'%') + ->orwhere('description', 'LIKE', '%'.$data['r'].'%') + ->paginate($n); + } + + /* http://laraveldaily.com/eloquent-date-filtering-wheredate-and-other-methods/ */ + public function getByDate($id) + { + return $this->product->findOrFail($id); + } + + public function update($id, Array $inputs) + { + $this->save($this->getById($id), $inputs); + } + + public function destroy($id) + { + $this->getById($id)->delete(); + } + +} + diff --git a/workspace/app/Repositories/UserRepository.php b/workspace/app/Repositories/UserRepository.php new file mode 100644 index 0000000..09c6c87 --- /dev/null +++ b/workspace/app/Repositories/UserRepository.php @@ -0,0 +1,56 @@ +<?php + +namespace App\Repositories; + +use App\User; + +class UserRepository +{ + + protected $user; + + public function __construct(User $user) + { + $this->user = $user; + } + + private function save(User $user, Array $inputs) + { + $user->name = $inputs['name']; + $user->email = $inputs['email']; + $user->admin = isset($inputs['admin']); + + $user->save(); + } + + public function getPaginate($n) + { + return $this->user->paginate($n); + } + + public function store(Array $inputs) + { + $user = new $this->user; + $user->password = bcrypt($inputs['password']); + + $this->save($user, $inputs); + + return $user; + } + + public function getById($id) + { + return $this->user->findOrFail($id); + } + + public function update($id, Array $inputs) + { + $this->save($this->getById($id), $inputs); + } + + public function destroy($id) + { + $this->getById($id)->delete(); + } + +} \ No newline at end of file diff --git a/workspace/app/User.php b/workspace/app/User.php new file mode 100644 index 0000000..75741ae --- /dev/null +++ b/workspace/app/User.php @@ -0,0 +1,26 @@ +<?php + +namespace App; + +use Illuminate\Foundation\Auth\User as Authenticatable; + +class User extends Authenticatable +{ + /** + * The attributes that are mass assignable. + * + * @var array + */ + protected $fillable = [ + 'name', 'email', 'password', + ]; + + /** + * The attributes that should be hidden for arrays. + * + * @var array + */ + protected $hidden = [ + 'password', 'remember_token', + ]; +} diff --git a/workspace/artisan b/workspace/artisan new file mode 100755 index 0000000..df630d0 --- /dev/null +++ b/workspace/artisan @@ -0,0 +1,51 @@ +#!/usr/bin/env php +<?php + +/* +|-------------------------------------------------------------------------- +| Register The Auto Loader +|-------------------------------------------------------------------------- +| +| Composer provides a convenient, automatically generated class loader +| for our application. We just need to utilize it! We'll require it +| into the script here so that we do not have to worry about the +| loading of any our classes "manually". Feels great to relax. +| +*/ + +require __DIR__.'/bootstrap/autoload.php'; + +$app = require_once __DIR__.'/bootstrap/app.php'; + +/* +|-------------------------------------------------------------------------- +| Run The Artisan Application +|-------------------------------------------------------------------------- +| +| When we run the console application, the current CLI command will be +| executed in this console and the response sent back to a terminal +| or another output device for the developers. Here goes nothing! +| +*/ + +$kernel = $app->make(Illuminate\Contracts\Console\Kernel::class); + +$status = $kernel->handle( + $input = new Symfony\Component\Console\Input\ArgvInput, + new Symfony\Component\Console\Output\ConsoleOutput +); + +/* +|-------------------------------------------------------------------------- +| Shutdown The Application +|-------------------------------------------------------------------------- +| +| Once Artisan has finished running. We will fire off the shutdown events +| so that any final work may be done by the application before we shut +| down the process. This is the last thing to happen to the request. +| +*/ + +$kernel->terminate($input, $status); + +exit($status); diff --git a/workspace/bootstrap/app.php b/workspace/bootstrap/app.php new file mode 100644 index 0000000..f2801ad --- /dev/null +++ b/workspace/bootstrap/app.php @@ -0,0 +1,55 @@ +<?php + +/* +|-------------------------------------------------------------------------- +| Create The Application +|-------------------------------------------------------------------------- +| +| The first thing we will do is create a new Laravel application instance +| which serves as the "glue" for all the components of Laravel, and is +| the IoC container for the system binding all of the various parts. +| +*/ + +$app = new Illuminate\Foundation\Application( + realpath(__DIR__.'/../') +); + +/* +|-------------------------------------------------------------------------- +| Bind Important Interfaces +|-------------------------------------------------------------------------- +| +| Next, we need to bind some important interfaces into the container so +| we will be able to resolve them when needed. The kernels serve the +| incoming requests to this application from both the web and CLI. +| +*/ + +$app->singleton( + Illuminate\Contracts\Http\Kernel::class, + App\Http\Kernel::class +); + +$app->singleton( + Illuminate\Contracts\Console\Kernel::class, + App\Console\Kernel::class +); + +$app->singleton( + Illuminate\Contracts\Debug\ExceptionHandler::class, + App\Exceptions\Handler::class +); + +/* +|-------------------------------------------------------------------------- +| Return The Application +|-------------------------------------------------------------------------- +| +| This script returns the application instance. The instance is given to +| the calling script so we can separate the building of the instances +| from the actual running of the application and sending responses. +| +*/ + +return $app; diff --git a/workspace/bootstrap/autoload.php b/workspace/bootstrap/autoload.php new file mode 100644 index 0000000..3830137 --- /dev/null +++ b/workspace/bootstrap/autoload.php @@ -0,0 +1,34 @@ +<?php + +define('LARAVEL_START', microtime(true)); + +/* +|-------------------------------------------------------------------------- +| Register The Composer Auto Loader +|-------------------------------------------------------------------------- +| +| Composer provides a convenient, automatically generated class loader +| for our application. We just need to utilize it! We'll require it +| into the script here so that we do not have to worry about the +| loading of any our classes "manually". Feels great to relax. +| +*/ + +require __DIR__.'/../vendor/autoload.php'; + +/* +|-------------------------------------------------------------------------- +| Include The Compiled Class File +|-------------------------------------------------------------------------- +| +| To dramatically increase your application's performance, you may use a +| compiled class file which contains all of the classes commonly used +| by a request. The Artisan "optimize" is used to create this file. +| +*/ + +$compiledPath = __DIR__.'/cache/compiled.php'; + +if (file_exists($compiledPath)) { + require $compiledPath; +} diff --git a/workspace/bootstrap/cache/.gitignore b/workspace/bootstrap/cache/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/workspace/bootstrap/cache/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/workspace/composer.json b/workspace/composer.json new file mode 100644 index 0000000..d9ba4be --- /dev/null +++ b/workspace/composer.json @@ -0,0 +1,53 @@ +{ + "name": "laravel/laravel", + "description": "The Laravel Framework.", + "keywords": ["framework", "laravel"], + "license": "MIT", + "type": "project", + "require": { + "php": ">=5.5.9", + "laravel/framework": "5.2.*", + "twbs/bootstrap": "4.0.0-beta.2", + "illuminate/html": "5.*", + "laravelcollective/html":"^5.2.0" + }, + "require-dev": { + "fzaninotto/faker": "~1.4", + "mockery/mockery": "0.9.*", + "phpunit/phpunit": "~4.0", + "symfony/css-selector": "2.8.*|3.0.*", + "symfony/dom-crawler": "2.8.*|3.0.*" + }, + "autoload": { + "classmap": [ + "database" + ], + "psr-4": { + "App\\": "app/" + } + }, + "autoload-dev": { + "classmap": [ + "tests/TestCase.php" + ] + }, + "scripts": { + "post-root-package-install": [ + "php -r \"copy('.env.example', '.env');\"" + ], + "post-create-project-cmd": [ + "php artisan key:generate" + ], + "post-install-cmd": [ + "Illuminate\\Foundation\\ComposerScripts::postInstall", + "php artisan optimize" + ], + "post-update-cmd": [ + "Illuminate\\Foundation\\ComposerScripts::postUpdate", + "php artisan optimize" + ] + }, + "config": { + "preferred-install": "dist" + } +} diff --git a/workspace/composer.lock b/workspace/composer.lock new file mode 100644 index 0000000..cdfaa15 --- /dev/null +++ b/workspace/composer.lock @@ -0,0 +1,3351 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "This file is @generated automatically" + ], + "content-hash": "9f403bb82ca010ff31395baf19507c8f", + "packages": [ + { + "name": "classpreloader/classpreloader", + "version": "3.1.0", + "source": { + "type": "git", + "url": "https://github.com/ClassPreloader/ClassPreloader.git", + "reference": "bc7206aa892b5a33f4680421b69b191efd32b096" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ClassPreloader/ClassPreloader/zipball/bc7206aa892b5a33f4680421b69b191efd32b096", + "reference": "bc7206aa892b5a33f4680421b69b191efd32b096", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^1.0|^2.0|^3.0", + "php": ">=5.5.9" + }, + "require-dev": { + "phpunit/phpunit": "^4.8|^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "ClassPreloader\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com" + }, + { + "name": "Graham Campbell", + "email": "graham@alt-three.com" + } + ], + "description": "Helps class loading performance by generating a single PHP file containing all of the autoloaded files for a specific use case", + "keywords": [ + "autoload", + "class", + "preload" + ], + "time": "2016-09-16T12:50:15+00:00" + }, + { + "name": "dnoegel/php-xdg-base-dir", + "version": "0.1", + "source": { + "type": "git", + "url": "https://github.com/dnoegel/php-xdg-base-dir.git", + "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/265b8593498b997dc2d31e75b89f053b5cc9621a", + "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "@stable" + }, + "type": "project", + "autoload": { + "psr-4": { + "XdgBaseDir\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "implementation of xdg base directory specification for php", + "time": "2014-10-24T07:27:01+00:00" + }, + { + "name": "doctrine/inflector", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "90b2128806bfde671b6952ab8bea493942c1fdae" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/90b2128806bfde671b6952ab8bea493942c1fdae", + "reference": "90b2128806bfde671b6952ab8bea493942c1fdae", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "4.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Inflector\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Common String Manipulations with regard to casing and singular/plural rules.", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "inflection", + "pluralize", + "singularize", + "string" + ], + "time": "2015-11-06T14:35:42+00:00" + }, + { + "name": "illuminate/html", + "version": "v5.0.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/html.git", + "reference": "3d1009bb8e0f25720c914af5c1f4015dd373c9ef" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/html/zipball/3d1009bb8e0f25720c914af5c1f4015dd373c9ef", + "reference": "3d1009bb8e0f25720c914af5c1f4015dd373c9ef", + "shasum": "" + }, + "require": { + "illuminate/http": "~5.0", + "illuminate/session": "~5.0", + "illuminate/support": "~5.0", + "php": ">=5.4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Html\\": "" + }, + "files": [ + "helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylorotwell@gmail.com" + } + ], + "abandoned": "laravelcollective/html", + "time": "2015-01-01T16:31:18+00:00" + }, + { + "name": "jakub-onderka/php-console-color", + "version": "0.1", + "source": { + "type": "git", + "url": "https://github.com/JakubOnderka/PHP-Console-Color.git", + "reference": "e0b393dacf7703fc36a4efc3df1435485197e6c1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Color/zipball/e0b393dacf7703fc36a4efc3df1435485197e6c1", + "reference": "e0b393dacf7703fc36a4efc3df1435485197e6c1", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "jakub-onderka/php-code-style": "1.0", + "jakub-onderka/php-parallel-lint": "0.*", + "jakub-onderka/php-var-dump-check": "0.*", + "phpunit/phpunit": "3.7.*", + "squizlabs/php_codesniffer": "1.*" + }, + "type": "library", + "autoload": { + "psr-0": { + "JakubOnderka\\PhpConsoleColor": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "authors": [ + { + "name": "Jakub Onderka", + "email": "jakub.onderka@gmail.com", + "homepage": "http://www.acci.cz" + } + ], + "time": "2014-04-08T15:00:19+00:00" + }, + { + "name": "jakub-onderka/php-console-highlighter", + "version": "v0.3.2", + "source": { + "type": "git", + "url": "https://github.com/JakubOnderka/PHP-Console-Highlighter.git", + "reference": "7daa75df45242c8d5b75a22c00a201e7954e4fb5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Highlighter/zipball/7daa75df45242c8d5b75a22c00a201e7954e4fb5", + "reference": "7daa75df45242c8d5b75a22c00a201e7954e4fb5", + "shasum": "" + }, + "require": { + "jakub-onderka/php-console-color": "~0.1", + "php": ">=5.3.0" + }, + "require-dev": { + "jakub-onderka/php-code-style": "~1.0", + "jakub-onderka/php-parallel-lint": "~0.5", + "jakub-onderka/php-var-dump-check": "~0.1", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "~1.5" + }, + "type": "library", + "autoload": { + "psr-0": { + "JakubOnderka\\PhpConsoleHighlighter": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jakub Onderka", + "email": "acci@acci.cz", + "homepage": "http://www.acci.cz/" + } + ], + "time": "2015-04-20T18:58:01+00:00" + }, + { + "name": "jeremeamia/SuperClosure", + "version": "2.3.0", + "source": { + "type": "git", + "url": "https://github.com/jeremeamia/super_closure.git", + "reference": "443c3df3207f176a1b41576ee2a66968a507b3db" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/jeremeamia/super_closure/zipball/443c3df3207f176a1b41576ee2a66968a507b3db", + "reference": "443c3df3207f176a1b41576ee2a66968a507b3db", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^1.2|^2.0|^3.0", + "php": ">=5.4", + "symfony/polyfill-php56": "^1.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0|^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3-dev" + } + }, + "autoload": { + "psr-4": { + "SuperClosure\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jeremy Lindblom", + "email": "jeremeamia@gmail.com", + "homepage": "https://github.com/jeremeamia", + "role": "Developer" + } + ], + "description": "Serialize Closure objects, including their context and binding", + "homepage": "https://github.com/jeremeamia/super_closure", + "keywords": [ + "closure", + "function", + "lambda", + "parser", + "serializable", + "serialize", + "tokenizer" + ], + "time": "2016-12-07T09:37:55+00:00" + }, + { + "name": "laravel/framework", + "version": "v5.2.45", + "source": { + "type": "git", + "url": "https://github.com/laravel/framework.git", + "reference": "2a79f920d5584ec6df7cf996d922a742d11095d1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/framework/zipball/2a79f920d5584ec6df7cf996d922a742d11095d1", + "reference": "2a79f920d5584ec6df7cf996d922a742d11095d1", + "shasum": "" + }, + "require": { + "classpreloader/classpreloader": "~3.0", + "doctrine/inflector": "~1.0", + "ext-mbstring": "*", + "ext-openssl": "*", + "jeremeamia/superclosure": "~2.2", + "league/flysystem": "~1.0", + "monolog/monolog": "~1.11", + "mtdowling/cron-expression": "~1.0", + "nesbot/carbon": "~1.20", + "paragonie/random_compat": "~1.4", + "php": ">=5.5.9", + "psy/psysh": "0.7.*", + "swiftmailer/swiftmailer": "~5.1", + "symfony/console": "2.8.*|3.0.*", + "symfony/debug": "2.8.*|3.0.*", + "symfony/finder": "2.8.*|3.0.*", + "symfony/http-foundation": "2.8.*|3.0.*", + "symfony/http-kernel": "2.8.*|3.0.*", + "symfony/polyfill-php56": "~1.0", + "symfony/process": "2.8.*|3.0.*", + "symfony/routing": "2.8.*|3.0.*", + "symfony/translation": "2.8.*|3.0.*", + "symfony/var-dumper": "2.8.*|3.0.*", + "vlucas/phpdotenv": "~2.2" + }, + "replace": { + "illuminate/auth": "self.version", + "illuminate/broadcasting": "self.version", + "illuminate/bus": "self.version", + "illuminate/cache": "self.version", + "illuminate/config": "self.version", + "illuminate/console": "self.version", + "illuminate/container": "self.version", + "illuminate/contracts": "self.version", + "illuminate/cookie": "self.version", + "illuminate/database": "self.version", + "illuminate/encryption": "self.version", + "illuminate/events": "self.version", + "illuminate/exception": "self.version", + "illuminate/filesystem": "self.version", + "illuminate/hashing": "self.version", + "illuminate/http": "self.version", + "illuminate/log": "self.version", + "illuminate/mail": "self.version", + "illuminate/pagination": "self.version", + "illuminate/pipeline": "self.version", + "illuminate/queue": "self.version", + "illuminate/redis": "self.version", + "illuminate/routing": "self.version", + "illuminate/session": "self.version", + "illuminate/support": "self.version", + "illuminate/translation": "self.version", + "illuminate/validation": "self.version", + "illuminate/view": "self.version", + "tightenco/collect": "self.version" + }, + "require-dev": { + "aws/aws-sdk-php": "~3.0", + "mockery/mockery": "~0.9.4", + "pda/pheanstalk": "~3.0", + "phpunit/phpunit": "~4.1", + "predis/predis": "~1.0", + "symfony/css-selector": "2.8.*|3.0.*", + "symfony/dom-crawler": "2.8.*|3.0.*" + }, + "suggest": { + "aws/aws-sdk-php": "Required to use the SQS queue driver and SES mail driver (~3.0).", + "doctrine/dbal": "Required to rename columns and drop SQLite columns (~2.4).", + "fzaninotto/faker": "Required to use the eloquent factory builder (~1.4).", + "guzzlehttp/guzzle": "Required to use the Mailgun and Mandrill mail drivers and the ping methods on schedules (~5.3|~6.0).", + "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (~1.0).", + "league/flysystem-rackspace": "Required to use the Flysystem Rackspace driver (~1.0).", + "pda/pheanstalk": "Required to use the beanstalk queue driver (~3.0).", + "predis/predis": "Required to use the redis cache and queue drivers (~1.0).", + "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (~2.0).", + "symfony/css-selector": "Required to use some of the crawler integration testing tools (2.8.*|3.0.*).", + "symfony/dom-crawler": "Required to use most of the crawler integration testing tools (2.8.*|3.0.*).", + "symfony/psr-http-message-bridge": "Required to use psr7 bridging features (0.2.*)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/Illuminate/Queue/IlluminateQueueClosure.php" + ], + "files": [ + "src/Illuminate/Foundation/helpers.php", + "src/Illuminate/Support/helpers.php" + ], + "psr-4": { + "Illuminate\\": "src/Illuminate/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylorotwell@gmail.com" + } + ], + "description": "The Laravel Framework.", + "homepage": "http://laravel.com", + "keywords": [ + "framework", + "laravel" + ], + "time": "2016-08-26T11:44:52+00:00" + }, + { + "name": "laravelcollective/html", + "version": "v5.2.6", + "source": { + "type": "git", + "url": "https://github.com/LaravelCollective/html.git", + "reference": "4f6701c7c3f6ff2aee1f4ed205ed6820e1e3048e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/LaravelCollective/html/zipball/4f6701c7c3f6ff2aee1f4ed205ed6820e1e3048e", + "reference": "4f6701c7c3f6ff2aee1f4ed205ed6820e1e3048e", + "shasum": "" + }, + "require": { + "illuminate/http": "5.2.*", + "illuminate/routing": "5.2.*", + "illuminate/session": "5.2.*", + "illuminate/support": "5.2.*", + "illuminate/view": "5.2.*", + "php": ">=5.5.9" + }, + "require-dev": { + "illuminate/database": "5.2.*", + "mockery/mockery": "~0.9", + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Collective\\Html\\": "src/" + }, + "files": [ + "src/helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylorotwell@gmail.com" + }, + { + "name": "Adam Engebretson", + "email": "adam@laravelcollective.com" + } + ], + "description": "HTML and Form Builders for the Laravel Framework", + "homepage": "http://laravelcollective.com", + "time": "2017-05-21T18:02:21+00:00" + }, + { + "name": "league/flysystem", + "version": "1.0.41", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem.git", + "reference": "f400aa98912c561ba625ea4065031b7a41e5a155" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/f400aa98912c561ba625ea4065031b7a41e5a155", + "reference": "f400aa98912c561ba625ea4065031b7a41e5a155", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "conflict": { + "league/flysystem-sftp": "<1.0.6" + }, + "require-dev": { + "ext-fileinfo": "*", + "mockery/mockery": "~0.9", + "phpspec/phpspec": "^2.2", + "phpunit/phpunit": "~4.8" + }, + "suggest": { + "ext-fileinfo": "Required for MimeType", + "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", + "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", + "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", + "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", + "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", + "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", + "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", + "league/flysystem-webdav": "Allows you to use WebDAV storage", + "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", + "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", + "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Flysystem\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frenky.net" + } + ], + "description": "Filesystem abstraction: Many filesystems, one API.", + "keywords": [ + "Cloud Files", + "WebDAV", + "abstraction", + "aws", + "cloud", + "copy.com", + "dropbox", + "file systems", + "files", + "filesystem", + "filesystems", + "ftp", + "rackspace", + "remote", + "s3", + "sftp", + "storage" + ], + "time": "2017-08-06T17:41:04+00:00" + }, + { + "name": "monolog/monolog", + "version": "1.23.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd8c787753b3a2ad11bc60c063cff1358a32a3b4", + "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "psr/log": "~1.0" + }, + "provide": { + "psr/log-implementation": "1.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^2.4.9 || ^3.0", + "doctrine/couchdb": "~1.0@dev", + "graylog2/gelf-php": "~1.0", + "jakub-onderka/php-parallel-lint": "0.9", + "php-amqplib/php-amqplib": "~2.4", + "php-console/php-console": "^3.1.3", + "phpunit/phpunit": "~4.5", + "phpunit/phpunit-mock-objects": "2.3.0", + "ruflin/elastica": ">=0.90 <3.0", + "sentry/sentry": "^0.13", + "swiftmailer/swiftmailer": "^5.3|^6.0" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-mongo": "Allow sending log messages to a MongoDB server", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "php-console/php-console": "Allow sending log messages to Google Chrome", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server", + "sentry/sentry": "Allow sending log messages to a Sentry server" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Monolog\\": "src/Monolog" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "http://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "time": "2017-06-19T01:22:40+00:00" + }, + { + "name": "mtdowling/cron-expression", + "version": "v1.2.1", + "source": { + "type": "git", + "url": "https://github.com/mtdowling/cron-expression.git", + "reference": "9504fa9ea681b586028adaaa0877db4aecf32bad" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mtdowling/cron-expression/zipball/9504fa9ea681b586028adaaa0877db4aecf32bad", + "reference": "9504fa9ea681b586028adaaa0877db4aecf32bad", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "~4.0|~5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Cron\\": "src/Cron/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", + "keywords": [ + "cron", + "schedule" + ], + "time": "2017-01-23T04:29:33+00:00" + }, + { + "name": "nesbot/carbon", + "version": "1.22.1", + "source": { + "type": "git", + "url": "https://github.com/briannesbitt/Carbon.git", + "reference": "7cdf42c0b1cc763ab7e4c33c47a24e27c66bfccc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/7cdf42c0b1cc763ab7e4c33c47a24e27c66bfccc", + "reference": "7cdf42c0b1cc763ab7e4c33c47a24e27c66bfccc", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "symfony/translation": "~2.6 || ~3.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2", + "phpunit/phpunit": "~4.0 || ~5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.23-dev" + } + }, + "autoload": { + "psr-4": { + "Carbon\\": "src/Carbon/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brian Nesbitt", + "email": "brian@nesbot.com", + "homepage": "http://nesbot.com" + } + ], + "description": "A simple API extension for DateTime.", + "homepage": "http://carbon.nesbot.com", + "keywords": [ + "date", + "datetime", + "time" + ], + "time": "2017-01-16T07:55:07+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v2.1.1", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "4dd659edadffdc2143e4753df655d866dbfeedf0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4dd659edadffdc2143e4753df655d866dbfeedf0", + "reference": "4dd659edadffdc2143e4753df655d866dbfeedf0", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=5.4" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "time": "2016-09-16T12:04:44+00:00" + }, + { + "name": "paragonie/random_compat", + "version": "v1.4.2", + "source": { + "type": "git", + "url": "https://github.com/paragonie/random_compat.git", + "reference": "965cdeb01fdcab7653253aa81d40441d261f1e66" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/965cdeb01fdcab7653253aa81d40441d261f1e66", + "reference": "965cdeb01fdcab7653253aa81d40441d261f1e66", + "shasum": "" + }, + "require": { + "php": ">=5.2.0" + }, + "require-dev": { + "phpunit/phpunit": "4.*|5.*" + }, + "suggest": { + "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + }, + "type": "library", + "autoload": { + "files": [ + "lib/random.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" + } + ], + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "keywords": [ + "csprng", + "pseudorandom", + "random" + ], + "time": "2017-03-13T16:22:52+00:00" + }, + { + "name": "psr/log", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "time": "2016-10-10T12:19:37+00:00" + }, + { + "name": "psy/psysh", + "version": "v0.7.2", + "source": { + "type": "git", + "url": "https://github.com/bobthecow/psysh.git", + "reference": "e64e10b20f8d229cac76399e1f3edddb57a0f280" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/e64e10b20f8d229cac76399e1f3edddb57a0f280", + "reference": "e64e10b20f8d229cac76399e1f3edddb57a0f280", + "shasum": "" + }, + "require": { + "dnoegel/php-xdg-base-dir": "0.1", + "jakub-onderka/php-console-highlighter": "0.3.*", + "nikic/php-parser": "^1.2.1|~2.0", + "php": ">=5.3.9", + "symfony/console": "~2.3.10|^2.4.2|~3.0", + "symfony/var-dumper": "~2.7|~3.0" + }, + "require-dev": { + "fabpot/php-cs-fixer": "~1.5", + "phpunit/phpunit": "~3.7|~4.0|~5.0", + "squizlabs/php_codesniffer": "~2.0", + "symfony/finder": "~2.1|~3.0" + }, + "suggest": { + "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", + "ext-pdo-sqlite": "The doc command requires SQLite to work.", + "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.", + "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history." + }, + "bin": [ + "bin/psysh" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "0.8.x-dev" + } + }, + "autoload": { + "files": [ + "src/Psy/functions.php" + ], + "psr-4": { + "Psy\\": "src/Psy/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Justin Hileman", + "email": "justin@justinhileman.info", + "homepage": "http://justinhileman.com" + } + ], + "description": "An interactive shell for modern PHP.", + "homepage": "http://psysh.org", + "keywords": [ + "REPL", + "console", + "interactive", + "shell" + ], + "time": "2016-03-09T05:03:14+00:00" + }, + { + "name": "swiftmailer/swiftmailer", + "version": "v5.4.8", + "source": { + "type": "git", + "url": "https://github.com/swiftmailer/swiftmailer.git", + "reference": "9a06dc570a0367850280eefd3f1dc2da45aef517" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/9a06dc570a0367850280eefd3f1dc2da45aef517", + "reference": "9a06dc570a0367850280eefd3f1dc2da45aef517", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "mockery/mockery": "~0.9.1", + "symfony/phpunit-bridge": "~3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.4-dev" + } + }, + "autoload": { + "files": [ + "lib/swift_required.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Corbyn" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Swiftmailer, free feature-rich PHP mailer", + "homepage": "http://swiftmailer.org", + "keywords": [ + "email", + "mail", + "mailer" + ], + "time": "2017-05-01T15:54:03+00:00" + }, + { + "name": "symfony/console", + "version": "v3.0.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "926061e74229e935d3c5b4e9ba87237316c6693f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/926061e74229e935d3c5b4e9ba87237316c6693f", + "reference": "926061e74229e935d3c5b4e9ba87237316c6693f", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/polyfill-mbstring": "~1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/event-dispatcher": "~2.8|~3.0", + "symfony/process": "~2.8|~3.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Console Component", + "homepage": "https://symfony.com", + "time": "2016-07-30T07:22:48+00:00" + }, + { + "name": "symfony/debug", + "version": "v3.0.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/debug.git", + "reference": "697c527acd9ea1b2d3efac34d9806bf255278b0a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/debug/zipball/697c527acd9ea1b2d3efac34d9806bf255278b0a", + "reference": "697c527acd9ea1b2d3efac34d9806bf255278b0a", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "psr/log": "~1.0" + }, + "conflict": { + "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" + }, + "require-dev": { + "symfony/class-loader": "~2.8|~3.0", + "symfony/http-kernel": "~2.8|~3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Debug\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Debug Component", + "homepage": "https://symfony.com", + "time": "2016-07-30T07:22:48+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v3.3.12", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "271d8c27c3ec5ecee6e2ac06016232e249d638d9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/271d8c27c3ec5ecee6e2ac06016232e249d638d9", + "reference": "271d8c27c3ec5ecee6e2ac06016232e249d638d9", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "conflict": { + "symfony/dependency-injection": "<3.3" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~2.8|~3.0", + "symfony/dependency-injection": "~3.3", + "symfony/expression-language": "~2.8|~3.0", + "symfony/stopwatch": "~2.8|~3.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony EventDispatcher Component", + "homepage": "https://symfony.com", + "time": "2017-11-05T15:47:03+00:00" + }, + { + "name": "symfony/finder", + "version": "v3.0.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "3eb4e64c6145ef8b92adefb618a74ebdde9e3fe9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/3eb4e64c6145ef8b92adefb618a74ebdde9e3fe9", + "reference": "3eb4e64c6145ef8b92adefb618a74ebdde9e3fe9", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Finder Component", + "homepage": "https://symfony.com", + "time": "2016-06-29T05:40:00+00:00" + }, + { + "name": "symfony/http-foundation", + "version": "v3.0.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-foundation.git", + "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82", + "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/polyfill-mbstring": "~1.1" + }, + "require-dev": { + "symfony/expression-language": "~2.8|~3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpFoundation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony HttpFoundation Component", + "homepage": "https://symfony.com", + "time": "2016-07-17T13:54:30+00:00" + }, + { + "name": "symfony/http-kernel", + "version": "v3.0.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-kernel.git", + "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d97ba4425e36e79c794e7d14ff36f00f081b37b3", + "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "psr/log": "~1.0", + "symfony/debug": "~2.8|~3.0", + "symfony/event-dispatcher": "~2.8|~3.0", + "symfony/http-foundation": "~2.8.8|~3.0.8|~3.1.2|~3.2" + }, + "conflict": { + "symfony/config": "<2.8" + }, + "require-dev": { + "symfony/browser-kit": "~2.8|~3.0", + "symfony/class-loader": "~2.8|~3.0", + "symfony/config": "~2.8|~3.0", + "symfony/console": "~2.8|~3.0", + "symfony/css-selector": "~2.8|~3.0", + "symfony/dependency-injection": "~2.8|~3.0", + "symfony/dom-crawler": "~2.8|~3.0", + "symfony/expression-language": "~2.8|~3.0", + "symfony/finder": "~2.8|~3.0", + "symfony/process": "~2.8|~3.0", + "symfony/routing": "~2.8|~3.0", + "symfony/stopwatch": "~2.8|~3.0", + "symfony/templating": "~2.8|~3.0", + "symfony/translation": "~2.8|~3.0", + "symfony/var-dumper": "~2.8|~3.0" + }, + "suggest": { + "symfony/browser-kit": "", + "symfony/class-loader": "", + "symfony/config": "", + "symfony/console": "", + "symfony/dependency-injection": "", + "symfony/finder": "", + "symfony/var-dumper": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpKernel\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony HttpKernel Component", + "homepage": "https://symfony.com", + "time": "2016-07-30T09:10:37+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.6.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296", + "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "time": "2017-10-11T12:05:26+00:00" + }, + { + "name": "symfony/polyfill-php56", + "version": "v1.6.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php56.git", + "reference": "265fc96795492430762c29be291a371494ba3a5b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/265fc96795492430762c29be291a371494ba3a5b", + "reference": "265fc96795492430762c29be291a371494ba3a5b", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "symfony/polyfill-util": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php56\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2017-10-11T12:05:26+00:00" + }, + { + "name": "symfony/polyfill-util", + "version": "v1.6.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-util.git", + "reference": "6e719200c8e540e0c0effeb31f96bdb344b94176" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/6e719200c8e540e0c0effeb31f96bdb344b94176", + "reference": "6e719200c8e540e0c0effeb31f96bdb344b94176", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Util\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony utilities for portability of PHP codes", + "homepage": "https://symfony.com", + "keywords": [ + "compat", + "compatibility", + "polyfill", + "shim" + ], + "time": "2017-10-11T12:05:26+00:00" + }, + { + "name": "symfony/process", + "version": "v3.0.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "768debc5996f599c4372b322d9061dba2a4bf505" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/768debc5996f599c4372b322d9061dba2a4bf505", + "reference": "768debc5996f599c4372b322d9061dba2a4bf505", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Process Component", + "homepage": "https://symfony.com", + "time": "2016-07-28T11:13:34+00:00" + }, + { + "name": "symfony/routing", + "version": "v3.0.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/routing.git", + "reference": "9038984bd9c05ab07280121e9e10f61a7231457b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/routing/zipball/9038984bd9c05ab07280121e9e10f61a7231457b", + "reference": "9038984bd9c05ab07280121e9e10f61a7231457b", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "conflict": { + "symfony/config": "<2.8" + }, + "require-dev": { + "doctrine/annotations": "~1.0", + "doctrine/common": "~2.2", + "psr/log": "~1.0", + "symfony/config": "~2.8|~3.0", + "symfony/expression-language": "~2.8|~3.0", + "symfony/http-foundation": "~2.8|~3.0", + "symfony/yaml": "~2.8|~3.0" + }, + "suggest": { + "doctrine/annotations": "For using the annotation loader", + "symfony/config": "For using the all-in-one router or any loader", + "symfony/dependency-injection": "For loading routes from a service", + "symfony/expression-language": "For using expression matching", + "symfony/http-foundation": "For using a Symfony Request object", + "symfony/yaml": "For using the YAML loader" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Routing\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Routing Component", + "homepage": "https://symfony.com", + "keywords": [ + "router", + "routing", + "uri", + "url" + ], + "time": "2016-06-29T05:40:00+00:00" + }, + { + "name": "symfony/translation", + "version": "v3.0.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "eee6c664853fd0576f21ae25725cfffeafe83f26" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/eee6c664853fd0576f21ae25725cfffeafe83f26", + "reference": "eee6c664853fd0576f21ae25725cfffeafe83f26", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/config": "<2.8" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~2.8|~3.0", + "symfony/intl": "~2.8|~3.0", + "symfony/yaml": "~2.8|~3.0" + }, + "suggest": { + "psr/log": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Translation Component", + "homepage": "https://symfony.com", + "time": "2016-07-30T07:22:48+00:00" + }, + { + "name": "symfony/var-dumper", + "version": "v3.0.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "1f7e071aafc6676fcb6e3f0497f87c2397247377" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/1f7e071aafc6676fcb6e3f0497f87c2397247377", + "reference": "1f7e071aafc6676fcb6e3f0497f87c2397247377", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/polyfill-mbstring": "~1.0" + }, + "require-dev": { + "twig/twig": "~1.20|~2.0" + }, + "suggest": { + "ext-symfony_debug": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "files": [ + "Resources/functions/dump.php" + ], + "psr-4": { + "Symfony\\Component\\VarDumper\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony mechanism for exploring and dumping PHP variables", + "homepage": "https://symfony.com", + "keywords": [ + "debug", + "dump" + ], + "time": "2016-07-26T08:03:56+00:00" + }, + { + "name": "twbs/bootstrap", + "version": "v4.0.0-beta.2", + "source": { + "type": "git", + "url": "https://github.com/twbs/bootstrap.git", + "reference": "fc94de5b8b5b329a298eeeb76174b146ff17af2d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twbs/bootstrap/zipball/fc94de5b8b5b329a298eeeb76174b146ff17af2d", + "reference": "fc94de5b8b5b329a298eeeb76174b146ff17af2d", + "shasum": "" + }, + "replace": { + "twitter/bootstrap": "self.version" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.3.x-dev" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jacob Thornton", + "email": "jacobthornton@gmail.com" + }, + { + "name": "Mark Otto", + "email": "markdotto@gmail.com" + } + ], + "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", + "homepage": "https://getbootstrap.com", + "keywords": [ + "JS", + "css", + "framework", + "front-end", + "mobile-first", + "responsive", + "sass", + "web" + ], + "time": "2017-10-19T19:23:29+00:00" + }, + { + "name": "vlucas/phpdotenv", + "version": "v2.4.0", + "source": { + "type": "git", + "url": "https://github.com/vlucas/phpdotenv.git", + "reference": "3cc116adbe4b11be5ec557bf1d24dc5e3a21d18c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/3cc116adbe4b11be5ec557bf1d24dc5e3a21d18c", + "reference": "3cc116adbe4b11be5ec557bf1d24dc5e3a21d18c", + "shasum": "" + }, + "require": { + "php": ">=5.3.9" + }, + "require-dev": { + "phpunit/phpunit": "^4.8 || ^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.4-dev" + } + }, + "autoload": { + "psr-4": { + "Dotenv\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause-Attribution" + ], + "authors": [ + { + "name": "Vance Lucas", + "email": "vance@vancelucas.com", + "homepage": "http://www.vancelucas.com" + } + ], + "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", + "keywords": [ + "dotenv", + "env", + "environment" + ], + "time": "2016-09-01T10:05:43+00:00" + } + ], + "packages-dev": [ + { + "name": "doctrine/instantiator", + "version": "1.0.5", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", + "shasum": "" + }, + "require": { + "php": ">=5.3,<8.0-DEV" + }, + "require-dev": { + "athletic/athletic": "~0.1.8", + "ext-pdo": "*", + "ext-phar": "*", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "~2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://ocramius.github.com/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://github.com/doctrine/instantiator", + "keywords": [ + "constructor", + "instantiate" + ], + "time": "2015-06-14T21:17:01+00:00" + }, + { + "name": "fzaninotto/faker", + "version": "v1.7.1", + "source": { + "type": "git", + "url": "https://github.com/fzaninotto/Faker.git", + "reference": "d3ed4cc37051c1ca52d22d76b437d14809fc7e0d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/d3ed4cc37051c1ca52d22d76b437d14809fc7e0d", + "reference": "d3ed4cc37051c1ca52d22d76b437d14809fc7e0d", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "ext-intl": "*", + "phpunit/phpunit": "^4.0 || ^5.0", + "squizlabs/php_codesniffer": "^1.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8-dev" + } + }, + "autoload": { + "psr-4": { + "Faker\\": "src/Faker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "François Zaninotto" + } + ], + "description": "Faker is a PHP library that generates fake data for you.", + "keywords": [ + "data", + "faker", + "fixtures" + ], + "time": "2017-08-15T16:48:10+00:00" + }, + { + "name": "hamcrest/hamcrest-php", + "version": "v1.2.2", + "source": { + "type": "git", + "url": "https://github.com/hamcrest/hamcrest-php.git", + "reference": "b37020aa976fa52d3de9aa904aa2522dc518f79c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/b37020aa976fa52d3de9aa904aa2522dc518f79c", + "reference": "b37020aa976fa52d3de9aa904aa2522dc518f79c", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "replace": { + "cordoval/hamcrest-php": "*", + "davedevelopment/hamcrest-php": "*", + "kodova/hamcrest-php": "*" + }, + "require-dev": { + "phpunit/php-file-iterator": "1.3.3", + "satooshi/php-coveralls": "dev-master" + }, + "type": "library", + "autoload": { + "classmap": [ + "hamcrest" + ], + "files": [ + "hamcrest/Hamcrest.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD" + ], + "description": "This is the PHP port of Hamcrest Matchers", + "keywords": [ + "test" + ], + "time": "2015-05-11T14:41:42+00:00" + }, + { + "name": "mockery/mockery", + "version": "0.9.9", + "source": { + "type": "git", + "url": "https://github.com/mockery/mockery.git", + "reference": "6fdb61243844dc924071d3404bb23994ea0b6856" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mockery/mockery/zipball/6fdb61243844dc924071d3404bb23994ea0b6856", + "reference": "6fdb61243844dc924071d3404bb23994ea0b6856", + "shasum": "" + }, + "require": { + "hamcrest/hamcrest-php": "~1.1", + "lib-pcre": ">=7.0", + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.9.x-dev" + } + }, + "autoload": { + "psr-0": { + "Mockery": "library/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Pádraic Brady", + "email": "padraic.brady@gmail.com", + "homepage": "http://blog.astrumfutura.com" + }, + { + "name": "Dave Marshall", + "email": "dave.marshall@atstsolutions.co.uk", + "homepage": "http://davedevelopment.co.uk" + } + ], + "description": "Mockery is a simple yet flexible PHP mock object framework for use in unit testing with PHPUnit, PHPSpec or any other testing framework. Its core goal is to offer a test double framework with a succinct API capable of clearly defining all possible object operations and interactions using a human readable Domain Specific Language (DSL). Designed as a drop in alternative to PHPUnit's phpunit-mock-objects library, Mockery is easy to integrate with PHPUnit and can operate alongside phpunit-mock-objects without the World ending.", + "homepage": "http://github.com/padraic/mockery", + "keywords": [ + "BDD", + "TDD", + "library", + "mock", + "mock objects", + "mockery", + "stub", + "test", + "test double", + "testing" + ], + "time": "2017-02-28T12:52:32+00:00" + }, + { + "name": "phpdocumentor/reflection-common", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "require-dev": { + "phpunit/phpunit": "^4.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "time": "2017-09-11T18:02:19+00:00" + }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "3.2.2", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "4aada1f93c72c35e22fb1383b47fee43b8f1d157" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/4aada1f93c72c35e22fb1383b47fee43b8f1d157", + "reference": "4aada1f93c72c35e22fb1383b47fee43b8f1d157", + "shasum": "" + }, + "require": { + "php": ">=5.5", + "phpdocumentor/reflection-common": "^1.0@dev", + "phpdocumentor/type-resolver": "^0.3.0", + "webmozart/assert": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "^4.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "time": "2017-08-08T06:39:58+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "0.3.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "fb3933512008d8162b3cdf9e18dba9309b7c3773" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/fb3933512008d8162b3cdf9e18dba9309b7c3773", + "reference": "fb3933512008d8162b3cdf9e18dba9309b7c3773", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "phpdocumentor/reflection-common": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "^5.2||^4.8.24" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "time": "2017-06-03T08:32:36+00:00" + }, + { + "name": "phpspec/prophecy", + "version": "v1.7.2", + "source": { + "type": "git", + "url": "https://github.com/phpspec/prophecy.git", + "reference": "c9b8c6088acd19d769d4cc0ffa60a9fe34344bd6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/c9b8c6088acd19d769d4cc0ffa60a9fe34344bd6", + "reference": "c9b8c6088acd19d769d4cc0ffa60a9fe34344bd6", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.0.2", + "php": "^5.3|^7.0", + "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", + "sebastian/comparator": "^1.1|^2.0", + "sebastian/recursion-context": "^1.0|^2.0|^3.0" + }, + "require-dev": { + "phpspec/phpspec": "^2.5|^3.2", + "phpunit/phpunit": "^4.8 || ^5.6.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.7.x-dev" + } + }, + "autoload": { + "psr-0": { + "Prophecy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + }, + { + "name": "Marcello Duarte", + "email": "marcello.duarte@gmail.com" + } + ], + "description": "Highly opinionated mocking framework for PHP 5.3+", + "homepage": "https://github.com/phpspec/prophecy", + "keywords": [ + "Double", + "Dummy", + "fake", + "mock", + "spy", + "stub" + ], + "time": "2017-09-04T11:05:03+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "2.2.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", + "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "phpunit/php-file-iterator": "~1.3", + "phpunit/php-text-template": "~1.2", + "phpunit/php-token-stream": "~1.3", + "sebastian/environment": "^1.3.2", + "sebastian/version": "~1.0" + }, + "require-dev": { + "ext-xdebug": ">=2.1.4", + "phpunit/phpunit": "~4" + }, + "suggest": { + "ext-dom": "*", + "ext-xdebug": ">=2.2.1", + "ext-xmlwriter": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "time": "2015-10-06T15:47:00+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "1.4.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", + "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "time": "2016-10-03T07:40:28+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "time": "2015-06-21T13:50:34+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "1.0.9", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", + "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "time": "2017-02-26T11:10:40+00:00" + }, + { + "name": "phpunit/php-token-stream", + "version": "1.4.11", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-token-stream.git", + "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", + "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Wrapper around PHP's tokenizer extension.", + "homepage": "https://github.com/sebastianbergmann/php-token-stream/", + "keywords": [ + "tokenizer" + ], + "time": "2017-02-27T10:12:30+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "4.8.36", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "46023de9a91eec7dfb06cc56cb4e260017298517" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/46023de9a91eec7dfb06cc56cb4e260017298517", + "reference": "46023de9a91eec7dfb06cc56cb4e260017298517", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-json": "*", + "ext-pcre": "*", + "ext-reflection": "*", + "ext-spl": "*", + "php": ">=5.3.3", + "phpspec/prophecy": "^1.3.1", + "phpunit/php-code-coverage": "~2.1", + "phpunit/php-file-iterator": "~1.4", + "phpunit/php-text-template": "~1.2", + "phpunit/php-timer": "^1.0.6", + "phpunit/phpunit-mock-objects": "~2.3", + "sebastian/comparator": "~1.2.2", + "sebastian/diff": "~1.2", + "sebastian/environment": "~1.3", + "sebastian/exporter": "~1.2", + "sebastian/global-state": "~1.0", + "sebastian/version": "~1.0", + "symfony/yaml": "~2.1|~3.0" + }, + "suggest": { + "phpunit/php-invoker": "~1.1" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.8.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "time": "2017-06-21T08:07:12+00:00" + }, + { + "name": "phpunit/phpunit-mock-objects", + "version": "2.3.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", + "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", + "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.0.2", + "php": ">=5.3.3", + "phpunit/php-text-template": "~1.2", + "sebastian/exporter": "~1.2" + }, + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "suggest": { + "ext-soap": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Mock Object library for PHPUnit", + "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", + "keywords": [ + "mock", + "xunit" + ], + "time": "2015-10-02T06:51:40+00:00" + }, + { + "name": "sebastian/comparator", + "version": "1.2.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", + "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "sebastian/diff": "~1.2", + "sebastian/exporter": "~1.2 || ~2.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "http://www.github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "time": "2017-01-29T09:50:25+00:00" + }, + { + "name": "sebastian/diff", + "version": "1.4.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4", + "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff" + ], + "time": "2017-05-22T07:24:03+00:00" + }, + { + "name": "sebastian/environment", + "version": "1.3.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", + "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8 || ^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "time": "2016-08-18T05:49:44+00:00" + }, + { + "name": "sebastian/exporter", + "version": "1.2.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", + "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "sebastian/recursion-context": "~1.0" + }, + "require-dev": { + "ext-mbstring": "*", + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "http://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "time": "2016-06-17T09:04:28+00:00" + }, + { + "name": "sebastian/global-state", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", + "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.2" + }, + "suggest": { + "ext-uopz": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "time": "2015-10-12T03:26:01+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "1.0.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", + "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "time": "2016-10-03T07:41:43+00:00" + }, + { + "name": "sebastian/version", + "version": "1.0.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", + "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", + "shasum": "" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "time": "2015-06-21T13:59:46+00:00" + }, + { + "name": "symfony/css-selector", + "version": "v3.0.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/css-selector.git", + "reference": "b8999c1f33c224b2b66b38253f5e3a838d0d0115" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/b8999c1f33c224b2b66b38253f5e3a838d0d0115", + "reference": "b8999c1f33c224b2b66b38253f5e3a838d0d0115", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\CssSelector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony CssSelector Component", + "homepage": "https://symfony.com", + "time": "2016-06-29T05:40:00+00:00" + }, + { + "name": "symfony/dom-crawler", + "version": "v3.0.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/dom-crawler.git", + "reference": "dff8fecf1f56990d88058e3a1885c2a5f1b8e970" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/dff8fecf1f56990d88058e3a1885c2a5f1b8e970", + "reference": "dff8fecf1f56990d88058e3a1885c2a5f1b8e970", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/polyfill-mbstring": "~1.0" + }, + "require-dev": { + "symfony/css-selector": "~2.8|~3.0" + }, + "suggest": { + "symfony/css-selector": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\DomCrawler\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony DomCrawler Component", + "homepage": "https://symfony.com", + "time": "2016-07-30T07:22:48+00:00" + }, + { + "name": "symfony/yaml", + "version": "v3.3.12", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "0938408c4faa518d95230deabb5f595bf0de31b9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/0938408c4faa518d95230deabb5f595bf0de31b9", + "reference": "0938408c4faa518d95230deabb5f595bf0de31b9", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "require-dev": { + "symfony/console": "~2.8|~3.0" + }, + "suggest": { + "symfony/console": "For validating YAML files using the lint command" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Yaml Component", + "homepage": "https://symfony.com", + "time": "2017-11-10T18:26:04+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/webmozart/assert.git", + "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", + "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.6", + "sebastian/version": "^1.0.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "time": "2016-11-23T20:04:58+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": { + "twbs/bootstrap": 10 + }, + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": ">=5.5.9" + }, + "platform-dev": [] +} diff --git a/workspace/config/app.php b/workspace/config/app.php new file mode 100644 index 0000000..8b5f421 --- /dev/null +++ b/workspace/config/app.php @@ -0,0 +1,212 @@ +<?php + +return [ + + /* + |-------------------------------------------------------------------------- + | Application Environment + |-------------------------------------------------------------------------- + | + | This value determines the "environment" your application is currently + | running in. This may determine how you prefer to configure various + | services your application utilizes. Set this in your ".env" file. + | + */ + + 'env' => env('APP_ENV', 'production'), + + /* + |-------------------------------------------------------------------------- + | Application Debug Mode + |-------------------------------------------------------------------------- + | + | When your application is in debug mode, detailed error messages with + | stack traces will be shown on every error that occurs within your + | application. If disabled, a simple generic error page is shown. + | + */ + + 'debug' => env('APP_DEBUG', false), + + /* + |-------------------------------------------------------------------------- + | Application URL + |-------------------------------------------------------------------------- + | + | This URL is used by the console to properly generate URLs when using + | the Artisan command line tool. You should set this to the root of + | your application so that it is used when running Artisan tasks. + | + */ + + 'url' => env('APP_URL', 'http://localhost'), + + /* + |-------------------------------------------------------------------------- + | Application Timezone + |-------------------------------------------------------------------------- + | + | Here you may specify the default timezone for your application, which + | will be used by the PHP date and date-time functions. We have gone + | ahead and set this to a sensible default for you out of the box. + | + */ + + 'timezone' => 'UTC', + + /* + |-------------------------------------------------------------------------- + | Application Locale Configuration + |-------------------------------------------------------------------------- + | + | The application locale determines the default locale that will be used + | by the translation service provider. You are free to set this value + | to any of the locales which will be supported by the application. + | + */ + + 'locale' => 'fr', + + /* + |-------------------------------------------------------------------------- + | Application Fallback Locale + |-------------------------------------------------------------------------- + | + | The fallback locale determines the locale to use when the current one + | is not available. You may change the value to correspond to any of + | the language folders that are provided through your application. + | + */ + + 'fallback_locale' => 'fr', + + /* + |-------------------------------------------------------------------------- + | Encryption Key + |-------------------------------------------------------------------------- + | + | This key is used by the Illuminate encrypter service and should be set + | to a random, 32 character string, otherwise these encrypted strings + | will not be safe. Please do this before deploying an application! + | + */ + + 'key' => env('APP_KEY'), + + 'cipher' => 'AES-256-CBC', + + /* + |-------------------------------------------------------------------------- + | Logging Configuration + |-------------------------------------------------------------------------- + | + | Here you may configure the log settings for your application. Out of + | the box, Laravel uses the Monolog PHP logging library. This gives + | you a variety of powerful log handlers / formatters to utilize. + | + | Available Settings: "single", "daily", "syslog", "errorlog" + | + */ + + 'log' => env('APP_LOG', 'single'), + + /* + |-------------------------------------------------------------------------- + | Autoloaded Service Providers + |-------------------------------------------------------------------------- + | + | The service providers listed here will be automatically loaded on the + | request to your application. Feel free to add your own services to + | this array to grant expanded functionality to your applications. + | + */ + + 'providers' => [ + + /* + * Laravel Framework Service Providers... + */ + Illuminate\Auth\AuthServiceProvider::class, + Illuminate\Broadcasting\BroadcastServiceProvider::class, + Illuminate\Bus\BusServiceProvider::class, + Illuminate\Cache\CacheServiceProvider::class, + Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class, + Illuminate\Cookie\CookieServiceProvider::class, + Illuminate\Database\DatabaseServiceProvider::class, + Illuminate\Encryption\EncryptionServiceProvider::class, + Illuminate\Filesystem\FilesystemServiceProvider::class, + Illuminate\Foundation\Providers\FoundationServiceProvider::class, + Illuminate\Hashing\HashServiceProvider::class, + Illuminate\Mail\MailServiceProvider::class, + Illuminate\Pagination\PaginationServiceProvider::class, + Illuminate\Pipeline\PipelineServiceProvider::class, + Illuminate\Queue\QueueServiceProvider::class, + Illuminate\Redis\RedisServiceProvider::class, + Illuminate\Auth\Passwords\PasswordResetServiceProvider::class, + Illuminate\Session\SessionServiceProvider::class, + Illuminate\Translation\TranslationServiceProvider::class, + Illuminate\Validation\ValidationServiceProvider::class, + Illuminate\View\ViewServiceProvider::class, + + /* + * Application Service Providers... + */ + App\Providers\AppServiceProvider::class, + App\Providers\AuthServiceProvider::class, + App\Providers\EventServiceProvider::class, + App\Providers\RouteServiceProvider::class, + Collective\Html\HtmlServiceProvider::class, + + ], + + /* + |-------------------------------------------------------------------------- + | Class Aliases + |-------------------------------------------------------------------------- + | + | This array of class aliases will be registered when this application + | is started. However, feel free to register as many as you wish as + | the aliases are "lazy" loaded so they don't hinder performance. + | + */ + + 'aliases' => [ + + 'App' => Illuminate\Support\Facades\App::class, + 'Artisan' => Illuminate\Support\Facades\Artisan::class, + 'Auth' => Illuminate\Support\Facades\Auth::class, + 'Blade' => Illuminate\Support\Facades\Blade::class, + 'Cache' => Illuminate\Support\Facades\Cache::class, + 'Config' => Illuminate\Support\Facades\Config::class, + 'Cookie' => Illuminate\Support\Facades\Cookie::class, + 'Crypt' => Illuminate\Support\Facades\Crypt::class, + 'DB' => Illuminate\Support\Facades\DB::class, + 'Eloquent' => Illuminate\Database\Eloquent\Model::class, + 'Event' => Illuminate\Support\Facades\Event::class, + 'File' => Illuminate\Support\Facades\File::class, + 'Gate' => Illuminate\Support\Facades\Gate::class, + 'Hash' => Illuminate\Support\Facades\Hash::class, + 'Input' => Illuminate\Support\Facades\Input::class, + 'Lang' => Illuminate\Support\Facades\Lang::class, + 'Log' => Illuminate\Support\Facades\Log::class, + 'Mail' => Illuminate\Support\Facades\Mail::class, + 'Password' => Illuminate\Support\Facades\Password::class, + 'Product' => App\Product::class, + 'Queue' => Illuminate\Support\Facades\Queue::class, + 'Redirect' => Illuminate\Support\Facades\Redirect::class, + 'Redis' => Illuminate\Support\Facades\Redis::class, + 'Request' => Illuminate\Support\Facades\Request::class, + 'Response' => Illuminate\Support\Facades\Response::class, + 'Route' => Illuminate\Support\Facades\Route::class, + 'Schema' => Illuminate\Support\Facades\Schema::class, + 'Session' => Illuminate\Support\Facades\Session::class, + 'Storage' => Illuminate\Support\Facades\Storage::class, + 'URL' => Illuminate\Support\Facades\URL::class, + 'Validator' => Illuminate\Support\Facades\Validator::class, + 'View' => Illuminate\Support\Facades\View::class, + 'Form' => Collective\Html\FormFacade::class, + 'Html' => Collective\Html\HtmlFacade::class, + + ], + +]; diff --git a/workspace/config/auth.php b/workspace/config/auth.php new file mode 100644 index 0000000..3fa7f49 --- /dev/null +++ b/workspace/config/auth.php @@ -0,0 +1,107 @@ +<?php + +return [ + + /* + |-------------------------------------------------------------------------- + | Authentication Defaults + |-------------------------------------------------------------------------- + | + | This option controls the default authentication "guard" and password + | reset options for your application. You may change these defaults + | as required, but they're a perfect start for most applications. + | + */ + + 'defaults' => [ + 'guard' => 'web', + 'passwords' => 'users', + ], + + /* + |-------------------------------------------------------------------------- + | Authentication Guards + |-------------------------------------------------------------------------- + | + | Next, you may define every authentication guard for your application. + | Of course, a great default configuration has been defined for you + | here which uses session storage and the Eloquent user provider. + | + | All authentication drivers have a user provider. This defines how the + | users are actually retrieved out of your database or other storage + | mechanisms used by this application to persist your user's data. + | + | Supported: "session", "token" + | + */ + + 'guards' => [ + 'web' => [ + 'driver' => 'session', + 'provider' => 'users', + ], + + 'api' => [ + 'driver' => 'token', + 'provider' => 'users', + ], + ], + + /* + |-------------------------------------------------------------------------- + | User Providers + |-------------------------------------------------------------------------- + | + | All authentication drivers have a user provider. This defines how the + | users are actually retrieved out of your database or other storage + | mechanisms used by this application to persist your user's data. + | + | If you have multiple user tables or models you may configure multiple + | sources which represent each model / table. These sources may then + | be assigned to any extra authentication guards you have defined. + | + | Supported: "database", "eloquent" + | + */ + + 'providers' => [ + 'users' => [ + 'driver' => 'eloquent', + 'model' => App\User::class, + ], + + // 'users' => [ + // 'driver' => 'database', + // 'table' => 'users', + // ], + ], + + /* + |-------------------------------------------------------------------------- + | Resetting Passwords + |-------------------------------------------------------------------------- + | + | Here you may set the options for resetting passwords including the view + | that is your password reset e-mail. You may also set the name of the + | table that maintains all of the reset tokens for your application. + | + | You may specify multiple password reset configurations if you have more + | than one user table or model in the application and you want to have + | separate password reset settings based on the specific user types. + | + | The expire time is the number of minutes that the reset token should be + | considered valid. This security feature keeps tokens short-lived so + | they have less time to be guessed. You may change this as needed. + | + */ + + 'passwords' => [ + 'users' => [ + 'provider' => 'users', + 'email' => 'auth.emails.password', + 'table' => 'password_resets', + 'expire' => 60, + ], + ], + +]; diff --git a/workspace/config/broadcasting.php b/workspace/config/broadcasting.php new file mode 100644 index 0000000..abaaac3 --- /dev/null +++ b/workspace/config/broadcasting.php @@ -0,0 +1,52 @@ +<?php + +return [ + + /* + |-------------------------------------------------------------------------- + | Default Broadcaster + |-------------------------------------------------------------------------- + | + | This option controls the default broadcaster that will be used by the + | framework when an event needs to be broadcast. You may set this to + | any of the connections defined in the "connections" array below. + | + */ + + 'default' => env('BROADCAST_DRIVER', 'pusher'), + + /* + |-------------------------------------------------------------------------- + | Broadcast Connections + |-------------------------------------------------------------------------- + | + | Here you may define all of the broadcast connections that will be used + | to broadcast events to other systems or over websockets. Samples of + | each available type of connection are provided inside this array. + | + */ + + 'connections' => [ + + 'pusher' => [ + 'driver' => 'pusher', + 'key' => env('PUSHER_KEY'), + 'secret' => env('PUSHER_SECRET'), + 'app_id' => env('PUSHER_APP_ID'), + 'options' => [ + // + ], + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'default', + ], + + 'log' => [ + 'driver' => 'log', + ], + + ], + +]; diff --git a/workspace/config/cache.php b/workspace/config/cache.php new file mode 100644 index 0000000..3ffa840 --- /dev/null +++ b/workspace/config/cache.php @@ -0,0 +1,81 @@ +<?php + +return [ + + /* + |-------------------------------------------------------------------------- + | Default Cache Store + |-------------------------------------------------------------------------- + | + | This option controls the default cache connection that gets used while + | using this caching library. This connection is used when another is + | not explicitly specified when executing a given caching function. + | + */ + + 'default' => env('CACHE_DRIVER', 'file'), + + /* + |-------------------------------------------------------------------------- + | Cache Stores + |-------------------------------------------------------------------------- + | + | Here you may define all of the cache "stores" for your application as + | well as their drivers. You may even define multiple stores for the + | same cache driver to group types of items stored in your caches. + | + */ + + 'stores' => [ + + 'apc' => [ + 'driver' => 'apc', + ], + + 'array' => [ + 'driver' => 'array', + ], + + 'database' => [ + 'driver' => 'database', + 'table' => 'cache', + 'connection' => null, + ], + + 'file' => [ + 'driver' => 'file', + 'path' => storage_path('framework/cache'), + ], + + 'memcached' => [ + 'driver' => 'memcached', + 'servers' => [ + [ + 'host' => env('MEMCACHED_HOST', '127.0.0.1'), + 'port' => env('MEMCACHED_PORT', 11211), + 'weight' => 100, + ], + ], + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'default', + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Cache Key Prefix + |-------------------------------------------------------------------------- + | + | When utilizing a RAM based store such as APC or Memcached, there might + | be other applications utilizing the same cache. So, we'll specify a + | value to get prefixed to all our keys so we can avoid collisions. + | + */ + + 'prefix' => 'laravel', + +]; diff --git a/workspace/config/compile.php b/workspace/config/compile.php new file mode 100644 index 0000000..04807ea --- /dev/null +++ b/workspace/config/compile.php @@ -0,0 +1,35 @@ +<?php + +return [ + + /* + |-------------------------------------------------------------------------- + | Additional Compiled Classes + |-------------------------------------------------------------------------- + | + | Here you may specify additional classes to include in the compiled file + | generated by the `artisan optimize` command. These should be classes + | that are included on basically every request into the application. + | + */ + + 'files' => [ + // + ], + + /* + |-------------------------------------------------------------------------- + | Compiled File Providers + |-------------------------------------------------------------------------- + | + | Here you may list service providers which define a "compiles" function + | that returns additional files that should be compiled, providing an + | easy way to get common files from any packages you are utilizing. + | + */ + + 'providers' => [ + // + ], + +]; diff --git a/workspace/config/database.php b/workspace/config/database.php new file mode 100644 index 0000000..8451a62 --- /dev/null +++ b/workspace/config/database.php @@ -0,0 +1,120 @@ +<?php + +return [ + + /* + |-------------------------------------------------------------------------- + | PDO Fetch Style + |-------------------------------------------------------------------------- + | + | By default, database results will be returned as instances of the PHP + | stdClass object; however, you may desire to retrieve records in an + | array format for simplicity. Here you can tweak the fetch style. + | + */ + + 'fetch' => PDO::FETCH_CLASS, + + /* + |-------------------------------------------------------------------------- + | Default Database Connection Name + |-------------------------------------------------------------------------- + | + | Here you may specify which of the database connections below you wish + | to use as your default connection for all database work. Of course + | you may use many connections at once using the Database library. + | + */ + + 'default' => env('DB_CONNECTION', 'mysql'), + + /* + |-------------------------------------------------------------------------- + | Database Connections + |-------------------------------------------------------------------------- + | + | Here are each of the database connections setup for your application. + | Of course, examples of configuring each database platform that is + | supported by Laravel is shown below to make development simple. + | + | + | All database work in Laravel is done through the PHP PDO facilities + | so make sure you have the driver for your particular database of + | choice installed on your machine before you begin development. + | + */ + + 'connections' => [ + + 'sqlite' => [ + 'driver' => 'sqlite', + 'database' => env('DB_DATABASE', database_path('database.sqlite')), + 'prefix' => '', + ], + + 'mysql' => [ + 'driver' => 'mysql', + 'host' => env('DB_HOST', 'localhost'), + 'port' => env('DB_PORT', '3306'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => 'utf8', + 'collation' => 'utf8_unicode_ci', + 'prefix' => '', + 'strict' => false, + 'engine' => null, + ], + + 'pgsql' => [ + 'driver' => 'pgsql', + 'host' => env('DB_HOST', 'localhost'), + 'port' => env('DB_PORT', '5432'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => 'utf8', + 'prefix' => '', + 'schema' => 'public', + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Migration Repository Table + |-------------------------------------------------------------------------- + | + | This table keeps track of all the migrations that have already run for + | your application. Using this information, we can determine which of + | the migrations on disk haven't actually been run in the database. + | + */ + + 'migrations' => 'migrations', + + /* + |-------------------------------------------------------------------------- + | Redis Databases + |-------------------------------------------------------------------------- + | + | Redis is an open source, fast, and advanced key-value store that also + | provides a richer set of commands than a typical key-value systems + | such as APC or Memcached. Laravel makes it easy to dig right in. + | + */ + + 'redis' => [ + + 'cluster' => false, + + 'default' => [ + 'host' => env('REDIS_HOST', 'localhost'), + 'password' => env('REDIS_PASSWORD', null), + 'port' => env('REDIS_PORT', 6379), + 'database' => 0, + ], + + ], + +]; diff --git a/workspace/config/filesystems.php b/workspace/config/filesystems.php new file mode 100644 index 0000000..75b5002 --- /dev/null +++ b/workspace/config/filesystems.php @@ -0,0 +1,67 @@ +<?php + +return [ + + /* + |-------------------------------------------------------------------------- + | Default Filesystem Disk + |-------------------------------------------------------------------------- + | + | Here you may specify the default filesystem disk that should be used + | by the framework. A "local" driver, as well as a variety of cloud + | based drivers are available for your choosing. Just store away! + | + | Supported: "local", "ftp", "s3", "rackspace" + | + */ + + 'default' => 'local', + + /* + |-------------------------------------------------------------------------- + | Default Cloud Filesystem Disk + |-------------------------------------------------------------------------- + | + | Many applications store files both locally and in the cloud. For this + | reason, you may specify a default "cloud" driver here. This driver + | will be bound as the Cloud disk implementation in the container. + | + */ + + 'cloud' => 's3', + + /* + |-------------------------------------------------------------------------- + | Filesystem Disks + |-------------------------------------------------------------------------- + | + | Here you may configure as many filesystem "disks" as you wish, and you + | may even configure multiple disks of the same driver. Defaults have + | been setup for each driver as an example of the required options. + | + */ + + 'disks' => [ + + 'local' => [ + 'driver' => 'local', + 'root' => storage_path('app'), + ], + + 'public' => [ + 'driver' => 'local', + 'root' => storage_path('app/public'), + 'visibility' => 'public', + ], + + 's3' => [ + 'driver' => 's3', + 'key' => 'your-key', + 'secret' => 'your-secret', + 'region' => 'your-region', + 'bucket' => 'your-bucket', + ], + + ], + +]; diff --git a/workspace/config/mail.php b/workspace/config/mail.php new file mode 100644 index 0000000..a076588 --- /dev/null +++ b/workspace/config/mail.php @@ -0,0 +1,112 @@ +<?php + +return [ + + /* + |-------------------------------------------------------------------------- + | Mail Driver + |-------------------------------------------------------------------------- + | + | Laravel supports both SMTP and PHP's "mail" function as drivers for the + | sending of e-mail. You may specify which one you're using throughout + | your application here. By default, Laravel is setup for SMTP mail. + | + | Supported: "smtp", "mail", "sendmail", "mailgun", "mandrill", + | "ses", "sparkpost", "log" + | + */ + + 'driver' => env('MAIL_DRIVER', 'smtp'), + + /* + |-------------------------------------------------------------------------- + | SMTP Host Address + |-------------------------------------------------------------------------- + | + | Here you may provide the host address of the SMTP server used by your + | applications. A default option is provided that is compatible with + | the Mailgun mail service which will provide reliable deliveries. + | + */ + + 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), + + /* + |-------------------------------------------------------------------------- + | SMTP Host Port + |-------------------------------------------------------------------------- + | + | This is the SMTP port used by your application to deliver e-mails to + | users of the application. Like the host we have set this value to + | stay compatible with the Mailgun e-mail application by default. + | + */ + + 'port' => env('MAIL_PORT', 587), + + /* + |-------------------------------------------------------------------------- + | Global "From" Address + |-------------------------------------------------------------------------- + | + | You may wish for all e-mails sent by your application to be sent from + | the same address. Here, you may specify a name and address that is + | used globally for all e-mails that are sent by your application. + | + */ + + 'from' => ['address' => null, 'name' => null], + + /* + |-------------------------------------------------------------------------- + | E-Mail Encryption Protocol + |-------------------------------------------------------------------------- + | + | Here you may specify the encryption protocol that should be used when + | the application send e-mail messages. A sensible default using the + | transport layer security protocol should provide great security. + | + */ + + 'encryption' => env('MAIL_ENCRYPTION', 'tls'), + + /* + |-------------------------------------------------------------------------- + | SMTP Server Username + |-------------------------------------------------------------------------- + | + | If your SMTP server requires a username for authentication, you should + | set it here. This will get used to authenticate with your server on + | connection. You may also set the "password" value below this one. + | + */ + + 'username' => env('MAIL_USERNAME'), + + /* + |-------------------------------------------------------------------------- + | SMTP Server Password + |-------------------------------------------------------------------------- + | + | Here you may set the password required by your SMTP server to send out + | messages from your application. This will be given to the server on + | connection so that the application will be able to send messages. + | + */ + + 'password' => env('MAIL_PASSWORD'), + + /* + |-------------------------------------------------------------------------- + | Sendmail System Path + |-------------------------------------------------------------------------- + | + | When using the "sendmail" driver to send e-mails, we will need to know + | the path to where Sendmail lives on this server. A default path has + | been provided here, which will work well on most of your systems. + | + */ + + 'sendmail' => '/usr/sbin/sendmail -bs', + +]; diff --git a/workspace/config/queue.php b/workspace/config/queue.php new file mode 100644 index 0000000..d0f732a --- /dev/null +++ b/workspace/config/queue.php @@ -0,0 +1,85 @@ +<?php + +return [ + + /* + |-------------------------------------------------------------------------- + | Default Queue Driver + |-------------------------------------------------------------------------- + | + | The Laravel queue API supports a variety of back-ends via an unified + | API, giving you convenient access to each back-end using the same + | syntax for each one. Here you may set the default queue driver. + | + | Supported: "null", "sync", "database", "beanstalkd", "sqs", "redis" + | + */ + + 'default' => env('QUEUE_DRIVER', 'sync'), + + /* + |-------------------------------------------------------------------------- + | Queue Connections + |-------------------------------------------------------------------------- + | + | Here you may configure the connection information for each server that + | is used by your application. A default configuration has been added + | for each back-end shipped with Laravel. You are free to add more. + | + */ + + 'connections' => [ + + 'sync' => [ + 'driver' => 'sync', + ], + + 'database' => [ + 'driver' => 'database', + 'table' => 'jobs', + 'queue' => 'default', + 'expire' => 60, + ], + + 'beanstalkd' => [ + 'driver' => 'beanstalkd', + 'host' => 'localhost', + 'queue' => 'default', + 'ttr' => 60, + ], + + 'sqs' => [ + 'driver' => 'sqs', + 'key' => 'your-public-key', + 'secret' => 'your-secret-key', + 'prefix' => 'https://sqs.us-east-1.amazonaws.com/your-account-id', + 'queue' => 'your-queue-name', + 'region' => 'us-east-1', + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'default', + 'queue' => 'default', + 'expire' => 60, + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Failed Queue Jobs + |-------------------------------------------------------------------------- + | + | These options configure the behavior of failed queue job logging so you + | can control which database and table are used to store the jobs that + | have failed. You may change them to any database / table you wish. + | + */ + + 'failed' => [ + 'database' => env('DB_CONNECTION', 'mysql'), + 'table' => 'failed_jobs', + ], + +]; diff --git a/workspace/config/services.php b/workspace/config/services.php new file mode 100644 index 0000000..287b118 --- /dev/null +++ b/workspace/config/services.php @@ -0,0 +1,38 @@ +<?php + +return [ + + /* + |-------------------------------------------------------------------------- + | Third Party Services + |-------------------------------------------------------------------------- + | + | This file is for storing the credentials for third party services such + | as Stripe, Mailgun, Mandrill, and others. This file provides a sane + | default location for this type of information, allowing packages + | to have a conventional place to find your various credentials. + | + */ + + 'mailgun' => [ + 'domain' => env('MAILGUN_DOMAIN'), + 'secret' => env('MAILGUN_SECRET'), + ], + + 'ses' => [ + 'key' => env('SES_KEY'), + 'secret' => env('SES_SECRET'), + 'region' => 'us-east-1', + ], + + 'sparkpost' => [ + 'secret' => env('SPARKPOST_SECRET'), + ], + + 'stripe' => [ + 'model' => App\User::class, + 'key' => env('STRIPE_KEY'), + 'secret' => env('STRIPE_SECRET'), + ], + +]; diff --git a/workspace/config/session.php b/workspace/config/session.php new file mode 100644 index 0000000..b501055 --- /dev/null +++ b/workspace/config/session.php @@ -0,0 +1,166 @@ +<?php + +return [ + + /* + |-------------------------------------------------------------------------- + | Default Session Driver + |-------------------------------------------------------------------------- + | + | This option controls the default session "driver" that will be used on + | requests. By default, we will use the lightweight native driver but + | you may specify any of the other wonderful drivers provided here. + | + | Supported: "file", "cookie", "database", "apc", + | "memcached", "redis", "array" + | + */ + + 'driver' => env('SESSION_DRIVER', 'file'), + + /* + |-------------------------------------------------------------------------- + | Session Lifetime + |-------------------------------------------------------------------------- + | + | Here you may specify the number of minutes that you wish the session + | to be allowed to remain idle before it expires. If you want them + | to immediately expire on the browser closing, set that option. + | + */ + + 'lifetime' => 120, + + 'expire_on_close' => false, + + /* + |-------------------------------------------------------------------------- + | Session Encryption + |-------------------------------------------------------------------------- + | + | This option allows you to easily specify that all of your session data + | should be encrypted before it is stored. All encryption will be run + | automatically by Laravel and you can use the Session like normal. + | + */ + + 'encrypt' => false, + + /* + |-------------------------------------------------------------------------- + | Session File Location + |-------------------------------------------------------------------------- + | + | When using the native session driver, we need a location where session + | files may be stored. A default has been set for you but a different + | location may be specified. This is only needed for file sessions. + | + */ + + 'files' => storage_path('framework/sessions'), + + /* + |-------------------------------------------------------------------------- + | Session Database Connection + |-------------------------------------------------------------------------- + | + | When using the "database" or "redis" session drivers, you may specify a + | connection that should be used to manage these sessions. This should + | correspond to a connection in your database configuration options. + | + */ + + 'connection' => null, + + /* + |-------------------------------------------------------------------------- + | Session Database Table + |-------------------------------------------------------------------------- + | + | When using the "database" session driver, you may specify the table we + | should use to manage the sessions. Of course, a sensible default is + | provided for you; however, you are free to change this as needed. + | + */ + + 'table' => 'sessions', + + /* + |-------------------------------------------------------------------------- + | Session Sweeping Lottery + |-------------------------------------------------------------------------- + | + | Some session drivers must manually sweep their storage location to get + | rid of old sessions from storage. Here are the chances that it will + | happen on a given request. By default, the odds are 2 out of 100. + | + */ + + 'lottery' => [2, 100], + + /* + |-------------------------------------------------------------------------- + | Session Cookie Name + |-------------------------------------------------------------------------- + | + | Here you may change the name of the cookie used to identify a session + | instance by ID. The name specified here will get used every time a + | new session cookie is created by the framework for every driver. + | + */ + + 'cookie' => 'laravel_session', + + /* + |-------------------------------------------------------------------------- + | Session Cookie Path + |-------------------------------------------------------------------------- + | + | The session cookie path determines the path for which the cookie will + | be regarded as available. Typically, this will be the root path of + | your application but you are free to change this when necessary. + | + */ + + 'path' => '/', + + /* + |-------------------------------------------------------------------------- + | Session Cookie Domain + |-------------------------------------------------------------------------- + | + | Here you may change the domain of the cookie used to identify a session + | in your application. This will determine which domains the cookie is + | available to in your application. A sensible default has been set. + | + */ + + 'domain' => null, + + /* + |-------------------------------------------------------------------------- + | HTTPS Only Cookies + |-------------------------------------------------------------------------- + | + | By setting this option to true, session cookies will only be sent back + | to the server if the browser has a HTTPS connection. This will keep + | the cookie from being sent to you if it can not be done securely. + | + */ + + 'secure' => false, + + /* + |-------------------------------------------------------------------------- + | HTTP Access Only + |-------------------------------------------------------------------------- + | + | Setting this value to true will prevent JavaScript from accessing the + | value of the cookie and the cookie will only be accessible through + | the HTTP protocol. You are free to modify this option if needed. + | + */ + + 'http_only' => true, + +]; diff --git a/workspace/config/view.php b/workspace/config/view.php new file mode 100644 index 0000000..e193ab6 --- /dev/null +++ b/workspace/config/view.php @@ -0,0 +1,33 @@ +<?php + +return [ + + /* + |-------------------------------------------------------------------------- + | View Storage Paths + |-------------------------------------------------------------------------- + | + | Most templating systems load templates from disk. Here you may specify + | an array of paths that should be checked for your views. Of course + | the usual Laravel view path has already been registered for you. + | + */ + + 'paths' => [ + realpath(base_path('resources/views')), + ], + + /* + |-------------------------------------------------------------------------- + | Compiled View Path + |-------------------------------------------------------------------------- + | + | This option determines where all the compiled Blade templates will be + | stored for your application. Typically, this is within the storage + | directory. However, as usual, you are free to change this value. + | + */ + + 'compiled' => realpath(storage_path('framework/views')), + +]; diff --git a/workspace/database/.gitignore b/workspace/database/.gitignore new file mode 100644 index 0000000..9b1dffd --- /dev/null +++ b/workspace/database/.gitignore @@ -0,0 +1 @@ +*.sqlite diff --git a/workspace/database/factories/ModelFactory.php b/workspace/database/factories/ModelFactory.php new file mode 100644 index 0000000..f596d0b --- /dev/null +++ b/workspace/database/factories/ModelFactory.php @@ -0,0 +1,21 @@ +<?php + +/* +|-------------------------------------------------------------------------- +| Model Factories +|-------------------------------------------------------------------------- +| +| Here you may define all of your model factories. Model factories give +| you a convenient way to create models for testing and seeding your +| database. Just tell the factory how a default model should look. +| +*/ + +$factory->define(App\User::class, function (Faker\Generator $faker) { + return [ + 'name' => $faker->name, + 'email' => $faker->safeEmail, + 'password' => bcrypt(str_random(10)), + 'remember_token' => str_random(10), + ]; +}); diff --git a/workspace/database/migrations/.gitkeep b/workspace/database/migrations/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/workspace/database/migrations/.gitkeep @@ -0,0 +1 @@ + diff --git a/workspace/database/migrations/2014_10_12_000000_create_users_table.php b/workspace/database/migrations/2014_10_12_000000_create_users_table.php new file mode 100644 index 0000000..8ca1c0e --- /dev/null +++ b/workspace/database/migrations/2014_10_12_000000_create_users_table.php @@ -0,0 +1,34 @@ +<?php + +use Illuminate\Database\Schema\Blueprint; +use Illuminate\Database\Migrations\Migration; + +class CreateUsersTable extends Migration +{ + /** + * Run the migrations. + * + * @return void + */ + public function up() + { + Schema::create('users', function (Blueprint $table) { + $table->increments('id'); + $table->string('name')->unique(); + $table->string('email')->unique(); + $table->string('password'); + $table->rememberToken(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('users'); + } +} diff --git a/workspace/database/migrations/2014_10_12_100000_create_password_resets_table.php b/workspace/database/migrations/2014_10_12_100000_create_password_resets_table.php new file mode 100644 index 0000000..00057f9 --- /dev/null +++ b/workspace/database/migrations/2014_10_12_100000_create_password_resets_table.php @@ -0,0 +1,31 @@ +<?php + +use Illuminate\Database\Schema\Blueprint; +use Illuminate\Database\Migrations\Migration; + +class CreatePasswordResetsTable extends Migration +{ + /** + * Run the migrations. + * + * @return void + */ + public function up() + { + Schema::create('password_resets', function (Blueprint $table) { + $table->string('email')->index(); + $table->string('token')->index(); + $table->timestamp('created_at'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('password_resets'); + } +} diff --git a/workspace/database/migrations/2017_11_08_233536_create_product_table.php b/workspace/database/migrations/2017_11_08_233536_create_product_table.php new file mode 100644 index 0000000..4efe71f --- /dev/null +++ b/workspace/database/migrations/2017_11_08_233536_create_product_table.php @@ -0,0 +1,43 @@ +<?php + +use Illuminate\Database\Schema\Blueprint; +use Illuminate\Database\Migrations\Migration; + +class CreateProductTable extends Migration +{ + /** + * Run the migrations. + * + * @return void + * + * https://laravel.com/docs/5.2/migrations#creating-columns + */ + public function up() + { + Schema::create('products', function(Blueprint $table) { + $table->increments('id'); + $table->string('title', 100); + $table->string('email'); + $table->integer('address_number'); + $table->string('address_street'); + $table->string('address_city'); + $table->integer('postal_code'); + $table->text('description'); + $table->date('expire_at'); + $table->enum('category', ['fruit', 'vegetable', 'starchy', 'homemade', 'fish', 'spices', 'sugar', 'other']); + // $table->boolean('halal'); + $table->boolean('vegan'); + // $table->boolean('kosher'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('products'); + } +} diff --git a/workspace/database/seeds/.gitkeep b/workspace/database/seeds/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/workspace/database/seeds/.gitkeep @@ -0,0 +1 @@ + diff --git a/workspace/database/seeds/DatabaseSeeder.php b/workspace/database/seeds/DatabaseSeeder.php new file mode 100644 index 0000000..e119db6 --- /dev/null +++ b/workspace/database/seeds/DatabaseSeeder.php @@ -0,0 +1,16 @@ +<?php + +use Illuminate\Database\Seeder; + +class DatabaseSeeder extends Seeder +{ + /** + * Run the database seeds. + * + * @return void + */ + public function run() + { + // $this->call(UsersTableSeeder::class); + } +} diff --git a/workspace/gulpfile.js b/workspace/gulpfile.js new file mode 100644 index 0000000..dc6f1eb --- /dev/null +++ b/workspace/gulpfile.js @@ -0,0 +1,16 @@ +var elixir = require('laravel-elixir'); + +/* + |-------------------------------------------------------------------------- + | Elixir Asset Management + |-------------------------------------------------------------------------- + | + | Elixir provides a clean, fluent API for defining some basic Gulp tasks + | for your Laravel application. By default, we are compiling the Sass + | file for our application, as well as publishing vendor resources. + | + */ + +elixir(function(mix) { + mix.sass('app.scss'); +}); diff --git a/workspace/package.json b/workspace/package.json new file mode 100644 index 0000000..c4a056b --- /dev/null +++ b/workspace/package.json @@ -0,0 +1,12 @@ +{ + "private": true, + "scripts": { + "prod": "gulp --production", + "dev": "gulp watch" + }, + "devDependencies": { + "gulp": "^3.9.1", + "laravel-elixir": "^5.0.0", + "bootstrap-sass": "^3.0.0" + } +} diff --git a/workspace/php.ini b/workspace/php.ini new file mode 100644 index 0000000..5dca570 --- /dev/null +++ b/workspace/php.ini @@ -0,0 +1,1659 @@ +[PHP] + +;;;;;;;;;;;;;;;;;;; +; About php.ini ; +;;;;;;;;;;;;;;;;;;; +; PHP's initialization file, generally called php.ini, is responsible for +; configuring many of the aspects of PHP's behavior. + +; PHP attempts to find and load this configuration from a number of locations. +; The following is a summary of its search order: +; 1. SAPI module specific location. +; 2. The PHPRC environment variable. (As of PHP 5.2.0) +; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) +; 4. Current working directory (except CLI) +; 5. The web server's directory (for SAPI modules), or directory of PHP +; (otherwise in Windows) +; 6. The directory from the --with-config-file-path compile time option, or the +; Windows directory (C:\windows or C:\winnt) +; See the PHP docs for more specific information. +; http://www.php.net/manual/en/configuration.file.php + +; The syntax of the file is extremely simple. Whitespace and Lines +; beginning with a semicolon are silently ignored (as you probably guessed). +; Section headers (e.g. [Foo]) are also silently ignored, even though +; they might mean something in the future. + +; Directives following the section heading [PATH=/www/mysite] only +; apply to PHP files in the /www/mysite directory. Directives +; following the section heading [HOST=www.example.com] only apply to +; PHP files served from www.example.com. Directives set in these +; special sections cannot be overridden by user-defined INI files or +; at runtime. Currently, [PATH=] and [HOST=] sections only work under +; CGI/FastCGI. +; http://www.php.net/manual/en/ini.sections.php + +; Directives are specified using the following syntax: +; directive = value +; Directive names are *case sensitive* - foo=bar is different from FOO=bar. +; Directives are variables used to configure PHP or PHP extensions. +; There is no name validation. If PHP can't find an expected +; directive because it is not set or is mistyped, a default value will be used. + +; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one +; of the INI constants (On, Off, True, False, Yes, No and None) or an expression +; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a +; previously set variable or directive (e.g. ${foo}) + +; Expressions in the INI file are limited to bitwise operators and parentheses: +; | bitwise OR +; ^ bitwise XOR +; & bitwise AND +; ~ bitwise NOT +; ! boolean NOT + +; Boolean flags can be turned on using the values 1, On, True or Yes. +; They can be turned off using the values 0, Off, False or No. + +; An empty string can be denoted by simply not writing anything after the equal +; sign, or by using the None keyword: + +; foo = ; sets foo to an empty string +; foo = None ; sets foo to an empty string +; foo = "None" ; sets foo to the string 'None' + +; If you use constants in your value, and these constants belong to a +; dynamically loaded extension (either a PHP extension or a Zend extension), +; you may only use these constants *after* the line that loads the extension. + +;;;;;;;;;;;;;;;;;;; +; About this file ; +;;;;;;;;;;;;;;;;;;; +; PHP comes packaged with two INI files. One that is recommended to be used +; in production environments and one that is recommended to be used in +; development environments. + +; php.ini-production contains settings which hold security, performance and +; best practices at its core. But please be aware, these settings may break +; compatibility with older or less security conscience applications. We +; recommending using the production ini in production and testing environments. + +; php.ini-development is very similar to its production variant, except it's +; much more verbose when it comes to errors. We recommending using the +; development version only in development environments as errors shown to +; application users can inadvertently leak otherwise secure information. + +; This 2 files are provided, by RPM, in /usr/share/doc/php-common-*/ +; File used by RPM (the /etc/php.ini) is mainly the php.ini-production + +;;;;;;;;;;;;;;;;;;; +; Quick Reference ; +;;;;;;;;;;;;;;;;;;; +; The following are all the settings which are different in either the production +; or development versions of the INIs with respect to PHP's default behavior. +; Please see the actual settings later in the document for more details as to why +; we recommend these changes in PHP's behavior. + +; allow_call_time_pass_reference +; Default Value: On +; Development Value: Off +; Production Value: Off + +; display_errors +; Default Value: On +; Development Value: On +; Production Value: Off + +; display_startup_errors +; Default Value: Off +; Development Value: On +; Production Value: Off + +; error_reporting +; Default Value: E_ALL & ~E_NOTICE +; Development Value: E_ALL | E_STRICT +; Production Value: E_ALL & ~E_DEPRECATED + +; html_errors +; Default Value: On +; Development Value: On +; Production value: Off + +; log_errors +; Default Value: Off +; Development Value: On +; Production Value: On + +; magic_quotes_gpc +; Default Value: On +; Development Value: Off +; Production Value: Off + +; max_input_time +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) + +; output_buffering +; Default Value: Off +; Development Value: 4096 +; Production Value: 4096 + +; register_argc_argv +; Default Value: On +; Development Value: Off +; Production Value: Off + +; register_long_arrays +; Default Value: On +; Development Value: Off +; Production Value: Off + +; request_order +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" + +; session.bug_compat_42 +; Default Value: On +; Development Value: On +; Production Value: Off + +; session.bug_compat_warn +; Default Value: On +; Development Value: On +; Production Value: Off + +; session.gc_divisor +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 + +; session.hash_bits_per_character +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 + +; short_open_tag +; Default Value: On +; Development Value: Off +; Production Value: Off + +; track_errors +; Default Value: Off +; Development Value: On +; Production Value: Off + +; url_rewriter.tags +; Default Value: "a=href,area=href,frame=src,form=,fieldset=" +; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" +; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" + +; variables_order +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS" + +;;;;;;;;;;;;;;;;;;;; +; php.ini Options ; +;;;;;;;;;;;;;;;;;;;; +; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" +;user_ini.filename = ".user.ini" + +; To disable this feature set this option to empty value +;user_ini.filename = + +; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) +;user_ini.cache_ttl = 300 + +;;;;;;;;;;;;;;;;;;;; +; Language Options ; +;;;;;;;;;;;;;;;;;;;; + +; Enable the PHP scripting language engine under Apache. +; http://www.php.net/manual/en/apache.configuration.php#ini.engine +engine = On + +; This directive determines whether or not PHP will recognize code between +; <? and ?> tags as PHP source which should be processed as such. It's been +; recommended for several years that you not use the short tag "short cut" and +; instead to use the full <?php and ?> tag combination. With the wide spread use +; of XML and use of these tags by other languages, the server can become easily +; confused and end up parsing the wrong code in the wrong context. But because +; this short cut has been a feature for such a long time, it's currently still +; supported for backwards compatibility, but we recommend you don't use them. +; Default Value: On +; Development Value: Off +; Production Value: Off +; http://www.php.net/manual/en/ini.core.php#ini.short-open-tag +short_open_tag = Off + +; Allow ASP-style <% %> tags. +; http://www.php.net/manual/en/ini.core.php#ini.asp-tags +asp_tags = Off + +; The number of significant digits displayed in floating point numbers. +; http://www.php.net/manual/en/ini.core.php#ini.precision +precision = 14 + +; Enforce year 2000 compliance (will cause problems with non-compliant browsers) +; http://www.php.net/manual/en/ini.core.php#ini.y2k-compliance +y2k_compliance = On + +; Output buffering is a mechanism for controlling how much output data +; (excluding headers and cookies) PHP should keep internally before pushing that +; data to the client. If your application's output exceeds this setting, PHP +; will send that data in chunks of roughly the size you specify. +; Turning on this setting and managing its maximum buffer size can yield some +; interesting side-effects depending on your application and web server. +; You may be able to send headers and cookies after you've already sent output +; through print or echo. You also may see performance benefits if your server is +; emitting less packets due to buffered output versus PHP streaming the output +; as it gets it. On production servers, 4096 bytes is a good setting for performance +; reasons. +; Note: Output buffering can also be controlled via Output Buffering Control +; functions. +; Possible Values: +; On = Enabled and buffer is unlimited. (Use with caution) +; Off = Disabled +; Integer = Enables the buffer and sets its maximum size in bytes. +; Default Value: Off +; Development Value: 4096 +; Production Value: 4096 +; http://www.php.net/manual/en/outcontrol.configuration.php#ini.output-buffering +output_buffering = 4096 + +; You can redirect all of the output of your scripts to a function. For +; example, if you set output_handler to "mb_output_handler", character +; encoding will be transparently converted to the specified encoding. +; Setting any output handler automatically turns on output buffering. +; Note: People who wrote portable scripts should not depend on this ini +; directive. Instead, explicitly set the output handler using ob_start(). +; Using this ini directive may cause problems unless you know what script +; is doing. +; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler" +; and you cannot use both "ob_gzhandler" and "zlib.output_compression". +; Note: output_handler must be empty if this is set 'On' !!!! +; Instead you must use zlib.output_handler. +; http://www.php.net/manual/en/outcontrol.configuration.php#ini.output-handler +;output_handler = + +; Transparent output compression using the zlib library +; Valid values for this option are 'off', 'on', or a specific buffer size +; to be used for compression (default is 4KB) +; Note: Resulting chunk size may vary due to nature of compression. PHP +; outputs chunks that are few hundreds bytes each as a result of +; compression. If you prefer a larger chunk size for better +; performance, enable output_buffering in addition. +; Note: You need to use zlib.output_handler instead of the standard +; output_handler, or otherwise the output will be corrupted. +; http://www.php.net/manual/en/zlib.configuration.php#ini.zlib.output-compression +zlib.output_compression = Off + +; http://www.php.net/manual/en/zlib.configuration.php#ini.zlib.output-compression-level +;zlib.output_compression_level = -1 + +; You cannot specify additional output handlers if zlib.output_compression +; is activated here. This setting does the same as output_handler but in +; a different order. +; http://www.php.net/manual/en/zlib.configuration.php#ini.zlib.output-handler +;zlib.output_handler = + +; Implicit flush tells PHP to tell the output layer to flush itself +; automatically after every output block. This is equivalent to calling the +; PHP function flush() after each and every call to print() or echo() and each +; and every HTML block. Turning this option on has serious performance +; implications and is generally recommended for debugging purposes only. +; http://www.php.net/manual/en/outcontrol.configuration.php#ini.implicit-flush +implicit_flush = Off + +; The unserialize callback function will be called (with the undefined class' +; name as parameter), if the unserializer finds an undefined class +; which should be instantiated. A warning appears if the specified function is +; not defined, or if the function doesn't include/implement the missing class. +; So only set this entry, if you really want to implement such a +; callback-function. +unserialize_callback_func = + +; When floats & doubles are serialized store serialize_precision significant +; digits after the floating point. The default value ensures that when floats +; are decoded with unserialize, the data will remain the same. +serialize_precision = 100 + +; This directive allows you to enable and disable warnings which PHP will issue +; if you pass a value by reference at function call time. Passing values by +; reference at function call time is a deprecated feature which will be removed +; from PHP at some point in the near future. The acceptable method for passing a +; value by reference to a function is by declaring the reference in the functions +; definition, not at call time. This directive does not disable this feature, it +; only determines whether PHP will warn you about it or not. These warnings +; should enabled in development environments only. +; Default Value: On (Suppress warnings) +; Development Value: Off (Issue warnings) +; Production Value: Off (Issue warnings) +; http://www.php.net/manual/en/ini.core.php#ini.allow-call-time-pass-reference +allow_call_time_pass_reference = Off + +; Safe Mode +; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode +safe_mode = Off + +; By default, Safe Mode does a UID compare check when +; opening files. If you want to relax this to a GID compare, +; then turn on safe_mode_gid. +; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-gid +safe_mode_gid = Off + +; When safe_mode is on, UID/GID checks are bypassed when +; including files from this directory and its subdirectories. +; (directory must also be in include_path or full path must +; be used when including) +; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-include-dir +safe_mode_include_dir = + +; When safe_mode is on, only executables located in the safe_mode_exec_dir +; will be allowed to be executed via the exec family of functions. +; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-exec-dir +safe_mode_exec_dir = + +; Setting certain environment variables may be a potential security breach. +; This directive contains a comma-delimited list of prefixes. In Safe Mode, +; the user may only alter environment variables whose names begin with the +; prefixes supplied here. By default, users will only be able to set +; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR). +; Note: If this directive is empty, PHP will let the user modify ANY +; environment variable! +; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-allowed-env-vars +safe_mode_allowed_env_vars = PHP_ + +; This directive contains a comma-delimited list of environment variables that +; the end user won't be able to change using putenv(). These variables will be +; protected even if safe_mode_allowed_env_vars is set to allow to change them. +; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-protected-env-vars +safe_mode_protected_env_vars = LD_LIBRARY_PATH + +; open_basedir, if set, limits all file operations to the defined directory +; and below. This directive makes most sense if used in a per-directory +; or per-virtualhost web server configuration file. This directive is +; *NOT* affected by whether Safe Mode is turned On or Off. +; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.open-basedir +;open_basedir = + +; This directive allows you to disable certain functions for security reasons. +; It receives a comma-delimited list of function names. This directive is +; *NOT* affected by whether Safe Mode is turned On or Off. +; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.disable-functions +disable_functions = + +; This directive allows you to disable certain classes for security reasons. +; It receives a comma-delimited list of class names. This directive is +; *NOT* affected by whether Safe Mode is turned On or Off. +; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.disable-classes +disable_classes = + +; Colors for Syntax Highlighting mode. Anything that's acceptable in +; <span style="color: ???????"> would work. +; http://www.php.net/manual/en/misc.configuration.php#ini.syntax-highlighting +;highlight.string = #DD0000 +;highlight.comment = #FF9900 +;highlight.keyword = #007700 +;highlight.bg = #FFFFFF +;highlight.default = #0000BB +;highlight.html = #000000 + +; If enabled, the request will be allowed to complete even if the user aborts +; the request. Consider enabling it if executing long requests, which may end up +; being interrupted by the user or a browser timing out. PHP's default behavior +; is to disable this feature. +; http://www.php.net/manual/en/misc.configuration.php#ini.ignore-user-abort +;ignore_user_abort = On + +; Determines the size of the realpath cache to be used by PHP. This value should +; be increased on systems where PHP opens many files to reflect the quantity of +; the file operations performed. +; http://www.php.net/manual/en/ini.core.php#ini.realpath-cache-size +;realpath_cache_size = 16k + +; Duration of time, in seconds for which to cache realpath information for a given +; file or directory. For systems with rarely changing files, consider increasing this +; value. +; http://www.php.net/manual/en/ini.core.php#ini.realpath-cache-ttl +;realpath_cache_ttl = 120 + +;;;;;;;;;;;;;;;;; +; Miscellaneous ; +;;;;;;;;;;;;;;;;; + +; Decides whether PHP may expose the fact that it is installed on the server +; (e.g. by adding its signature to the Web server header). It is no security +; threat in any way, but it makes it possible to determine whether you use PHP +; on your server or not. +; http://www.php.net/manual/en/ini.core.php#ini.expose-php +expose_php = On + +;;;;;;;;;;;;;;;;;;; +; Resource Limits ; +;;;;;;;;;;;;;;;;;;; + +; Maximum execution time of each script, in seconds +; http://www.php.net/manual/en/info.configuration.php#ini.max-execution-time +max_execution_time = 30 + +; Maximum amount of time each script may spend parsing request data. It's a good +; idea to limit this time on productions servers in order to eliminate unexpectedly +; long running scripts. +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) +; http://www.php.net/manual/en/info.configuration.php#ini.max-input-time +max_input_time = 60 + +; Maximum input variable nesting level +; http://www.php.net/manual/en/info.configuration.php#ini.max-input-nesting-level +;max_input_nesting_level = 64 + +; Maximum amount of memory a script may consume (128MB) +; http://www.php.net/manual/en/ini.core.php#ini.memory-limit +memory_limit = 128M + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Error handling and logging ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +; This directive informs PHP of which errors, warnings and notices you would like +; it to take action for. The recommended way of setting values for this +; directive is through the use of the error level constants and bitwise +; operators. The error level constants are below here for convenience as well as +; some common settings and their meanings. +; By default, PHP is set to take action on all errors, notices and warnings EXCEPT +; those related to E_NOTICE and E_STRICT, which together cover best practices and +; recommended coding standards in PHP. For performance reasons, this is the +; recommend error reporting setting. Your production server shouldn't be wasting +; resources complaining about best practices and coding standards. That's what +; development servers and development settings are for. +; Note: The php.ini-development file has this setting as E_ALL | E_STRICT. This +; means it pretty much reports everything which is exactly what you want during +; development and early testing. +; +; Error Level Constants: +; E_ALL - All errors and warnings (includes E_STRICT as of PHP 6.0.0) +; E_ERROR - fatal run-time errors +; E_RECOVERABLE_ERROR - almost fatal run-time errors +; E_WARNING - run-time warnings (non-fatal errors) +; E_PARSE - compile-time parse errors +; E_NOTICE - run-time notices (these are warnings which often result +; from a bug in your code, but it's possible that it was +; intentional (e.g., using an uninitialized variable and +; relying on the fact it's automatically initialized to an +; empty string) +; E_STRICT - run-time notices, enable to have PHP suggest changes +; to your code which will ensure the best interoperability +; and forward compatibility of your code +; E_CORE_ERROR - fatal errors that occur during PHP's initial startup +; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's +; initial startup +; E_COMPILE_ERROR - fatal compile-time errors +; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) +; E_USER_ERROR - user-generated error message +; E_USER_WARNING - user-generated warning message +; E_USER_NOTICE - user-generated notice message +; E_DEPRECATED - warn about code that will not work in future versions +; of PHP +; E_USER_DEPRECATED - user-generated deprecation warnings +; +; Common Values: +; E_ALL & ~E_NOTICE (Show all errors, except for notices and coding standards warnings.) +; E_ALL & ~E_NOTICE | E_STRICT (Show all errors, except for notices) +; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) +; E_ALL | E_STRICT (Show all errors, warnings and notices including coding standards.) +; Default Value: E_ALL & ~E_NOTICE +; Development Value: E_ALL | E_STRICT +; Production Value: E_ALL & ~E_DEPRECATED +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting +error_reporting = E_ALL & ~E_DEPRECATED + +; This directive controls whether or not and where PHP will output errors, +; notices and warnings too. Error output is very useful during development, but +; it could be very dangerous in production environments. Depending on the code +; which is triggering the error, sensitive information could potentially leak +; out of your application such as database usernames and passwords or worse. +; It's recommended that errors be logged on production servers rather than +; having the errors sent to STDOUT. +; Possible Values: +; Off = Do not display any errors +; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) +; On or stdout = Display errors to STDOUT +; Default Value: On +; Development Value: On +; Production Value: Off +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.display-errors +display_errors = Off + +; The display of errors which occur during PHP's startup sequence are handled +; separately from display_errors. PHP's default behavior is to suppress those +; errors from clients. Turning the display of startup errors on can be useful in +; debugging configuration problems. But, it's strongly recommended that you +; leave this setting off on production servers. +; Default Value: Off +; Development Value: On +; Production Value: Off +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.display-startup-errors +display_startup_errors = Off + +; Besides displaying errors, PHP can also log errors to locations such as a +; server-specific log, STDERR, or a location specified by the error_log +; directive found below. While errors should not be displayed on productions +; servers they should still be monitored and logging is a great way to do that. +; Default Value: Off +; Development Value: On +; Production Value: On +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.log-errors +log_errors = On + +; Set maximum length of log_errors. In error_log information about the source is +; added. The default is 1024 and 0 allows to not apply any maximum length at all. +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.log-errors-max-len +log_errors_max_len = 1024 + +; Do not log repeated messages. Repeated errors must occur in same file on same +; line unless ignore_repeated_source is set true. +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.ignore-repeated-errors +ignore_repeated_errors = Off + +; Ignore source of message when ignoring repeated messages. When this setting +; is On you will not log errors with repeated messages from different files or +; source lines. +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.ignore-repeated-source +ignore_repeated_source = Off + +; If this parameter is set to Off, then memory leaks will not be shown (on +; stdout or in the log). This has only effect in a debug compile, and if +; error reporting includes E_WARNING in the allowed list +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.report-memleaks +report_memleaks = On + +; This setting is on by default. +;report_zend_debug = 0 + +; Store the last error/warning message in $php_errormsg (boolean). Setting this value +; to On can assist in debugging and is appropriate for development servers. It should +; however be disabled on production servers. +; Default Value: Off +; Development Value: On +; Production Value: Off +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.track-errors +track_errors = Off + +; Turn off normal error reporting and emit XML-RPC error XML +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.xmlrpc-errors +;xmlrpc_errors = 0 + +; An XML-RPC faultCode +;xmlrpc_error_number = 0 + +; When PHP displays or logs an error, it has the capability of inserting html +; links to documentation related to that error. This directive controls whether +; those HTML links appear in error messages or not. For performance and security +; reasons, it's recommended you disable this on production servers. +; Default Value: On +; Development Value: On +; Production value: Off +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.html-errors +html_errors = Off + +; If html_errors is set On PHP produces clickable error messages that direct +; to a page describing the error or function causing the error in detail. +; You can download a copy of the PHP manual from http://www.php.net/docs.php +; and change docref_root to the base URL of your local copy including the +; leading '/'. You must also specify the file extension being used including +; the dot. PHP's default behavior is to leave these settings empty. +; Note: Never use this feature for production boxes. +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.docref-root +; Examples +;docref_root = "/phpmanual/" + +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.docref-ext +;docref_ext = .html + +; String to output before an error message. PHP's default behavior is to leave +; this setting blank. +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-prepend-string +; Example: +;error_prepend_string = "<font color=#ff0000>" + +; String to output after an error message. PHP's default behavior is to leave +; this setting blank. +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-append-string +; Example: +;error_append_string = "</font>" + +; Log errors to specified file. PHP's default behavior is to leave this value +; empty. +; http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-log +; Example: +error_log = ../php_errors.log +; Log errors to syslog (Event Log on NT, not valid in Windows 95). +;error_log = syslog + +;;;;;;;;;;;;;;;;; +; Data Handling ; +;;;;;;;;;;;;;;;;; + +; Note - track_vars is ALWAYS enabled as of PHP 4.0.3 + +; The separator used in PHP generated URLs to separate arguments. +; PHP's default setting is "&". +; http://www.php.net/manual/en/ini.core.php#ini.arg-separator.output +; Example: +;arg_separator.output = "&" + +; List of separator(s) used by PHP to parse input URLs into variables. +; PHP's default setting is "&". +; NOTE: Every character in this directive is considered as separator! +; http://www.php.net/manual/en/ini.core.php#ini.arg-separator.input +; Example: +;arg_separator.input = ";&" + +; This directive determines which super global arrays are registered when PHP +; starts up. If the register_globals directive is enabled, it also determines +; what order variables are populated into the global space. G,P,C,E & S are +; abbreviations for the following respective super globals: GET, POST, COOKIE, +; ENV and SERVER. There is a performance penalty paid for the registration of +; these arrays and because ENV is not as commonly used as the others, ENV is +; is not recommended on productions servers. You can still get access to +; the environment variables through getenv() should you need to. +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS"; +; http://www.php.net/manual/en/ini.core.php#ini.variables-order +variables_order = "GPCS" + +; This directive determines which super global data (G,P,C,E & S) should +; be registered into the super global array REQUEST. If so, it also determines +; the order in which that data is registered. The values for this directive are +; specified in the same manner as the variables_order directive, EXCEPT one. +; Leaving this value empty will cause PHP to use the value set in the +; variables_order directive. It does not mean it will leave the super globals +; array REQUEST empty. +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" +; http://www.php.net/manual/en/ini.core.php#ini.request-order +request_order = "GP" + +; Whether or not to register the EGPCS variables as global variables. You may +; want to turn this off if you don't want to clutter your scripts' global scope +; with user data. This makes most sense when coupled with track_vars - in which +; case you can access all of the GPC variables through the $HTTP_*_VARS[], +; variables. +; You should do your best to write your scripts so that they do not require +; register_globals to be on; Using form variables as globals can easily lead +; to possible security problems, if the code is not very well thought of. +; http://www.php.net/manual/en/ini.core.php#ini.register-globals +register_globals = Off + +; Determines whether the deprecated long $HTTP_*_VARS type predefined variables +; are registered by PHP or not. As they are deprecated, we obviously don't +; recommend you use them. They are on by default for compatibility reasons but +; they are not recommended on production servers. +; Default Value: On +; Development Value: Off +; Production Value: Off +; http://www.php.net/manual/en/ini.core.php#ini.register-long-arrays +register_long_arrays = Off + +; This directive determines whether PHP registers $argv & $argc each time it +; runs. $argv contains an array of all the arguments passed to PHP when a script +; is invoked. $argc contains an integer representing the number of arguments +; that were passed when the script was invoked. These arrays are extremely +; useful when running scripts from the command line. When this directive is +; enabled, registering these variables consumes CPU cycles and memory each time +; a script is executed. For performance reasons, this feature should be disabled +; on production servers. +; Default Value: On +; Development Value: Off +; Production Value: Off +; http://www.php.net/manual/en/ini.core.php#ini.register-argc-argv +register_argc_argv = Off + +; When enabled, the SERVER and ENV variables are created when they're first +; used (Just In Time) instead of when the script starts. If these variables +; are not used within a script, having this directive on will result in a +; performance gain. The PHP directives register_globals, register_long_arrays, +; and register_argc_argv must be disabled for this directive to have any affect. +; http://www.php.net/manual/en/ini.core.php#ini.auto-globals-jit +auto_globals_jit = On + +; Maximum size of POST data that PHP will accept. +; http://www.php.net/manual/en/ini.core.php#ini.post-max-size +post_max_size = 8M + +; Magic quotes are a preprocessing feature of PHP where PHP will attempt to +; escape any character sequences in GET, POST, COOKIE and ENV data which might +; otherwise corrupt data being placed in resources such as databases before +; making that data available to you. Because of character encoding issues and +; non-standard SQL implementations across many databases, it's not currently +; possible for this feature to be 100% accurate. PHP's default behavior is to +; enable the feature. We strongly recommend you use the escaping mechanisms +; designed specifically for the database your using instead of relying on this +; feature. Also note, this feature has been deprecated as of PHP 5.3.0 and is +; scheduled for removal in PHP 6. +; Default Value: On +; Development Value: Off +; Production Value: Off +; http://www.php.net/manual/en/info.configuration.php#ini.magic-quotes-gpc +magic_quotes_gpc = Off + +; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc. +; http://www.php.net/manual/en/info.configuration.php#ini.magic-quotes-runtime +magic_quotes_runtime = Off + +; Use Sybase-style magic quotes (escape ' with '' instead of \'). +; http://www.php.net/manual/en/sybase.configuration.php#ini.magic-quotes-sybase +magic_quotes_sybase = Off + +; Automatically add files before PHP document. +; http://www.php.net/manual/en/ini.core.php#ini.auto-prepend-file +auto_prepend_file = + +; Automatically add files after PHP document. +; http://www.php.net/manual/en/ini.core.php#ini.auto-append-file +auto_append_file = + +; As of 4.0b4, PHP always outputs a character encoding by default in +; the Content-type: header. To disable sending of the charset, simply +; set it to be empty. +; +; PHP's built-in default is text/html +; http://www.php.net/manual/en/ini.core.php#ini.default-mimetype +default_mimetype = "text/html" + +; PHP's default character set is set to empty. +; http://www.php.net/manual/en/ini.core.php#ini.default-charset +;default_charset = "iso-8859-1" + +; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is +; to disable this feature. +; http://www.php.net/manual/en/ini.core.php#ini.always-populate-raw-post-data +;always_populate_raw_post_data = On + +;;;;;;;;;;;;;;;;;;;;;;;;; +; Paths and Directories ; +;;;;;;;;;;;;;;;;;;;;;;;;; + +; UNIX: "/path1:/path2" +;include_path = ".:/php/includes" +; +; Windows: "\path1;\path2" +;include_path = ".;c:\php\includes" +; +; PHP's default setting for include_path is ".;/path/to/php/pear" +; http://www.php.net/manual/en/ini.core.php#ini.include-path + +; The root of the PHP pages, used only if nonempty. +; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root +; if you are running php as a CGI under any web server (other than IIS) +; see documentation for security issues. The alternate is to use the +; cgi.force_redirect configuration below +; http://www.php.net/manual/en/ini.core.php#ini.doc-root +doc_root = + +; The directory under which PHP opens the script using /~username used only +; if nonempty. +; http://www.php.net/manual/en/ini.core.php#ini.user-dir +user_dir = + +; Directory in which the loadable extensions (modules) reside. +; http://www.php.net/manual/en/ini.core.php#ini.extension-dir +; extension_dir = "./" + +; Whether or not to enable the dl() function. The dl() function does NOT work +; properly in multithreaded servers, such as IIS or Zeus, and is automatically +; disabled on them. +; http://www.php.net/manual/en/info.configuration.php#ini.enable-dl +enable_dl = Off + +; cgi.force_redirect is necessary to provide security running PHP as a CGI under +; most web servers. Left undefined, PHP turns this on by default. You can +; turn it off here AT YOUR OWN RISK +; **You CAN safely turn this off for IIS, in fact, you MUST.** +; http://www.php.net/manual/en/ini.core.php#ini.cgi.force-redirect +;cgi.force_redirect = 1 + +; if cgi.nph is enabled it will force cgi to always sent Status: 200 with +; every request. PHP's default behavior is to disable this feature. +;cgi.nph = 1 + +; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape +; (iPlanet) web servers, you MAY need to set an environment variable name that PHP +; will look for to know it is OK to continue execution. Setting this variable MAY +; cause security issues, KNOW WHAT YOU ARE DOING FIRST. +; http://www.php.net/manual/en/ini.core.php#ini.cgi.redirect-status-env +;cgi.redirect_status_env = ; + +; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's +; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok +; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting +; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting +; of zero causes PHP to behave as before. Default is 1. You should fix your scripts +; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. +; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo +;cgi.fix_pathinfo=1 + +; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate +; security tokens of the calling client. This allows IIS to define the +; security context that the request runs under. mod_fastcgi under Apache +; does not currently support this feature (03/17/2002) +; Set to 1 if running under IIS. Default is zero. +; http://www.php.net/manual/en/ini.core.php#ini.fastcgi.impersonate +;fastcgi.impersonate = 1; + +; Disable logging through FastCGI connection. PHP's default behavior is to enable +; this feature. +;fastcgi.logging = 0 + +; cgi.rfc2616_headers configuration option tells PHP what type of headers to +; use when sending HTTP response code. If it's set 0 PHP sends Status: header that +; is supported by Apache. When this option is set to 1 PHP will send +; RFC2616 compliant header. +; Default is zero. +; http://www.php.net/manual/en/ini.core.php#ini.cgi.rfc2616-headers +;cgi.rfc2616_headers = 0 + +;;;;;;;;;;;;;;;; +; File Uploads ; +;;;;;;;;;;;;;;;; + +; Whether to allow HTTP file uploads. +; http://www.php.net/manual/en/ini.core.php#ini.file-uploads +file_uploads = On + +; Temporary directory for HTTP uploaded files (will use system default if not +; specified). +; http://www.php.net/manual/en/ini.core.php#ini.upload-tmp-dir +;upload_tmp_dir = + +; Maximum allowed size for uploaded files. +; http://www.php.net/manual/en/ini.core.php#ini.upload-max-filesize +upload_max_filesize = 2M + +;;;;;;;;;;;;;;;;;; +; Fopen wrappers ; +;;;;;;;;;;;;;;;;;; + +; Whether to allow the treatment of URLs (like http:// or ftp://) as files. +; http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen +allow_url_fopen = On + +; Whether to allow include/require to open URLs (like http:// or ftp://) as files. +; http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-include +allow_url_include = Off + +; Define the anonymous ftp password (your email address). PHP's default setting +; for this is empty. +; http://www.php.net/manual/en/filesystem.configuration.php#ini.from +;from="john@doe.com" + +; Define the User-Agent string. PHP's default setting for this is empty. +; http://www.php.net/manual/en/filesystem.configuration.php#ini.user-agent +;user_agent="PHP" + +; Default timeout for socket based streams (seconds) +; http://www.php.net/manual/en/filesystem.configuration.php#ini.default-socket-timeout +default_socket_timeout = 60 + +; If your scripts have to deal with files from Macintosh systems, +; or you are running on a Mac and need to deal with files from +; unix or win32 systems, setting this flag will cause PHP to +; automatically detect the EOL character in those files so that +; fgets() and file() will work regardless of the source of the file. +; http://www.php.net/manual/en/filesystem.configuration.php#ini.auto-detect-line-endings +;auto_detect_line_endings = Off + +;;;;;;;;;;;;;;;;;;;;;; +; Dynamic Extensions ; +;;;;;;;;;;;;;;;;;;;;;; + +; If you wish to have an extension loaded automatically, use the following +; syntax: +; +; extension=modulename.extension +; +; For example +; +; extension=msql.so +; +; ... or with a path: +; +; extension=/path/to/extension/msql.so +; +; If you only provide the name of the extension, PHP will look for it in its +; default extension directory. + +;;;; +; Note: packaged extension modules are now loaded via the .ini files +; found in the directory /etc/php.d; these are loaded by default. +;;;; + + +;;;;;;;;;;;;;;;;;;; +; Module Settings ; +;;;;;;;;;;;;;;;;;;; + +[Date] +; Defines the default timezone used by the date functions +; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone +;date.timezone = + +; http://www.php.net/manual/en/datetime.configuration.php#ini.date.default-latitude +;date.default_latitude = 31.7667 + +; http://www.php.net/manual/en/datetime.configuration.php#ini.date.default-longitude +;date.default_longitude = 35.2333 + +; http://www.php.net/manual/en/datetime.configuration.php#ini.date.sunrise-zenith +;date.sunrise_zenith = 90.583333 + +; http://www.php.net/manual/en/datetime.configuration.php#ini.date.sunset-zenith +;date.sunset_zenith = 90.583333 + +[filter] +; http://www.php.net/manual/en/filter.configuration.php#ini.filter.default +;filter.default = unsafe_raw + +; http://www.php.net/manual/en/filter.configuration.php#ini.filter.default-flags +;filter.default_flags = + +[iconv] +;iconv.input_encoding = ISO-8859-1 +;iconv.internal_encoding = ISO-8859-1 +;iconv.output_encoding = ISO-8859-1 + +[intl] +;intl.default_locale = + +[sqlite] +; http://www.php.net/manual/en/sqlite.configuration.php#ini.sqlite.assoc-case +;sqlite.assoc_case = 0 + +[sqlite3] +;sqlite3.extension_dir = + +[Pcre] +;PCRE library backtracking limit. +; http://www.php.net/manual/en/pcre.configuration.php#ini.pcre.backtrack-limit +;pcre.backtrack_limit=100000 + +;PCRE library recursion limit. +;Please note that if you set this value to a high number you may consume all +;the available process stack and eventually crash PHP (due to reaching the +;stack size limit imposed by the Operating System). +; http://www.php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit +;pcre.recursion_limit=100000 + +[Pdo] +; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" +; http://www.php.net/manual/en/ref.pdo-odbc.php#ini.pdo-odbc.connection-pooling +;pdo_odbc.connection_pooling=strict + +[Phar] +; http://www.php.net/manual/en/phar.configuration.php#ini.phar.readonly +;phar.readonly = On + +; http://www.php.net/manual/en/phar.configuration.php#ini.phar.require-hash +;phar.require_hash = On + +;phar.cache_list = + +[Syslog] +; Whether or not to define the various syslog variables (e.g. $LOG_PID, +; $LOG_CRON, etc.). Turning it off is a good idea performance-wise. In +; runtime, you can define these variables by calling define_syslog_variables(). +; http://www.php.net/manual/en/network.configuration.php#ini.define-syslog-variables +define_syslog_variables = Off + +[mail function] +; For Win32 only. +; http://www.php.net/manual/en/mail.configuration.php#ini.smtp +SMTP = localhost +; http://www.php.net/manual/en/mail.configuration.php#ini.smtp-port +smtp_port = 25 + +; For Win32 only. +; http://www.php.net/manual/en/mail.configuration.php#ini.sendmail-from +;sendmail_from = me@example.com + +; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). +; http://www.php.net/manual/en/mail.configuration.php#ini.sendmail-path +sendmail_path = /usr/sbin/sendmail -t -i + +; Force the addition of the specified parameters to be passed as extra parameters +; to the sendmail binary. These parameters will always replace the value of +; the 5th parameter to mail(), even in safe mode. +;mail.force_extra_parameters = + +; Add X-PHP-Originaiting-Script: that will include uid of the script followed by the filename +mail.add_x_header = On + +; Log all mail() calls including the full path of the script, line #, to address and headers +;mail.log = + +[SQL] +; http://www.php.net/manual/en/ini.core.php#ini.sql.safe-mode +sql.safe_mode = Off + +[ODBC] +; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.default-db +;odbc.default_db = Not yet implemented + +; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.default-user +;odbc.default_user = Not yet implemented + +; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.default-pw +;odbc.default_pw = Not yet implemented + +; Allow or prevent persistent links. +; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.allow-persistent +odbc.allow_persistent = On + +; Check that a connection is still valid before reuse. +; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.check-persistent +odbc.check_persistent = On + +; Maximum number of persistent links. -1 means no limit. +; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.max-persistent +odbc.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.max-links +odbc.max_links = -1 + +; Handling of LONG fields. Returns number of bytes to variables. 0 means +; passthru. +; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.defaultlrl +odbc.defaultlrl = 4096 + +; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. +; See the documentation on odbc_binmode and odbc_longreadlen for an explanation +; of uodbc.defaultlrl and uodbc.defaultbinmode +; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.defaultbinmode +odbc.defaultbinmode = 1 + +;birdstep.max_links = -1 + +[MySQL] +; Allow or prevent persistent links. +; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.allow-persistent +mysql.allow_persistent = On + +; Maximum number of persistent links. -1 means no limit. +; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.max-persistent +mysql.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.max-links +mysql.max_links = -1 + +; Default port number for mysql_connect(). If unset, mysql_connect() will use +; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the +; compile-time value defined MYSQL_PORT (in that order). Win32 will only look +; at MYSQL_PORT. +; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-port +mysql.default_port = + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-socket +mysql.default_socket = + +; Default host for mysql_connect() (doesn't apply in safe mode). +; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-host +mysql.default_host = + +; Default user for mysql_connect() (doesn't apply in safe mode). +; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-user +mysql.default_user = + +; Default password for mysql_connect() (doesn't apply in safe mode). +; Note that this is generally a *bad* idea to store passwords in this file. +; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password") +; and reveal this password! And of course, any users with read access to this +; file will be able to reveal the password as well. +; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-password +mysql.default_password = + +; Maximum time (in seconds) for connect timeout. -1 means no limit +; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.connect-timeout +mysql.connect_timeout = 60 + +; Trace mode. When trace_mode is active (=On), warnings for table/index scans and +; SQL-Errors will be displayed. +; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.trace-mode +mysql.trace_mode = Off + +[MySQLi] + +; Maximum number of links. -1 means no limit. +; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.max-links +mysqli.max_links = -1 + +; Default port number for mysqli_connect(). If unset, mysqli_connect() will use +; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the +; compile-time value defined MYSQL_PORT (in that order). Win32 will only look +; at MYSQL_PORT. +; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-port +mysqli.default_port = 3306 + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-socket +mysqli.default_socket = + +; Default host for mysql_connect() (doesn't apply in safe mode). +; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-host +mysqli.default_host = + +; Default user for mysql_connect() (doesn't apply in safe mode). +; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-user +mysqli.default_user = + +; Default password for mysqli_connect() (doesn't apply in safe mode). +; Note that this is generally a *bad* idea to store passwords in this file. +; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") +; and reveal this password! And of course, any users with read access to this +; file will be able to reveal the password as well. +; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-pw +mysqli.default_pw = + +; Allow or prevent reconnect +mysqli.reconnect = Off + +[PostgresSQL] +; Allow or prevent persistent links. +; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.allow-persistent +pgsql.allow_persistent = On + +; Detect broken persistent links always with pg_pconnect(). +; Auto reset feature requires a little overheads. +; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.auto-reset-persistent +pgsql.auto_reset_persistent = Off + +; Maximum number of persistent links. -1 means no limit. +; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.max-persistent +pgsql.max_persistent = -1 + +; Maximum number of links (persistent+non persistent). -1 means no limit. +; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.max-links +pgsql.max_links = -1 + +; Ignore PostgreSQL backends Notice message or not. +; Notice message logging require a little overheads. +; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.ignore-notice +pgsql.ignore_notice = 0 + +; Log PostgreSQL backends Noitce message or not. +; Unless pgsql.ignore_notice=0, module cannot log notice message. +; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.log-notice +pgsql.log_notice = 0 + +[Sybase-CT] +; Allow or prevent persistent links. +; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.allow-persistent +sybct.allow_persistent = On + +; Maximum number of persistent links. -1 means no limit. +; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.max-persistent +sybct.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.max-links +sybct.max_links = -1 + +; Minimum server message severity to display. +; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.min-server-severity +sybct.min_server_severity = 10 + +; Minimum client message severity to display. +; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.min-client-severity +sybct.min_client_severity = 10 + +; Set per-context timeout +; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.timeout +;sybct.timeout= + +;sybct.packet_size + +[bcmath] +; Number of decimal digits for all bcmath functions. +; http://www.php.net/manual/en/bc.configuration.php#ini.bcmath.scale +bcmath.scale = 0 + +[browscap] +; http://www.php.net/manual/en/misc.configuration.php#ini.browscap +;browscap = extra/browscap.ini + +[Session] +; Handler used to store/retrieve data. +; http://www.php.net/manual/en/session.configuration.php#ini.session.save-handler +session.save_handler = files + +; Argument passed to save_handler. In the case of files, this is the path +; where data files are stored. Note: Windows users have to change this +; variable in order to use PHP's session functions. +; +; As of PHP 4.0.1, you can define the path as: +; +; session.save_path = "N;/path" +; +; where N is an integer. Instead of storing all the session files in +; /path, what this will do is use subdirectories N-levels deep, and +; store the session data in those directories. This is useful if you +; or your OS have problems with lots of files in one directory, and is +; a more efficient layout for servers that handle lots of sessions. +; +; NOTE 1: PHP will not create this directory structure automatically. +; You can use the script in the ext/session dir for that purpose. +; NOTE 2: See the section on garbage collection below if you choose to +; use subdirectories for session storage +; +; The file storage module creates files using mode 600 by default. +; You can change that by using +; +; session.save_path = "N;MODE;/path" +; +; where MODE is the octal representation of the mode. Note that this +; does not overwrite the process's umask. +; http://www.php.net/manual/en/session.configuration.php#ini.session.save-path +; session.save_path = "../sessions" + +; Whether to use cookies. +; http://www.php.net/manual/en/session.configuration.php#ini.session.use-cookies +session.use_cookies = 1 + +; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-secure +;session.cookie_secure = + +; This option forces PHP to fetch and use a cookie for storing and maintaining +; the session id. We encourage this operation as it's very helpful in combatting +; session hijacking when not specifying and managing your own session id. It is +; not the end all be all of session hijacking defense, but it's a good start. +; http://www.php.net/manual/en/session.configuration.php#ini.session.use-only-cookies +session.use_only_cookies = 1 + +; Name of the session (used as cookie name). +; http://www.php.net/manual/en/session.configuration.php#ini.session.name +session.name = PHPSESSID + +; Initialize session on request startup. +; http://www.php.net/manual/en/session.configuration.php#ini.session.auto-start +session.auto_start = 0 + +; Lifetime in seconds of cookie or, if 0, until browser is restarted. +; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-lifetime +session.cookie_lifetime = 0 + +; The path for which the cookie is valid. +; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-path +session.cookie_path = / + +; The domain for which the cookie is valid. +; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-domain +session.cookie_domain = + +; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. +; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-httponly +session.cookie_httponly = + +; Handler used to serialize data. php is the standard serializer of PHP. +; http://www.php.net/manual/en/session.configuration.php#ini.session.serialize-handler +session.serialize_handler = php + +; Defines the probability that the 'garbage collection' process is started +; on every session initialization. The probability is calculated by using +; gc_probability/gc_divisor. Where session.gc_probability is the numerator +; and gc_divisor is the denominator in the equation. Setting this value to 1 +; when the session.gc_divisor value is 100 will give you approximately a 1% chance +; the gc will run on any give request. +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://www.php.net/manual/en/session.configuration.php#ini.session.gc-probability +session.gc_probability = 1 + +; Defines the probability that the 'garbage collection' process is started on every +; session initialization. The probability is calculated by using the following equation: +; gc_probability/gc_divisor. Where session.gc_probability is the numerator and +; session.gc_divisor is the denominator in the equation. Setting this value to 1 +; when the session.gc_divisor value is 100 will give you approximately a 1% chance +; the gc will run on any give request. Increasing this value to 1000 will give you +; a 0.1% chance the gc will run on any give request. For high volume production servers, +; this is a more efficient approach. +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 +; http://www.php.net/manual/en/session.configuration.php#ini.session.gc-divisor +session.gc_divisor = 1000 + +; After this number of seconds, stored data will be seen as 'garbage' and +; cleaned up by the garbage collection process. +; http://www.php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime +session.gc_maxlifetime = 1440 + +; NOTE: If you are using the subdirectory option for storing session files +; (see session.save_path above), then garbage collection does *not* +; happen automatically. You will need to do your own garbage +; collection through a shell script, cron entry, or some other method. +; For example, the following script would is the equivalent of +; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): +; cd /path/to/sessions; find -cmin +24 | xargs rm + +; PHP 4.2 and less have an undocumented feature/bug that allows you to +; to initialize a session variable in the global scope, even when register_globals +; is disabled. PHP 4.3 and later will warn you, if this feature is used. +; You can disable the feature and the warning separately. At this time, +; the warning is only displayed, if bug_compat_42 is enabled. This feature +; introduces some serious security problems if not handled correctly. It's +; recommended that you do not use this feature on production servers. But you +; should enable this on development servers and enable the warning as well. If you +; do not enable the feature on development servers, you won't be warned when it's +; used and debugging errors caused by this can be difficult to track down. +; Default Value: On +; Development Value: On +; Production Value: Off +; http://www.php.net/manual/en/session.configuration.php#ini.session.bug-compat-42 +session.bug_compat_42 = Off + +; This setting controls whether or not you are warned by PHP when initializing a +; session value into the global space. session.bug_compat_42 must be enabled before +; these warnings can be issued by PHP. See the directive above for more information. +; Default Value: On +; Development Value: On +; Production Value: Off +; http://www.php.net/manual/en/session.configuration.php#ini.session.bug-compat-warn +session.bug_compat_warn = Off + +; Check HTTP Referer to invalidate externally stored URLs containing ids. +; HTTP_REFERER has to contain this substring for the session to be +; considered as valid. +; http://www.php.net/manual/en/session.configuration.php#ini.session.referer-check +session.referer_check = + +; How many bytes to read from the file. +; http://www.php.net/manual/en/session.configuration.php#ini.session.entropy-length +session.entropy_length = 0 + +; Specified here to create the session id. +; http://www.php.net/manual/en/session.configuration.php#ini.session.entropy-file +;session.entropy_file = /dev/urandom +session.entropy_file = + +; http://www.php.net/manual/en/session.configuration.php#ini.session.entropy-length +;session.entropy_length = 16 + +; Set to {nocache,private,public,} to determine HTTP caching aspects +; or leave this empty to avoid sending anti-caching headers. +; http://www.php.net/manual/en/session.configuration.php#ini.session.cache-limiter +session.cache_limiter = nocache + +; Document expires after n minutes. +; http://www.php.net/manual/en/session.configuration.php#ini.session.cache-expire +session.cache_expire = 180 + +; trans sid support is disabled by default. +; Use of trans sid may risk your users security. +; Use this option with caution. +; - User may send URL contains active session ID +; to other person via. email/irc/etc. +; - URL that contains active session ID may be stored +; in publically accessible computer. +; - User may access your site with the same session ID +; always using URL stored in browser's history or bookmarks. +; http://www.php.net/manual/en/session.configuration.php#ini.session.use-trans-sid +session.use_trans_sid = 0 + +; Select a hash function for use in generating session ids. +; Possible Values +; 0 (MD5 128 bits) +; 1 (SHA-1 160 bits) +; http://www.php.net/manual/en/session.configuration.php#ini.session.hash-function +session.hash_function = 0 + +; Define how many bits are stored in each character when converting +; the binary hash data to something readable. +; Possible values: +; 4 (4 bits: 0-9, a-f) +; 5 (5 bits: 0-9, a-v) +; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 +; http://www.php.net/manual/en/session.configuration.php#ini.session.hash-bits-per-character +session.hash_bits_per_character = 5 + +; The URL rewriter will look for URLs in a defined set of HTML tags. +; form/fieldset are special; if you include them here, the rewriter will +; add a hidden <input> field with the info which is otherwise appended +; to URLs. If you want XHTML conformity, remove the form entry. +; Note that all valid entries require a "=", even if no value follows. +; Default Value: "a=href,area=href,frame=src,form=,fieldset=" +; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" +; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" +; http://www.php.net/manual/en/session.configuration.php#ini.url-rewriter.tags +url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" + +[MSSQL] +; Allow or prevent persistent links. +mssql.allow_persistent = On + +; Maximum number of persistent links. -1 means no limit. +mssql.max_persistent = -1 + +; Maximum number of links (persistent+non persistent). -1 means no limit. +mssql.max_links = -1 + +; Minimum error severity to display. +mssql.min_error_severity = 10 + +; Minimum message severity to display. +mssql.min_message_severity = 10 + +; Compatibility mode with old versions of PHP 3.0. +mssql.compatability_mode = Off + +; Connect timeout +;mssql.connect_timeout = 5 + +; Query timeout +;mssql.timeout = 60 + +; Valid range 0 - 2147483647. Default = 4096. +;mssql.textlimit = 4096 + +; Valid range 0 - 2147483647. Default = 4096. +;mssql.textsize = 4096 + +; Limits the number of records in each batch. 0 = all records in one batch. +;mssql.batchsize = 0 + +; Specify how datetime and datetim4 columns are returned +; On => Returns data converted to SQL server settings +; Off => Returns values as YYYY-MM-DD hh:mm:ss +;mssql.datetimeconvert = On + +; Use NT authentication when connecting to the server +mssql.secure_connection = Off + +; Specify max number of processes. -1 = library default +; msdlib defaults to 25 +; FreeTDS defaults to 4096 +;mssql.max_procs = -1 + +; Specify client character set. +; If empty or not set the client charset from freetds.comf is used +; This is only used when compiled with FreeTDS +;mssql.charset = "ISO-8859-1" + +[Assertion] +; Assert(expr); active by default. +; http://www.php.net/manual/en/info.configuration.php#ini.assert.active +;assert.active = On + +; Issue a PHP warning for each failed assertion. +; http://www.php.net/manual/en/info.configuration.php#ini.assert.warning +;assert.warning = On + +; Don't bail out by default. +; http://www.php.net/manual/en/info.configuration.php#ini.assert.bail +;assert.bail = Off + +; User-function to be called if an assertion fails. +; http://www.php.net/manual/en/info.configuration.php#ini.assert.callback +;assert.callback = 0 + +; Eval the expression with current error_reporting(). Set to true if you want +; error_reporting(0) around the eval(). +; http://www.php.net/manual/en/info.configuration.php#ini.assert.quiet-eval +;assert.quiet_eval = 0 + +[COM] +; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs +; http://www.php.net/manual/en/com.configuration.php#ini.com.typelib-file +;com.typelib_file = + +; allow Distributed-COM calls +; http://www.php.net/manual/en/com.configuration.php#ini.com.allow-dcom +;com.allow_dcom = true + +; autoregister constants of a components typlib on com_load() +; http://www.php.net/manual/en/com.configuration.php#ini.com.autoregister-typelib +;com.autoregister_typelib = true + +; register constants casesensitive +; http://www.php.net/manual/en/com.configuration.php#ini.com.autoregister-casesensitive +;com.autoregister_casesensitive = false + +; show warnings on duplicate constant registrations +; http://www.php.net/manual/en/com.configuration.php#ini.com.autoregister-verbose +;com.autoregister_verbose = true + +[mbstring] +; language for internal character representation. +; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.language +;mbstring.language = Japanese + +; internal/script encoding. +; Some encoding cannot work as internal encoding. +; (e.g. SJIS, BIG5, ISO-2022-*) +; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.internal-encoding +;mbstring.internal_encoding = EUC-JP + +; http input encoding. +; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.http-input +;mbstring.http_input = auto + +; http output encoding. mb_output_handler must be +; registered as output buffer to function +; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.http-output +;mbstring.http_output = SJIS + +; enable automatic encoding translation according to +; mbstring.internal_encoding setting. Input chars are +; converted to internal encoding by setting this to On. +; Note: Do _not_ use automatic encoding translation for +; portable libs/applications. +; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.encoding-translation +;mbstring.encoding_translation = Off + +; automatic encoding detection order. +; auto means +; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.detect-order +;mbstring.detect_order = auto + +; substitute_character used when character cannot be converted +; one from another +; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.substitute-character +;mbstring.substitute_character = none; + +; overload(replace) single byte functions by mbstring functions. +; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), +; etc. Possible values are 0,1,2,4 or combination of them. +; For example, 7 for overload everything. +; 0: No overload +; 1: Overload mail() function +; 2: Overload str*() functions +; 4: Overload ereg*() functions +; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.func-overload +;mbstring.func_overload = 0 + +; enable strict encoding detection. +;mbstring.strict_detection = Off + +; This directive specifies the regex pattern of content types for which mb_output_handler() +; is activated. +; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) +;mbstring.http_output_conv_mimetype= + +[gd] +; Tell the jpeg decode to ignore warnings and try to create +; a gd image. The warning will then be displayed as notices +; disabled by default +; http://www.php.net/manual/en/image.configuration.php#ini.image.jpeg-ignore-warning +;gd.jpeg_ignore_warning = 0 + +[exif] +; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. +; With mbstring support this will automatically be converted into the encoding +; given by corresponding encode setting. When empty mbstring.internal_encoding +; is used. For the decode settings you can distinguish between motorola and +; intel byte order. A decode setting cannot be empty. +; http://www.php.net/manual/en/exif.configuration.php#ini.exif.encode-unicode +;exif.encode_unicode = ISO-8859-15 + +; http://www.php.net/manual/en/exif.configuration.php#ini.exif.decode-unicode-motorola +;exif.decode_unicode_motorola = UCS-2BE + +; http://www.php.net/manual/en/exif.configuration.php#ini.exif.decode-unicode-intel +;exif.decode_unicode_intel = UCS-2LE + +; http://www.php.net/manual/en/exif.configuration.php#ini.exif.encode-jis +;exif.encode_jis = + +; http://www.php.net/manual/en/exif.configuration.php#ini.exif.decode-jis-motorola +;exif.decode_jis_motorola = JIS + +; http://www.php.net/manual/en/exif.configuration.php#ini.exif.decode-jis-intel +;exif.decode_jis_intel = JIS + +[Tidy] +; The path to a default tidy configuration file to use when using tidy +; http://www.php.net/manual/en/tidy.configuration.php#ini.tidy.default-config +;tidy.default_config = /usr/local/lib/php/default.tcfg + +; Should tidy clean and repair output automatically? +; WARNING: Do not use this option if you are generating non-html content +; such as dynamic images +; http://www.php.net/manual/en/tidy.configuration.php#ini.tidy.clean-output +tidy.clean_output = Off + +[soap] +; Enables or disables WSDL caching feature. +; http://www.php.net/manual/en/soap.configuration.php#ini.soap.wsdl-cache-enabled +soap.wsdl_cache_enabled=1 + +; Sets the directory name where SOAP extension will put cache files. +; http://www.php.net/manual/en/soap.configuration.php#ini.soap.wsdl-cache-dir +soap.wsdl_cache_dir="/tmp" + +; (time to live) Sets the number of second while cached file will be used +; instead of original one. +; http://www.php.net/manual/en/soap.configuration.php#ini.soap.wsdl-cache-ttl +soap.wsdl_cache_ttl=86400 + +[sysvshm] +; A default size of the shared memory segment +;sysvshm.init_mem = 10000 + + +; Local Variables: +; tab-width: 4 +; End: diff --git a/workspace/php_errors.log b/workspace/php_errors.log new file mode 100644 index 0000000..fa4f3b5 --- /dev/null +++ b/workspace/php_errors.log @@ -0,0 +1,1728 @@ +[27-Oct-2017 21:22:42 UTC] PHP Fatal error: Class 'Form' not found in /home/ubuntu/workspace/storage/framework/views/02af22714bdbac212fc33a0c23b65cd2dc48c35b.php on line 25 +[27-Oct-2017 21:22:42 UTC] PHP Stack trace: +[27-Oct-2017 21:22:42 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[27-Oct-2017 21:22:42 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[27-Oct-2017 21:22:42 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[27-Oct-2017 21:22:42 UTC] PHP 4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132 +[27-Oct-2017 21:22:42 UTC] PHP 5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[27-Oct-2017 21:22:42 UTC] PHP 6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[27-Oct-2017 21:22:42 UTC] PHP 7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 21:22:42 UTC] PHP 8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 21:22:42 UTC] PHP 9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 21:22:42 UTC] PHP 10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 21:22:42 UTC] PHP 11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44 +[27-Oct-2017 21:22:42 UTC] PHP 12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[27-Oct-2017 21:22:42 UTC] PHP 13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[27-Oct-2017 21:22:42 UTC] PHP 14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246 +[27-Oct-2017 21:22:42 UTC] PHP 15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675 +[27-Oct-2017 21:22:42 UTC] PHP 16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699 +[27-Oct-2017 21:22:42 UTC] PHP 17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726 +[27-Oct-2017 21:22:42 UTC] PHP 18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[27-Oct-2017 21:22:42 UTC] PHP 19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[27-Oct-2017 21:22:42 UTC] PHP 20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 21:22:42 UTC] PHP 21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 21:22:42 UTC] PHP 22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 21:22:42 UTC] PHP 23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 21:22:42 UTC] PHP 24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 +[27-Oct-2017 21:22:42 UTC] PHP 25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 21:22:42 UTC] PHP 26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 21:22:42 UTC] PHP 27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 21:22:42 UTC] PHP 28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 21:22:42 UTC] PHP 29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 +[27-Oct-2017 21:22:42 UTC] PHP 30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 21:22:42 UTC] PHP 31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 21:22:42 UTC] PHP 32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 21:22:42 UTC] PHP 33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 21:22:42 UTC] PHP 34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 +[27-Oct-2017 21:22:42 UTC] PHP 35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 21:22:42 UTC] PHP 36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 21:22:42 UTC] PHP 37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 21:22:42 UTC] PHP 38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 21:22:42 UTC] PHP 39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 +[27-Oct-2017 21:22:42 UTC] PHP 40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 21:22:42 UTC] PHP 41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 21:22:42 UTC] PHP 42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 21:22:42 UTC] PHP 43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 21:22:42 UTC] PHP 44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64 +[27-Oct-2017 21:22:42 UTC] PHP 45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[27-Oct-2017 21:22:42 UTC] PHP 46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[27-Oct-2017 21:22:42 UTC] PHP 47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725 +[27-Oct-2017 21:22:42 UTC] PHP 48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085 +[27-Oct-2017 21:22:42 UTC] PHP 49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201 +[27-Oct-2017 21:22:42 UTC] PHP 50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53 +[27-Oct-2017 21:22:42 UTC] PHP 51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85 +[27-Oct-2017 21:22:42 UTC] PHP 52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120 +[27-Oct-2017 21:22:42 UTC] PHP 53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149 +[27-Oct-2017 21:22:42 UTC] PHP 54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59 +[27-Oct-2017 21:22:42 UTC] PHP 55. include() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:42 +[27-Oct-2017 22:10:44 UTC] PHP Fatal error: Class 'Form' not found in /home/ubuntu/workspace/storage/framework/views/02af22714bdbac212fc33a0c23b65cd2dc48c35b.php on line 25 +[27-Oct-2017 22:10:44 UTC] PHP Stack trace: +[27-Oct-2017 22:10:44 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[27-Oct-2017 22:10:44 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[27-Oct-2017 22:10:44 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[27-Oct-2017 22:10:44 UTC] PHP 4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132 +[27-Oct-2017 22:10:44 UTC] PHP 5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[27-Oct-2017 22:10:44 UTC] PHP 6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[27-Oct-2017 22:10:44 UTC] PHP 7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 22:10:44 UTC] PHP 8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 22:10:44 UTC] PHP 9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 22:10:44 UTC] PHP 10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 22:10:44 UTC] PHP 11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44 +[27-Oct-2017 22:10:44 UTC] PHP 12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[27-Oct-2017 22:10:44 UTC] PHP 13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[27-Oct-2017 22:10:44 UTC] PHP 14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246 +[27-Oct-2017 22:10:44 UTC] PHP 15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675 +[27-Oct-2017 22:10:44 UTC] PHP 16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699 +[27-Oct-2017 22:10:44 UTC] PHP 17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726 +[27-Oct-2017 22:10:44 UTC] PHP 18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[27-Oct-2017 22:10:44 UTC] PHP 19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[27-Oct-2017 22:10:44 UTC] PHP 20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 22:10:44 UTC] PHP 21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 22:10:44 UTC] PHP 22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 22:10:44 UTC] PHP 23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 22:10:44 UTC] PHP 24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 +[27-Oct-2017 22:10:44 UTC] PHP 25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 22:10:44 UTC] PHP 26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 22:10:44 UTC] PHP 27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 22:10:44 UTC] PHP 28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 22:10:44 UTC] PHP 29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 +[27-Oct-2017 22:10:44 UTC] PHP 30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 22:10:44 UTC] PHP 31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 22:10:44 UTC] PHP 32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 22:10:44 UTC] PHP 33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 22:10:44 UTC] PHP 34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 +[27-Oct-2017 22:10:44 UTC] PHP 35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 22:10:44 UTC] PHP 36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 22:10:44 UTC] PHP 37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 22:10:44 UTC] PHP 38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 22:10:44 UTC] PHP 39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 +[27-Oct-2017 22:10:44 UTC] PHP 40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 22:10:44 UTC] PHP 41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 22:10:44 UTC] PHP 42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 22:10:44 UTC] PHP 43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 22:10:44 UTC] PHP 44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64 +[27-Oct-2017 22:10:44 UTC] PHP 45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[27-Oct-2017 22:10:44 UTC] PHP 46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[27-Oct-2017 22:10:44 UTC] PHP 47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725 +[27-Oct-2017 22:10:44 UTC] PHP 48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085 +[27-Oct-2017 22:10:44 UTC] PHP 49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201 +[27-Oct-2017 22:10:44 UTC] PHP 50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53 +[27-Oct-2017 22:10:44 UTC] PHP 51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85 +[27-Oct-2017 22:10:44 UTC] PHP 52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120 +[27-Oct-2017 22:10:44 UTC] PHP 53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149 +[27-Oct-2017 22:10:44 UTC] PHP 54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59 +[27-Oct-2017 22:10:44 UTC] PHP 55. include() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:42 +[27-Oct-2017 22:12:36 UTC] PHP Fatal error: Class 'Form' not found in /home/ubuntu/workspace/storage/framework/views/02af22714bdbac212fc33a0c23b65cd2dc48c35b.php on line 25 +[27-Oct-2017 22:12:36 UTC] PHP Stack trace: +[27-Oct-2017 22:12:36 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[27-Oct-2017 22:12:36 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[27-Oct-2017 22:12:36 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[27-Oct-2017 22:12:36 UTC] PHP 4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132 +[27-Oct-2017 22:12:36 UTC] PHP 5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[27-Oct-2017 22:12:36 UTC] PHP 6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[27-Oct-2017 22:12:36 UTC] PHP 7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 22:12:36 UTC] PHP 8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 22:12:36 UTC] PHP 9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 22:12:36 UTC] PHP 10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 22:12:36 UTC] PHP 11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44 +[27-Oct-2017 22:12:36 UTC] PHP 12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[27-Oct-2017 22:12:36 UTC] PHP 13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[27-Oct-2017 22:12:36 UTC] PHP 14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246 +[27-Oct-2017 22:12:36 UTC] PHP 15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675 +[27-Oct-2017 22:12:36 UTC] PHP 16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699 +[27-Oct-2017 22:12:36 UTC] PHP 17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726 +[27-Oct-2017 22:12:36 UTC] PHP 18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[27-Oct-2017 22:12:36 UTC] PHP 19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[27-Oct-2017 22:12:36 UTC] PHP 20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 22:12:36 UTC] PHP 21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 22:12:36 UTC] PHP 22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 22:12:36 UTC] PHP 23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 22:12:36 UTC] PHP 24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 +[27-Oct-2017 22:12:36 UTC] PHP 25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 22:12:36 UTC] PHP 26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 22:12:36 UTC] PHP 27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 22:12:36 UTC] PHP 28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 22:12:36 UTC] PHP 29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 +[27-Oct-2017 22:12:36 UTC] PHP 30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 22:12:36 UTC] PHP 31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 22:12:36 UTC] PHP 32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 22:12:36 UTC] PHP 33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 22:12:36 UTC] PHP 34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 +[27-Oct-2017 22:12:36 UTC] PHP 35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 22:12:36 UTC] PHP 36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 22:12:36 UTC] PHP 37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 22:12:36 UTC] PHP 38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 22:12:36 UTC] PHP 39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 +[27-Oct-2017 22:12:36 UTC] PHP 40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 22:12:36 UTC] PHP 41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[27-Oct-2017 22:12:36 UTC] PHP 42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 22:12:36 UTC] PHP 43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[27-Oct-2017 22:12:36 UTC] PHP 44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64 +[27-Oct-2017 22:12:36 UTC] PHP 45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[27-Oct-2017 22:12:36 UTC] PHP 46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[27-Oct-2017 22:12:36 UTC] PHP 47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725 +[27-Oct-2017 22:12:36 UTC] PHP 48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085 +[27-Oct-2017 22:12:36 UTC] PHP 49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201 +[27-Oct-2017 22:12:36 UTC] PHP 50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53 +[27-Oct-2017 22:12:36 UTC] PHP 51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85 +[27-Oct-2017 22:12:36 UTC] PHP 52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120 +[27-Oct-2017 22:12:36 UTC] PHP 53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149 +[27-Oct-2017 22:12:36 UTC] PHP 54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59 +[27-Oct-2017 22:12:36 UTC] PHP 55. include() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:42 +[01-Nov-2017 22:34:04 UTC] PHP Parse error: syntax error, unexpected end of file in /home/ubuntu/workspace/storage/framework/views/e4470028b0fdf3712c32ffe4e8d16ca25a9e18ea.php on line 112 +[01-Nov-2017 22:34:04 UTC] PHP Stack trace: +[01-Nov-2017 22:34:04 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[01-Nov-2017 22:34:04 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[01-Nov-2017 22:34:04 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[01-Nov-2017 22:34:04 UTC] PHP 4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132 +[01-Nov-2017 22:34:04 UTC] PHP 5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[01-Nov-2017 22:34:04 UTC] PHP 6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[01-Nov-2017 22:34:04 UTC] PHP 7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[01-Nov-2017 22:34:04 UTC] PHP 8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[01-Nov-2017 22:34:04 UTC] PHP 9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[01-Nov-2017 22:34:04 UTC] PHP 10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[01-Nov-2017 22:34:04 UTC] PHP 11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44 +[01-Nov-2017 22:34:04 UTC] PHP 12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[01-Nov-2017 22:34:04 UTC] PHP 13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[01-Nov-2017 22:34:04 UTC] PHP 14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246 +[01-Nov-2017 22:34:04 UTC] PHP 15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675 +[01-Nov-2017 22:34:04 UTC] PHP 16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699 +[01-Nov-2017 22:34:04 UTC] PHP 17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726 +[01-Nov-2017 22:34:04 UTC] PHP 18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[01-Nov-2017 22:34:04 UTC] PHP 19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[01-Nov-2017 22:34:04 UTC] PHP 20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[01-Nov-2017 22:34:04 UTC] PHP 21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[01-Nov-2017 22:34:04 UTC] PHP 22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[01-Nov-2017 22:34:04 UTC] PHP 23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[01-Nov-2017 22:34:04 UTC] PHP 24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 +[01-Nov-2017 22:34:04 UTC] PHP 25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[01-Nov-2017 22:34:04 UTC] PHP 26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[01-Nov-2017 22:34:04 UTC] PHP 27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[01-Nov-2017 22:34:04 UTC] PHP 28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[01-Nov-2017 22:34:04 UTC] PHP 29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 +[01-Nov-2017 22:34:04 UTC] PHP 30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[01-Nov-2017 22:34:04 UTC] PHP 31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[01-Nov-2017 22:34:04 UTC] PHP 32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[01-Nov-2017 22:34:04 UTC] PHP 33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[01-Nov-2017 22:34:04 UTC] PHP 34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 +[01-Nov-2017 22:34:04 UTC] PHP 35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[01-Nov-2017 22:34:04 UTC] PHP 36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[01-Nov-2017 22:34:04 UTC] PHP 37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[01-Nov-2017 22:34:04 UTC] PHP 38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[01-Nov-2017 22:34:04 UTC] PHP 39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 +[01-Nov-2017 22:34:04 UTC] PHP 40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[01-Nov-2017 22:34:04 UTC] PHP 41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[01-Nov-2017 22:34:04 UTC] PHP 42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[01-Nov-2017 22:34:04 UTC] PHP 43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[01-Nov-2017 22:34:04 UTC] PHP 44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64 +[01-Nov-2017 22:34:04 UTC] PHP 45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[01-Nov-2017 22:34:04 UTC] PHP 46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[01-Nov-2017 22:34:04 UTC] PHP 47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725 +[01-Nov-2017 22:34:04 UTC] PHP 48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085 +[01-Nov-2017 22:34:04 UTC] PHP 49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201 +[01-Nov-2017 22:34:04 UTC] PHP 50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53 +[01-Nov-2017 22:34:04 UTC] PHP 51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85 +[01-Nov-2017 22:34:04 UTC] PHP 52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120 +[01-Nov-2017 22:34:04 UTC] PHP 53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149 +[01-Nov-2017 22:34:04 UTC] PHP 54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59 +[01-Nov-2017 22:34:04 UTC] PHP 55. include() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:42 +[01-Nov-2017 22:34:04 UTC] PHP 56. Illuminate\View\View->render() /home/ubuntu/workspace/storage/framework/views/5620914eeb09f6a214bf12341ecbf9c1a29b289f.php:101 +[01-Nov-2017 22:34:04 UTC] PHP 57. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85 +[01-Nov-2017 22:34:04 UTC] PHP 58. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120 +[01-Nov-2017 22:34:04 UTC] PHP 59. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149 +[01-Nov-2017 22:34:04 UTC] PHP 60. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59 +[03-Nov-2017 16:09:38 UTC] PHP Parse error: syntax error, unexpected 'adresse' (T_STRING), expecting ']' in /home/ubuntu/workspace/storage/framework/views/451539b93a423c04bdef50c4572b193623bd1b05.php on line 33 +[03-Nov-2017 16:09:38 UTC] PHP Stack trace: +[03-Nov-2017 16:09:38 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[03-Nov-2017 16:09:38 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[03-Nov-2017 16:09:38 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[03-Nov-2017 16:09:38 UTC] PHP 4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132 +[03-Nov-2017 16:09:38 UTC] PHP 5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[03-Nov-2017 16:09:38 UTC] PHP 6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[03-Nov-2017 16:09:38 UTC] PHP 7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[03-Nov-2017 16:09:38 UTC] PHP 8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[03-Nov-2017 16:09:38 UTC] PHP 9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[03-Nov-2017 16:09:38 UTC] PHP 10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[03-Nov-2017 16:09:38 UTC] PHP 11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44 +[03-Nov-2017 16:09:38 UTC] PHP 12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[03-Nov-2017 16:09:38 UTC] PHP 13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[03-Nov-2017 16:09:38 UTC] PHP 14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246 +[03-Nov-2017 16:09:38 UTC] PHP 15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675 +[03-Nov-2017 16:09:38 UTC] PHP 16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699 +[03-Nov-2017 16:09:38 UTC] PHP 17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726 +[03-Nov-2017 16:09:38 UTC] PHP 18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[03-Nov-2017 16:09:38 UTC] PHP 19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[03-Nov-2017 16:09:38 UTC] PHP 20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[03-Nov-2017 16:09:38 UTC] PHP 21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[03-Nov-2017 16:09:38 UTC] PHP 22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[03-Nov-2017 16:09:38 UTC] PHP 23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[03-Nov-2017 16:09:38 UTC] PHP 24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 +[03-Nov-2017 16:09:38 UTC] PHP 25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[03-Nov-2017 16:09:38 UTC] PHP 26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[03-Nov-2017 16:09:38 UTC] PHP 27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[03-Nov-2017 16:09:38 UTC] PHP 28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[03-Nov-2017 16:09:38 UTC] PHP 29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 +[03-Nov-2017 16:09:38 UTC] PHP 30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[03-Nov-2017 16:09:38 UTC] PHP 31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[03-Nov-2017 16:09:38 UTC] PHP 32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[03-Nov-2017 16:09:38 UTC] PHP 33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[03-Nov-2017 16:09:38 UTC] PHP 34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 +[03-Nov-2017 16:09:38 UTC] PHP 35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[03-Nov-2017 16:09:38 UTC] PHP 36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[03-Nov-2017 16:09:38 UTC] PHP 37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[03-Nov-2017 16:09:38 UTC] PHP 38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[03-Nov-2017 16:09:38 UTC] PHP 39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 +[03-Nov-2017 16:09:38 UTC] PHP 40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[03-Nov-2017 16:09:38 UTC] PHP 41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[03-Nov-2017 16:09:38 UTC] PHP 42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[03-Nov-2017 16:09:38 UTC] PHP 43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[03-Nov-2017 16:09:38 UTC] PHP 44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64 +[03-Nov-2017 16:09:38 UTC] PHP 45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[03-Nov-2017 16:09:38 UTC] PHP 46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[03-Nov-2017 16:09:38 UTC] PHP 47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725 +[03-Nov-2017 16:09:38 UTC] PHP 48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085 +[03-Nov-2017 16:09:38 UTC] PHP 49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201 +[03-Nov-2017 16:09:38 UTC] PHP 50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53 +[03-Nov-2017 16:09:38 UTC] PHP 51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85 +[03-Nov-2017 16:09:38 UTC] PHP 52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120 +[03-Nov-2017 16:09:38 UTC] PHP 53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149 +[03-Nov-2017 16:09:38 UTC] PHP 54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59 +[06-Nov-2017 08:29:37 UTC] PHP Parse error: syntax error, unexpected 'adresse' (T_STRING), expecting ']' in /home/ubuntu/workspace/storage/framework/views/451539b93a423c04bdef50c4572b193623bd1b05.php on line 33 +[06-Nov-2017 08:29:37 UTC] PHP Stack trace: +[06-Nov-2017 08:29:37 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[06-Nov-2017 08:29:37 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[06-Nov-2017 08:29:37 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[06-Nov-2017 08:29:37 UTC] PHP 4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132 +[06-Nov-2017 08:29:37 UTC] PHP 5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[06-Nov-2017 08:29:37 UTC] PHP 6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[06-Nov-2017 08:29:37 UTC] PHP 7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:29:37 UTC] PHP 8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:29:37 UTC] PHP 9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:29:37 UTC] PHP 10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:29:37 UTC] PHP 11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44 +[06-Nov-2017 08:29:37 UTC] PHP 12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[06-Nov-2017 08:29:37 UTC] PHP 13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[06-Nov-2017 08:29:37 UTC] PHP 14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246 +[06-Nov-2017 08:29:37 UTC] PHP 15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675 +[06-Nov-2017 08:29:37 UTC] PHP 16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699 +[06-Nov-2017 08:29:37 UTC] PHP 17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726 +[06-Nov-2017 08:29:37 UTC] PHP 18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[06-Nov-2017 08:29:37 UTC] PHP 19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[06-Nov-2017 08:29:37 UTC] PHP 20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:29:37 UTC] PHP 21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:29:37 UTC] PHP 22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:29:37 UTC] PHP 23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:29:37 UTC] PHP 24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 +[06-Nov-2017 08:29:37 UTC] PHP 25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:29:37 UTC] PHP 26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:29:37 UTC] PHP 27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:29:37 UTC] PHP 28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:29:37 UTC] PHP 29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 +[06-Nov-2017 08:29:37 UTC] PHP 30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:29:37 UTC] PHP 31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:29:37 UTC] PHP 32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:29:37 UTC] PHP 33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:29:37 UTC] PHP 34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 +[06-Nov-2017 08:29:37 UTC] PHP 35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:29:37 UTC] PHP 36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:29:37 UTC] PHP 37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:29:37 UTC] PHP 38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:29:37 UTC] PHP 39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 +[06-Nov-2017 08:29:37 UTC] PHP 40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:29:37 UTC] PHP 41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:29:37 UTC] PHP 42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:29:37 UTC] PHP 43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:29:37 UTC] PHP 44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64 +[06-Nov-2017 08:29:37 UTC] PHP 45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[06-Nov-2017 08:29:37 UTC] PHP 46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[06-Nov-2017 08:29:37 UTC] PHP 47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725 +[06-Nov-2017 08:29:37 UTC] PHP 48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085 +[06-Nov-2017 08:29:37 UTC] PHP 49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201 +[06-Nov-2017 08:29:37 UTC] PHP 50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53 +[06-Nov-2017 08:29:37 UTC] PHP 51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85 +[06-Nov-2017 08:29:37 UTC] PHP 52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120 +[06-Nov-2017 08:29:37 UTC] PHP 53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149 +[06-Nov-2017 08:29:37 UTC] PHP 54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59 +[06-Nov-2017 08:31:08 UTC] PHP Parse error: syntax error, unexpected 'adresse' (T_STRING), expecting ']' in /home/ubuntu/workspace/storage/framework/views/451539b93a423c04bdef50c4572b193623bd1b05.php on line 33 +[06-Nov-2017 08:31:08 UTC] PHP Stack trace: +[06-Nov-2017 08:31:08 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[06-Nov-2017 08:31:08 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[06-Nov-2017 08:31:08 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[06-Nov-2017 08:31:08 UTC] PHP 4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132 +[06-Nov-2017 08:31:08 UTC] PHP 5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[06-Nov-2017 08:31:08 UTC] PHP 6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[06-Nov-2017 08:31:08 UTC] PHP 7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:31:08 UTC] PHP 8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:31:08 UTC] PHP 9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:31:08 UTC] PHP 10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:31:08 UTC] PHP 11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44 +[06-Nov-2017 08:31:08 UTC] PHP 12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[06-Nov-2017 08:31:08 UTC] PHP 13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[06-Nov-2017 08:31:08 UTC] PHP 14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246 +[06-Nov-2017 08:31:08 UTC] PHP 15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675 +[06-Nov-2017 08:31:08 UTC] PHP 16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699 +[06-Nov-2017 08:31:08 UTC] PHP 17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726 +[06-Nov-2017 08:31:08 UTC] PHP 18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[06-Nov-2017 08:31:08 UTC] PHP 19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[06-Nov-2017 08:31:08 UTC] PHP 20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:31:08 UTC] PHP 21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:31:08 UTC] PHP 22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:31:08 UTC] PHP 23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:31:08 UTC] PHP 24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 +[06-Nov-2017 08:31:08 UTC] PHP 25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:31:08 UTC] PHP 26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:31:08 UTC] PHP 27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:31:08 UTC] PHP 28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:31:08 UTC] PHP 29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 +[06-Nov-2017 08:31:08 UTC] PHP 30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:31:08 UTC] PHP 31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:31:08 UTC] PHP 32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:31:08 UTC] PHP 33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:31:08 UTC] PHP 34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 +[06-Nov-2017 08:31:08 UTC] PHP 35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:31:08 UTC] PHP 36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:31:08 UTC] PHP 37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:31:08 UTC] PHP 38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:31:08 UTC] PHP 39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 +[06-Nov-2017 08:31:08 UTC] PHP 40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:31:08 UTC] PHP 41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:31:08 UTC] PHP 42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:31:08 UTC] PHP 43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:31:08 UTC] PHP 44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64 +[06-Nov-2017 08:31:08 UTC] PHP 45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[06-Nov-2017 08:31:08 UTC] PHP 46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[06-Nov-2017 08:31:08 UTC] PHP 47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725 +[06-Nov-2017 08:31:08 UTC] PHP 48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085 +[06-Nov-2017 08:31:08 UTC] PHP 49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201 +[06-Nov-2017 08:31:08 UTC] PHP 50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53 +[06-Nov-2017 08:31:08 UTC] PHP 51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85 +[06-Nov-2017 08:31:08 UTC] PHP 52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120 +[06-Nov-2017 08:31:08 UTC] PHP 53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149 +[06-Nov-2017 08:31:08 UTC] PHP 54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59 +[06-Nov-2017 08:31:16 UTC] PHP Parse error: syntax error, unexpected 'adresse' (T_STRING), expecting ']' in /home/ubuntu/workspace/storage/framework/views/451539b93a423c04bdef50c4572b193623bd1b05.php on line 33 +[06-Nov-2017 08:31:16 UTC] PHP Stack trace: +[06-Nov-2017 08:31:16 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[06-Nov-2017 08:31:16 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[06-Nov-2017 08:31:16 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[06-Nov-2017 08:31:16 UTC] PHP 4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132 +[06-Nov-2017 08:31:16 UTC] PHP 5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[06-Nov-2017 08:31:16 UTC] PHP 6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[06-Nov-2017 08:31:16 UTC] PHP 7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:31:16 UTC] PHP 8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:31:16 UTC] PHP 9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:31:16 UTC] PHP 10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:31:16 UTC] PHP 11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44 +[06-Nov-2017 08:31:16 UTC] PHP 12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[06-Nov-2017 08:31:16 UTC] PHP 13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[06-Nov-2017 08:31:16 UTC] PHP 14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246 +[06-Nov-2017 08:31:16 UTC] PHP 15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675 +[06-Nov-2017 08:31:16 UTC] PHP 16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699 +[06-Nov-2017 08:31:16 UTC] PHP 17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726 +[06-Nov-2017 08:31:16 UTC] PHP 18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[06-Nov-2017 08:31:16 UTC] PHP 19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[06-Nov-2017 08:31:16 UTC] PHP 20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:31:16 UTC] PHP 21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:31:16 UTC] PHP 22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:31:16 UTC] PHP 23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:31:16 UTC] PHP 24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 +[06-Nov-2017 08:31:16 UTC] PHP 25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:31:16 UTC] PHP 26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:31:16 UTC] PHP 27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:31:16 UTC] PHP 28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:31:16 UTC] PHP 29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 +[06-Nov-2017 08:31:16 UTC] PHP 30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:31:16 UTC] PHP 31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:31:16 UTC] PHP 32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:31:16 UTC] PHP 33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:31:16 UTC] PHP 34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 +[06-Nov-2017 08:31:16 UTC] PHP 35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:31:16 UTC] PHP 36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:31:16 UTC] PHP 37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:31:16 UTC] PHP 38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:31:16 UTC] PHP 39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 +[06-Nov-2017 08:31:16 UTC] PHP 40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:31:16 UTC] PHP 41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[06-Nov-2017 08:31:16 UTC] PHP 42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:31:16 UTC] PHP 43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[06-Nov-2017 08:31:16 UTC] PHP 44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64 +[06-Nov-2017 08:31:16 UTC] PHP 45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[06-Nov-2017 08:31:16 UTC] PHP 46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[06-Nov-2017 08:31:16 UTC] PHP 47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725 +[06-Nov-2017 08:31:16 UTC] PHP 48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085 +[06-Nov-2017 08:31:16 UTC] PHP 49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201 +[06-Nov-2017 08:31:16 UTC] PHP 50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53 +[06-Nov-2017 08:31:16 UTC] PHP 51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85 +[06-Nov-2017 08:31:16 UTC] PHP 52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120 +[06-Nov-2017 08:31:16 UTC] PHP 53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149 +[06-Nov-2017 08:31:16 UTC] PHP 54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59 +[18-Nov-2017 18:53:59 UTC] PHP Parse error: syntax error, unexpected '/' in /home/ubuntu/workspace/storage/framework/views/65b143ad02f6fc38562c2f3fad888578b4a6b858.php on line 91 +[18-Nov-2017 18:53:59 UTC] PHP Stack trace: +[18-Nov-2017 18:53:59 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[18-Nov-2017 18:53:59 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[18-Nov-2017 18:53:59 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[18-Nov-2017 18:53:59 UTC] PHP 4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132 +[18-Nov-2017 18:53:59 UTC] PHP 5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[18-Nov-2017 18:53:59 UTC] PHP 6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[18-Nov-2017 18:53:59 UTC] PHP 7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 18:53:59 UTC] PHP 8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 18:53:59 UTC] PHP 9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 18:53:59 UTC] PHP 10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 18:53:59 UTC] PHP 11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44 +[18-Nov-2017 18:53:59 UTC] PHP 12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[18-Nov-2017 18:53:59 UTC] PHP 13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[18-Nov-2017 18:53:59 UTC] PHP 14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246 +[18-Nov-2017 18:53:59 UTC] PHP 15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675 +[18-Nov-2017 18:53:59 UTC] PHP 16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699 +[18-Nov-2017 18:53:59 UTC] PHP 17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726 +[18-Nov-2017 18:53:59 UTC] PHP 18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[18-Nov-2017 18:53:59 UTC] PHP 19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[18-Nov-2017 18:53:59 UTC] PHP 20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 18:53:59 UTC] PHP 21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 18:53:59 UTC] PHP 22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 18:53:59 UTC] PHP 23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 18:53:59 UTC] PHP 24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 +[18-Nov-2017 18:53:59 UTC] PHP 25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 18:53:59 UTC] PHP 26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 18:53:59 UTC] PHP 27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 18:53:59 UTC] PHP 28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 18:53:59 UTC] PHP 29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 +[18-Nov-2017 18:53:59 UTC] PHP 30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 18:53:59 UTC] PHP 31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 18:53:59 UTC] PHP 32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 18:53:59 UTC] PHP 33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 18:53:59 UTC] PHP 34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 +[18-Nov-2017 18:53:59 UTC] PHP 35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 18:53:59 UTC] PHP 36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 18:53:59 UTC] PHP 37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 18:53:59 UTC] PHP 38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 18:53:59 UTC] PHP 39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 +[18-Nov-2017 18:53:59 UTC] PHP 40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 18:53:59 UTC] PHP 41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 18:53:59 UTC] PHP 42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 18:53:59 UTC] PHP 43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 18:53:59 UTC] PHP 44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64 +[18-Nov-2017 18:53:59 UTC] PHP 45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[18-Nov-2017 18:53:59 UTC] PHP 46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[18-Nov-2017 18:53:59 UTC] PHP 47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725 +[18-Nov-2017 18:53:59 UTC] PHP 48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085 +[18-Nov-2017 18:53:59 UTC] PHP 49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201 +[18-Nov-2017 18:53:59 UTC] PHP 50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53 +[18-Nov-2017 18:53:59 UTC] PHP 51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85 +[18-Nov-2017 18:53:59 UTC] PHP 52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120 +[18-Nov-2017 18:53:59 UTC] PHP 53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149 +[18-Nov-2017 18:53:59 UTC] PHP 54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59 +[18-Nov-2017 18:53:59 UTC] PHP 55. include() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:42 +[18-Nov-2017 18:53:59 UTC] PHP 56. Illuminate\View\View->render() /home/ubuntu/workspace/storage/framework/views/5620914eeb09f6a214bf12341ecbf9c1a29b289f.php:100 +[18-Nov-2017 18:53:59 UTC] PHP 57. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85 +[18-Nov-2017 18:53:59 UTC] PHP 58. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120 +[18-Nov-2017 18:53:59 UTC] PHP 59. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149 +[18-Nov-2017 18:53:59 UTC] PHP 60. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59 +[18-Nov-2017 19:17:35 UTC] PHP Parse error: syntax error, unexpected ')', expecting '{' in /home/ubuntu/workspace/app/Http/routes.php on line 45 +[18-Nov-2017 19:17:35 UTC] PHP Stack trace: +[18-Nov-2017 19:17:35 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[18-Nov-2017 19:17:35 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[18-Nov-2017 19:17:35 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[18-Nov-2017 19:17:35 UTC] PHP 4. Illuminate\Foundation\Http\Kernel->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:127 +[18-Nov-2017 19:17:35 UTC] PHP 5. Illuminate\Foundation\Application->bootstrapWith() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:232 +[18-Nov-2017 19:17:35 UTC] PHP 6. Illuminate\Foundation\Bootstrap\BootProviders->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:203 +[18-Nov-2017 19:17:35 UTC] PHP 7. Illuminate\Foundation\Application->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17 +[18-Nov-2017 19:17:35 UTC] PHP 8. array_walk() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741 +[18-Nov-2017 19:17:35 UTC] PHP 9. Illuminate\Foundation\Application->Illuminate\Foundation\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741 +[18-Nov-2017 19:17:35 UTC] PHP 10. Illuminate\Foundation\Application->bootProvider() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:740 +[18-Nov-2017 19:17:35 UTC] PHP 11. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:757 +[18-Nov-2017 19:17:35 UTC] PHP 12. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[18-Nov-2017 19:17:35 UTC] PHP 13. App\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[18-Nov-2017 19:17:35 UTC] PHP 14. Illuminate\Foundation\Support\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:29 +[18-Nov-2017 19:17:35 UTC] PHP 15. Illuminate\Foundation\Support\Providers\RouteServiceProvider->loadRoutes() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:31 +[18-Nov-2017 19:17:35 UTC] PHP 16. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:72 +[18-Nov-2017 19:17:35 UTC] PHP 17. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[18-Nov-2017 19:17:35 UTC] PHP 18. App\Providers\RouteServiceProvider->map() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[18-Nov-2017 19:17:35 UTC] PHP 19. App\Providers\RouteServiceProvider->mapWebRoutes() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:40 +[18-Nov-2017 19:17:35 UTC] PHP 20. Illuminate\Routing\Router->group() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:59 +[18-Nov-2017 19:17:35 UTC] PHP 21. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398 +[18-Nov-2017 19:17:35 UTC] PHP 22. App\Providers\RouteServiceProvider->App\Providers\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398 +[18-Nov-2017 19:24:41 UTC] PHP Parse error: syntax error, unexpected ')', expecting '{' in /home/ubuntu/workspace/app/Http/routes.php on line 45 +[18-Nov-2017 19:24:41 UTC] PHP Stack trace: +[18-Nov-2017 19:24:41 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[18-Nov-2017 19:24:41 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[18-Nov-2017 19:24:41 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[18-Nov-2017 19:24:41 UTC] PHP 4. Illuminate\Foundation\Http\Kernel->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:127 +[18-Nov-2017 19:24:41 UTC] PHP 5. Illuminate\Foundation\Application->bootstrapWith() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:232 +[18-Nov-2017 19:24:41 UTC] PHP 6. Illuminate\Foundation\Bootstrap\BootProviders->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:203 +[18-Nov-2017 19:24:41 UTC] PHP 7. Illuminate\Foundation\Application->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17 +[18-Nov-2017 19:24:41 UTC] PHP 8. array_walk() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741 +[18-Nov-2017 19:24:41 UTC] PHP 9. Illuminate\Foundation\Application->Illuminate\Foundation\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741 +[18-Nov-2017 19:24:41 UTC] PHP 10. Illuminate\Foundation\Application->bootProvider() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:740 +[18-Nov-2017 19:24:41 UTC] PHP 11. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:757 +[18-Nov-2017 19:24:41 UTC] PHP 12. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[18-Nov-2017 19:24:41 UTC] PHP 13. App\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[18-Nov-2017 19:24:41 UTC] PHP 14. Illuminate\Foundation\Support\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:29 +[18-Nov-2017 19:24:41 UTC] PHP 15. Illuminate\Foundation\Support\Providers\RouteServiceProvider->loadRoutes() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:31 +[18-Nov-2017 19:24:41 UTC] PHP 16. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:72 +[18-Nov-2017 19:24:41 UTC] PHP 17. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[18-Nov-2017 19:24:41 UTC] PHP 18. App\Providers\RouteServiceProvider->map() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[18-Nov-2017 19:24:41 UTC] PHP 19. App\Providers\RouteServiceProvider->mapWebRoutes() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:40 +[18-Nov-2017 19:24:41 UTC] PHP 20. Illuminate\Routing\Router->group() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:59 +[18-Nov-2017 19:24:41 UTC] PHP 21. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398 +[18-Nov-2017 19:24:41 UTC] PHP 22. App\Providers\RouteServiceProvider->App\Providers\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398 +[18-Nov-2017 19:26:24 UTC] PHP Parse error: syntax error, unexpected 'Route' (T_STRING) in /home/ubuntu/workspace/app/Http/routes.php on line 50 +[18-Nov-2017 19:26:24 UTC] PHP Stack trace: +[18-Nov-2017 19:26:24 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[18-Nov-2017 19:26:24 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[18-Nov-2017 19:26:24 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[18-Nov-2017 19:26:24 UTC] PHP 4. Illuminate\Foundation\Http\Kernel->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:127 +[18-Nov-2017 19:26:24 UTC] PHP 5. Illuminate\Foundation\Application->bootstrapWith() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:232 +[18-Nov-2017 19:26:24 UTC] PHP 6. Illuminate\Foundation\Bootstrap\BootProviders->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:203 +[18-Nov-2017 19:26:24 UTC] PHP 7. Illuminate\Foundation\Application->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17 +[18-Nov-2017 19:26:24 UTC] PHP 8. array_walk() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741 +[18-Nov-2017 19:26:24 UTC] PHP 9. Illuminate\Foundation\Application->Illuminate\Foundation\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741 +[18-Nov-2017 19:26:24 UTC] PHP 10. Illuminate\Foundation\Application->bootProvider() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:740 +[18-Nov-2017 19:26:24 UTC] PHP 11. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:757 +[18-Nov-2017 19:26:24 UTC] PHP 12. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[18-Nov-2017 19:26:24 UTC] PHP 13. App\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[18-Nov-2017 19:26:24 UTC] PHP 14. Illuminate\Foundation\Support\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:29 +[18-Nov-2017 19:26:24 UTC] PHP 15. Illuminate\Foundation\Support\Providers\RouteServiceProvider->loadRoutes() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:31 +[18-Nov-2017 19:26:24 UTC] PHP 16. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:72 +[18-Nov-2017 19:26:24 UTC] PHP 17. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[18-Nov-2017 19:26:24 UTC] PHP 18. App\Providers\RouteServiceProvider->map() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[18-Nov-2017 19:26:24 UTC] PHP 19. App\Providers\RouteServiceProvider->mapWebRoutes() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:40 +[18-Nov-2017 19:26:24 UTC] PHP 20. Illuminate\Routing\Router->group() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:59 +[18-Nov-2017 19:26:24 UTC] PHP 21. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398 +[18-Nov-2017 19:26:24 UTC] PHP 22. App\Providers\RouteServiceProvider->App\Providers\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398 +[18-Nov-2017 19:27:05 UTC] PHP Parse error: syntax error, unexpected 'Route' (T_STRING) in /home/ubuntu/workspace/app/Http/routes.php on line 53 +[18-Nov-2017 19:27:05 UTC] PHP Stack trace: +[18-Nov-2017 19:27:05 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[18-Nov-2017 19:27:05 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[18-Nov-2017 19:27:05 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[18-Nov-2017 19:27:05 UTC] PHP 4. Illuminate\Foundation\Http\Kernel->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:127 +[18-Nov-2017 19:27:05 UTC] PHP 5. Illuminate\Foundation\Application->bootstrapWith() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:232 +[18-Nov-2017 19:27:05 UTC] PHP 6. Illuminate\Foundation\Bootstrap\BootProviders->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:203 +[18-Nov-2017 19:27:05 UTC] PHP 7. Illuminate\Foundation\Application->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17 +[18-Nov-2017 19:27:05 UTC] PHP 8. array_walk() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741 +[18-Nov-2017 19:27:05 UTC] PHP 9. Illuminate\Foundation\Application->Illuminate\Foundation\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741 +[18-Nov-2017 19:27:05 UTC] PHP 10. Illuminate\Foundation\Application->bootProvider() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:740 +[18-Nov-2017 19:27:05 UTC] PHP 11. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:757 +[18-Nov-2017 19:27:05 UTC] PHP 12. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[18-Nov-2017 19:27:05 UTC] PHP 13. App\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[18-Nov-2017 19:27:05 UTC] PHP 14. Illuminate\Foundation\Support\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:29 +[18-Nov-2017 19:27:05 UTC] PHP 15. Illuminate\Foundation\Support\Providers\RouteServiceProvider->loadRoutes() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:31 +[18-Nov-2017 19:27:05 UTC] PHP 16. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:72 +[18-Nov-2017 19:27:05 UTC] PHP 17. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[18-Nov-2017 19:27:05 UTC] PHP 18. App\Providers\RouteServiceProvider->map() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[18-Nov-2017 19:27:05 UTC] PHP 19. App\Providers\RouteServiceProvider->mapWebRoutes() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:40 +[18-Nov-2017 19:27:05 UTC] PHP 20. Illuminate\Routing\Router->group() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:59 +[18-Nov-2017 19:27:05 UTC] PHP 21. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398 +[18-Nov-2017 19:27:05 UTC] PHP 22. App\Providers\RouteServiceProvider->App\Providers\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398 +[18-Nov-2017 23:03:54 UTC] PHP Parse error: syntax error, unexpected '->' (T_OBJECT_OPERATOR), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in /home/ubuntu/workspace/storage/framework/views/5fab60f02f84f17328f92273094f968b698ca68a.php on line 18 +[18-Nov-2017 23:03:54 UTC] PHP Stack trace: +[18-Nov-2017 23:03:54 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[18-Nov-2017 23:03:54 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[18-Nov-2017 23:03:54 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[18-Nov-2017 23:03:54 UTC] PHP 4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132 +[18-Nov-2017 23:03:54 UTC] PHP 5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[18-Nov-2017 23:03:54 UTC] PHP 6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[18-Nov-2017 23:03:54 UTC] PHP 7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 23:03:54 UTC] PHP 8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 23:03:54 UTC] PHP 9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 23:03:54 UTC] PHP 10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 23:03:54 UTC] PHP 11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44 +[18-Nov-2017 23:03:54 UTC] PHP 12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[18-Nov-2017 23:03:54 UTC] PHP 13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[18-Nov-2017 23:03:54 UTC] PHP 14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246 +[18-Nov-2017 23:03:54 UTC] PHP 15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675 +[18-Nov-2017 23:03:54 UTC] PHP 16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699 +[18-Nov-2017 23:03:54 UTC] PHP 17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726 +[18-Nov-2017 23:03:54 UTC] PHP 18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[18-Nov-2017 23:03:54 UTC] PHP 19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[18-Nov-2017 23:03:54 UTC] PHP 20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 23:03:54 UTC] PHP 21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 23:03:54 UTC] PHP 22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 23:03:54 UTC] PHP 23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 23:03:54 UTC] PHP 24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 +[18-Nov-2017 23:03:54 UTC] PHP 25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 23:03:54 UTC] PHP 26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 23:03:54 UTC] PHP 27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 23:03:54 UTC] PHP 28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 23:03:54 UTC] PHP 29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 +[18-Nov-2017 23:03:54 UTC] PHP 30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 23:03:54 UTC] PHP 31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 23:03:54 UTC] PHP 32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 23:03:54 UTC] PHP 33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 23:03:54 UTC] PHP 34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 +[18-Nov-2017 23:03:54 UTC] PHP 35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 23:03:54 UTC] PHP 36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 23:03:54 UTC] PHP 37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 23:03:54 UTC] PHP 38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 23:03:54 UTC] PHP 39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 +[18-Nov-2017 23:03:54 UTC] PHP 40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 23:03:54 UTC] PHP 41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 23:03:54 UTC] PHP 42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 23:03:54 UTC] PHP 43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 23:03:54 UTC] PHP 44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64 +[18-Nov-2017 23:03:54 UTC] PHP 45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[18-Nov-2017 23:03:54 UTC] PHP 46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[18-Nov-2017 23:03:54 UTC] PHP 47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725 +[18-Nov-2017 23:03:54 UTC] PHP 48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085 +[18-Nov-2017 23:03:54 UTC] PHP 49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201 +[18-Nov-2017 23:03:54 UTC] PHP 50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53 +[18-Nov-2017 23:03:54 UTC] PHP 51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85 +[18-Nov-2017 23:03:54 UTC] PHP 52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120 +[18-Nov-2017 23:03:54 UTC] PHP 53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149 +[18-Nov-2017 23:03:54 UTC] PHP 54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59 +[18-Nov-2017 23:10:14 UTC] PHP Parse error: syntax error, unexpected '}' in /home/ubuntu/workspace/storage/framework/views/5fab60f02f84f17328f92273094f968b698ca68a.php on line 23 +[18-Nov-2017 23:10:14 UTC] PHP Stack trace: +[18-Nov-2017 23:10:14 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[18-Nov-2017 23:10:14 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[18-Nov-2017 23:10:14 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[18-Nov-2017 23:10:14 UTC] PHP 4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132 +[18-Nov-2017 23:10:14 UTC] PHP 5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[18-Nov-2017 23:10:14 UTC] PHP 6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[18-Nov-2017 23:10:14 UTC] PHP 7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 23:10:14 UTC] PHP 8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 23:10:14 UTC] PHP 9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 23:10:14 UTC] PHP 10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 23:10:14 UTC] PHP 11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44 +[18-Nov-2017 23:10:14 UTC] PHP 12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[18-Nov-2017 23:10:14 UTC] PHP 13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[18-Nov-2017 23:10:14 UTC] PHP 14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246 +[18-Nov-2017 23:10:14 UTC] PHP 15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675 +[18-Nov-2017 23:10:14 UTC] PHP 16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699 +[18-Nov-2017 23:10:14 UTC] PHP 17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726 +[18-Nov-2017 23:10:14 UTC] PHP 18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[18-Nov-2017 23:10:14 UTC] PHP 19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[18-Nov-2017 23:10:14 UTC] PHP 20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 23:10:14 UTC] PHP 21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 23:10:14 UTC] PHP 22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 23:10:14 UTC] PHP 23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 23:10:14 UTC] PHP 24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 +[18-Nov-2017 23:10:14 UTC] PHP 25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 23:10:14 UTC] PHP 26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 23:10:14 UTC] PHP 27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 23:10:14 UTC] PHP 28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 23:10:14 UTC] PHP 29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 +[18-Nov-2017 23:10:14 UTC] PHP 30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 23:10:14 UTC] PHP 31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 23:10:14 UTC] PHP 32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 23:10:14 UTC] PHP 33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 23:10:14 UTC] PHP 34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 +[18-Nov-2017 23:10:14 UTC] PHP 35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 23:10:14 UTC] PHP 36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 23:10:14 UTC] PHP 37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 23:10:14 UTC] PHP 38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 23:10:14 UTC] PHP 39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 +[18-Nov-2017 23:10:14 UTC] PHP 40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 23:10:14 UTC] PHP 41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[18-Nov-2017 23:10:14 UTC] PHP 42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 23:10:14 UTC] PHP 43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[18-Nov-2017 23:10:14 UTC] PHP 44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64 +[18-Nov-2017 23:10:14 UTC] PHP 45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[18-Nov-2017 23:10:14 UTC] PHP 46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[18-Nov-2017 23:10:14 UTC] PHP 47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725 +[18-Nov-2017 23:10:14 UTC] PHP 48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085 +[18-Nov-2017 23:10:14 UTC] PHP 49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201 +[18-Nov-2017 23:10:14 UTC] PHP 50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53 +[18-Nov-2017 23:10:14 UTC] PHP 51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85 +[18-Nov-2017 23:10:14 UTC] PHP 52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120 +[18-Nov-2017 23:10:14 UTC] PHP 53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149 +[18-Nov-2017 23:10:14 UTC] PHP 54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59 +[19-Nov-2017 12:11:17 UTC] PHP Fatal error: Class 'Input' not found in /home/ubuntu/workspace/storage/framework/views/5fab60f02f84f17328f92273094f968b698ca68a.php on line 17 +[19-Nov-2017 12:11:17 UTC] PHP Stack trace: +[19-Nov-2017 12:11:17 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[19-Nov-2017 12:11:17 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[19-Nov-2017 12:11:17 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[19-Nov-2017 12:11:17 UTC] PHP 4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132 +[19-Nov-2017 12:11:17 UTC] PHP 5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[19-Nov-2017 12:11:17 UTC] PHP 6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[19-Nov-2017 12:11:17 UTC] PHP 7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:11:17 UTC] PHP 8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:11:17 UTC] PHP 9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:11:17 UTC] PHP 10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:11:17 UTC] PHP 11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44 +[19-Nov-2017 12:11:17 UTC] PHP 12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[19-Nov-2017 12:11:17 UTC] PHP 13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[19-Nov-2017 12:11:17 UTC] PHP 14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246 +[19-Nov-2017 12:11:17 UTC] PHP 15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675 +[19-Nov-2017 12:11:17 UTC] PHP 16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699 +[19-Nov-2017 12:11:17 UTC] PHP 17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726 +[19-Nov-2017 12:11:17 UTC] PHP 18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[19-Nov-2017 12:11:17 UTC] PHP 19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[19-Nov-2017 12:11:17 UTC] PHP 20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:11:17 UTC] PHP 21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:11:17 UTC] PHP 22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:11:17 UTC] PHP 23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:11:17 UTC] PHP 24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 +[19-Nov-2017 12:11:17 UTC] PHP 25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:11:17 UTC] PHP 26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:11:17 UTC] PHP 27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:11:17 UTC] PHP 28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:11:17 UTC] PHP 29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 +[19-Nov-2017 12:11:17 UTC] PHP 30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:11:17 UTC] PHP 31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:11:17 UTC] PHP 32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:11:17 UTC] PHP 33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:11:17 UTC] PHP 34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 +[19-Nov-2017 12:11:17 UTC] PHP 35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:11:17 UTC] PHP 36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:11:17 UTC] PHP 37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:11:17 UTC] PHP 38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:11:17 UTC] PHP 39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 +[19-Nov-2017 12:11:17 UTC] PHP 40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:11:17 UTC] PHP 41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:11:17 UTC] PHP 42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:11:17 UTC] PHP 43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:11:17 UTC] PHP 44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64 +[19-Nov-2017 12:11:17 UTC] PHP 45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[19-Nov-2017 12:11:17 UTC] PHP 46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[19-Nov-2017 12:11:17 UTC] PHP 47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725 +[19-Nov-2017 12:11:17 UTC] PHP 48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085 +[19-Nov-2017 12:11:17 UTC] PHP 49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201 +[19-Nov-2017 12:11:17 UTC] PHP 50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53 +[19-Nov-2017 12:11:17 UTC] PHP 51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85 +[19-Nov-2017 12:11:17 UTC] PHP 52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120 +[19-Nov-2017 12:11:17 UTC] PHP 53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149 +[19-Nov-2017 12:11:17 UTC] PHP 54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59 +[19-Nov-2017 12:11:17 UTC] PHP 55. include() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:42 +[19-Nov-2017 12:14:58 UTC] PHP Fatal error: Class 'Input' not found in /home/ubuntu/workspace/storage/framework/views/5fab60f02f84f17328f92273094f968b698ca68a.php on line 17 +[19-Nov-2017 12:14:58 UTC] PHP Stack trace: +[19-Nov-2017 12:14:58 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[19-Nov-2017 12:14:58 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[19-Nov-2017 12:14:58 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[19-Nov-2017 12:14:58 UTC] PHP 4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132 +[19-Nov-2017 12:14:58 UTC] PHP 5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[19-Nov-2017 12:14:58 UTC] PHP 6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[19-Nov-2017 12:14:58 UTC] PHP 7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:14:58 UTC] PHP 8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:14:58 UTC] PHP 9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:14:58 UTC] PHP 10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:14:58 UTC] PHP 11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44 +[19-Nov-2017 12:14:58 UTC] PHP 12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[19-Nov-2017 12:14:58 UTC] PHP 13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[19-Nov-2017 12:14:58 UTC] PHP 14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246 +[19-Nov-2017 12:14:58 UTC] PHP 15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675 +[19-Nov-2017 12:14:58 UTC] PHP 16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699 +[19-Nov-2017 12:14:58 UTC] PHP 17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726 +[19-Nov-2017 12:14:58 UTC] PHP 18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[19-Nov-2017 12:14:58 UTC] PHP 19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[19-Nov-2017 12:14:58 UTC] PHP 20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:14:58 UTC] PHP 21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:14:58 UTC] PHP 22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:14:58 UTC] PHP 23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:14:58 UTC] PHP 24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 +[19-Nov-2017 12:14:58 UTC] PHP 25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:14:58 UTC] PHP 26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:14:58 UTC] PHP 27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:14:58 UTC] PHP 28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:14:58 UTC] PHP 29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 +[19-Nov-2017 12:14:58 UTC] PHP 30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:14:58 UTC] PHP 31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:14:58 UTC] PHP 32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:14:58 UTC] PHP 33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:14:58 UTC] PHP 34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 +[19-Nov-2017 12:14:58 UTC] PHP 35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:14:58 UTC] PHP 36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:14:58 UTC] PHP 37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:14:58 UTC] PHP 38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:14:58 UTC] PHP 39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 +[19-Nov-2017 12:14:58 UTC] PHP 40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:14:58 UTC] PHP 41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:14:58 UTC] PHP 42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:14:58 UTC] PHP 43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:14:58 UTC] PHP 44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64 +[19-Nov-2017 12:14:58 UTC] PHP 45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[19-Nov-2017 12:14:58 UTC] PHP 46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[19-Nov-2017 12:14:58 UTC] PHP 47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725 +[19-Nov-2017 12:14:58 UTC] PHP 48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085 +[19-Nov-2017 12:14:58 UTC] PHP 49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201 +[19-Nov-2017 12:14:58 UTC] PHP 50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53 +[19-Nov-2017 12:14:58 UTC] PHP 51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85 +[19-Nov-2017 12:14:58 UTC] PHP 52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120 +[19-Nov-2017 12:14:58 UTC] PHP 53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149 +[19-Nov-2017 12:14:58 UTC] PHP 54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59 +[19-Nov-2017 12:14:58 UTC] PHP 55. include() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:42 +[19-Nov-2017 12:37:54 UTC] PHP Fatal error: Class 'Input' not found in /home/ubuntu/workspace/storage/framework/views/5fab60f02f84f17328f92273094f968b698ca68a.php on line 18 +[19-Nov-2017 12:37:54 UTC] PHP Stack trace: +[19-Nov-2017 12:37:54 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[19-Nov-2017 12:37:54 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[19-Nov-2017 12:37:54 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[19-Nov-2017 12:37:54 UTC] PHP 4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132 +[19-Nov-2017 12:37:54 UTC] PHP 5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[19-Nov-2017 12:37:54 UTC] PHP 6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[19-Nov-2017 12:37:54 UTC] PHP 7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:37:54 UTC] PHP 8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:37:54 UTC] PHP 9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:37:54 UTC] PHP 10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:37:54 UTC] PHP 11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44 +[19-Nov-2017 12:37:54 UTC] PHP 12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[19-Nov-2017 12:37:54 UTC] PHP 13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[19-Nov-2017 12:37:54 UTC] PHP 14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246 +[19-Nov-2017 12:37:54 UTC] PHP 15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675 +[19-Nov-2017 12:37:54 UTC] PHP 16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699 +[19-Nov-2017 12:37:54 UTC] PHP 17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726 +[19-Nov-2017 12:37:54 UTC] PHP 18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[19-Nov-2017 12:37:54 UTC] PHP 19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[19-Nov-2017 12:37:54 UTC] PHP 20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:37:54 UTC] PHP 21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:37:54 UTC] PHP 22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:37:54 UTC] PHP 23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:37:54 UTC] PHP 24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 +[19-Nov-2017 12:37:54 UTC] PHP 25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:37:54 UTC] PHP 26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:37:54 UTC] PHP 27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:37:54 UTC] PHP 28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:37:54 UTC] PHP 29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 +[19-Nov-2017 12:37:54 UTC] PHP 30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:37:54 UTC] PHP 31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:37:54 UTC] PHP 32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:37:54 UTC] PHP 33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:37:54 UTC] PHP 34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 +[19-Nov-2017 12:37:54 UTC] PHP 35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:37:54 UTC] PHP 36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:37:54 UTC] PHP 37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:37:54 UTC] PHP 38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:37:54 UTC] PHP 39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 +[19-Nov-2017 12:37:54 UTC] PHP 40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:37:54 UTC] PHP 41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:37:54 UTC] PHP 42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:37:54 UTC] PHP 43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:37:54 UTC] PHP 44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64 +[19-Nov-2017 12:37:54 UTC] PHP 45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[19-Nov-2017 12:37:54 UTC] PHP 46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[19-Nov-2017 12:37:54 UTC] PHP 47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725 +[19-Nov-2017 12:37:54 UTC] PHP 48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085 +[19-Nov-2017 12:37:54 UTC] PHP 49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201 +[19-Nov-2017 12:37:54 UTC] PHP 50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53 +[19-Nov-2017 12:37:54 UTC] PHP 51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85 +[19-Nov-2017 12:37:54 UTC] PHP 52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120 +[19-Nov-2017 12:37:54 UTC] PHP 53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149 +[19-Nov-2017 12:37:54 UTC] PHP 54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59 +[19-Nov-2017 12:37:54 UTC] PHP 55. include() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:42 +[19-Nov-2017 12:38:42 UTC] PHP Fatal error: Class 'Product' not found in /home/ubuntu/workspace/storage/framework/views/5fab60f02f84f17328f92273094f968b698ca68a.php on line 19 +[19-Nov-2017 12:38:42 UTC] PHP Stack trace: +[19-Nov-2017 12:38:42 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[19-Nov-2017 12:38:42 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[19-Nov-2017 12:38:42 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[19-Nov-2017 12:38:42 UTC] PHP 4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132 +[19-Nov-2017 12:38:42 UTC] PHP 5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[19-Nov-2017 12:38:42 UTC] PHP 6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[19-Nov-2017 12:38:42 UTC] PHP 7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:38:42 UTC] PHP 8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:38:42 UTC] PHP 9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:38:42 UTC] PHP 10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:38:42 UTC] PHP 11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44 +[19-Nov-2017 12:38:42 UTC] PHP 12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[19-Nov-2017 12:38:42 UTC] PHP 13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[19-Nov-2017 12:38:42 UTC] PHP 14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246 +[19-Nov-2017 12:38:42 UTC] PHP 15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675 +[19-Nov-2017 12:38:42 UTC] PHP 16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699 +[19-Nov-2017 12:38:42 UTC] PHP 17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726 +[19-Nov-2017 12:38:42 UTC] PHP 18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[19-Nov-2017 12:38:42 UTC] PHP 19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[19-Nov-2017 12:38:42 UTC] PHP 20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:38:42 UTC] PHP 21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:38:42 UTC] PHP 22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:38:42 UTC] PHP 23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:38:42 UTC] PHP 24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 +[19-Nov-2017 12:38:42 UTC] PHP 25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:38:42 UTC] PHP 26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:38:42 UTC] PHP 27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:38:42 UTC] PHP 28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:38:42 UTC] PHP 29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 +[19-Nov-2017 12:38:42 UTC] PHP 30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:38:42 UTC] PHP 31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:38:42 UTC] PHP 32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:38:42 UTC] PHP 33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:38:42 UTC] PHP 34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 +[19-Nov-2017 12:38:42 UTC] PHP 35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:38:42 UTC] PHP 36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:38:42 UTC] PHP 37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:38:42 UTC] PHP 38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:38:42 UTC] PHP 39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 +[19-Nov-2017 12:38:42 UTC] PHP 40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:38:42 UTC] PHP 41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:38:42 UTC] PHP 42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:38:42 UTC] PHP 43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:38:42 UTC] PHP 44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64 +[19-Nov-2017 12:38:42 UTC] PHP 45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[19-Nov-2017 12:38:42 UTC] PHP 46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[19-Nov-2017 12:38:42 UTC] PHP 47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725 +[19-Nov-2017 12:38:42 UTC] PHP 48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085 +[19-Nov-2017 12:38:42 UTC] PHP 49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201 +[19-Nov-2017 12:38:42 UTC] PHP 50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53 +[19-Nov-2017 12:38:42 UTC] PHP 51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85 +[19-Nov-2017 12:38:42 UTC] PHP 52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120 +[19-Nov-2017 12:38:42 UTC] PHP 53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149 +[19-Nov-2017 12:38:42 UTC] PHP 54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59 +[19-Nov-2017 12:38:42 UTC] PHP 55. include() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:42 +[19-Nov-2017 12:39:46 UTC] PHP Fatal error: Class 'products' not found in /home/ubuntu/workspace/storage/framework/views/5fab60f02f84f17328f92273094f968b698ca68a.php on line 19 +[19-Nov-2017 12:39:46 UTC] PHP Stack trace: +[19-Nov-2017 12:39:46 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[19-Nov-2017 12:39:46 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[19-Nov-2017 12:39:46 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[19-Nov-2017 12:39:46 UTC] PHP 4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132 +[19-Nov-2017 12:39:46 UTC] PHP 5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[19-Nov-2017 12:39:46 UTC] PHP 6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[19-Nov-2017 12:39:46 UTC] PHP 7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:39:46 UTC] PHP 8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:39:46 UTC] PHP 9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:39:46 UTC] PHP 10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:39:46 UTC] PHP 11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44 +[19-Nov-2017 12:39:46 UTC] PHP 12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[19-Nov-2017 12:39:46 UTC] PHP 13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[19-Nov-2017 12:39:46 UTC] PHP 14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246 +[19-Nov-2017 12:39:46 UTC] PHP 15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675 +[19-Nov-2017 12:39:46 UTC] PHP 16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699 +[19-Nov-2017 12:39:46 UTC] PHP 17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726 +[19-Nov-2017 12:39:46 UTC] PHP 18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[19-Nov-2017 12:39:46 UTC] PHP 19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[19-Nov-2017 12:39:46 UTC] PHP 20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:39:46 UTC] PHP 21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:39:46 UTC] PHP 22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:39:46 UTC] PHP 23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:39:46 UTC] PHP 24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 +[19-Nov-2017 12:39:46 UTC] PHP 25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:39:46 UTC] PHP 26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:39:46 UTC] PHP 27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:39:46 UTC] PHP 28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:39:46 UTC] PHP 29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 +[19-Nov-2017 12:39:46 UTC] PHP 30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:39:46 UTC] PHP 31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:39:46 UTC] PHP 32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:39:46 UTC] PHP 33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:39:46 UTC] PHP 34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 +[19-Nov-2017 12:39:46 UTC] PHP 35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:39:46 UTC] PHP 36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:39:46 UTC] PHP 37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:39:46 UTC] PHP 38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:39:46 UTC] PHP 39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 +[19-Nov-2017 12:39:46 UTC] PHP 40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:39:46 UTC] PHP 41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 12:39:46 UTC] PHP 42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:39:46 UTC] PHP 43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 12:39:46 UTC] PHP 44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64 +[19-Nov-2017 12:39:46 UTC] PHP 45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[19-Nov-2017 12:39:46 UTC] PHP 46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[19-Nov-2017 12:39:46 UTC] PHP 47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725 +[19-Nov-2017 12:39:46 UTC] PHP 48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085 +[19-Nov-2017 12:39:46 UTC] PHP 49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201 +[19-Nov-2017 12:39:46 UTC] PHP 50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53 +[19-Nov-2017 12:39:46 UTC] PHP 51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85 +[19-Nov-2017 12:39:46 UTC] PHP 52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120 +[19-Nov-2017 12:39:46 UTC] PHP 53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149 +[19-Nov-2017 12:39:46 UTC] PHP 54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59 +[19-Nov-2017 12:39:46 UTC] PHP 55. include() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:42 +[19-Nov-2017 13:06:32 UTC] PHP Parse error: syntax error, unexpected '}' in /home/ubuntu/workspace/storage/framework/views/5fab60f02f84f17328f92273094f968b698ca68a.php on line 25 +[19-Nov-2017 13:06:32 UTC] PHP Stack trace: +[19-Nov-2017 13:06:32 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[19-Nov-2017 13:06:32 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[19-Nov-2017 13:06:32 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[19-Nov-2017 13:06:32 UTC] PHP 4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132 +[19-Nov-2017 13:06:32 UTC] PHP 5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[19-Nov-2017 13:06:32 UTC] PHP 6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[19-Nov-2017 13:06:32 UTC] PHP 7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 13:06:32 UTC] PHP 8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 13:06:32 UTC] PHP 9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 13:06:32 UTC] PHP 10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 13:06:32 UTC] PHP 11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44 +[19-Nov-2017 13:06:32 UTC] PHP 12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[19-Nov-2017 13:06:32 UTC] PHP 13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[19-Nov-2017 13:06:32 UTC] PHP 14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246 +[19-Nov-2017 13:06:32 UTC] PHP 15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675 +[19-Nov-2017 13:06:32 UTC] PHP 16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699 +[19-Nov-2017 13:06:32 UTC] PHP 17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726 +[19-Nov-2017 13:06:32 UTC] PHP 18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[19-Nov-2017 13:06:32 UTC] PHP 19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[19-Nov-2017 13:06:32 UTC] PHP 20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 13:06:32 UTC] PHP 21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 13:06:32 UTC] PHP 22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 13:06:32 UTC] PHP 23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 13:06:32 UTC] PHP 24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 +[19-Nov-2017 13:06:32 UTC] PHP 25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 13:06:32 UTC] PHP 26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 13:06:32 UTC] PHP 27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 13:06:32 UTC] PHP 28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 13:06:32 UTC] PHP 29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 +[19-Nov-2017 13:06:32 UTC] PHP 30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 13:06:32 UTC] PHP 31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 13:06:32 UTC] PHP 32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 13:06:32 UTC] PHP 33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 13:06:32 UTC] PHP 34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 +[19-Nov-2017 13:06:32 UTC] PHP 35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 13:06:32 UTC] PHP 36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 13:06:32 UTC] PHP 37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 13:06:32 UTC] PHP 38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 13:06:32 UTC] PHP 39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 +[19-Nov-2017 13:06:32 UTC] PHP 40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 13:06:32 UTC] PHP 41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[19-Nov-2017 13:06:32 UTC] PHP 42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 13:06:32 UTC] PHP 43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[19-Nov-2017 13:06:32 UTC] PHP 44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64 +[19-Nov-2017 13:06:32 UTC] PHP 45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[19-Nov-2017 13:06:32 UTC] PHP 46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[19-Nov-2017 13:06:32 UTC] PHP 47. Illuminate\Routing\Router->prepareResponse() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:725 +[19-Nov-2017 13:06:32 UTC] PHP 48. Symfony\Component\HttpFoundation\Response->__construct() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1085 +[19-Nov-2017 13:06:32 UTC] PHP 49. Illuminate\Http\Response->setContent() /home/ubuntu/workspace/vendor/symfony/http-foundation/Response.php:201 +[19-Nov-2017 13:06:32 UTC] PHP 50. Illuminate\View\View->render() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Http/Response.php:53 +[19-Nov-2017 13:06:32 UTC] PHP 51. Illuminate\View\View->renderContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:85 +[19-Nov-2017 13:06:32 UTC] PHP 52. Illuminate\View\View->getContents() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:120 +[19-Nov-2017 13:06:32 UTC] PHP 53. Illuminate\View\Engines\CompilerEngine->get() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/View.php:149 +[19-Nov-2017 13:06:32 UTC] PHP 54. Illuminate\View\Engines\PhpEngine->evaluatePath() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59 +[20-Nov-2017 00:20:57 UTC] PHP Fatal error: Class 'Input' not found in /home/ubuntu/workspace/app/Http/routes.php on line 33 +[20-Nov-2017 00:20:57 UTC] PHP Stack trace: +[20-Nov-2017 00:20:57 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[20-Nov-2017 00:20:57 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[20-Nov-2017 00:20:57 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[20-Nov-2017 00:20:57 UTC] PHP 4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132 +[20-Nov-2017 00:20:57 UTC] PHP 5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 00:20:57 UTC] PHP 6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 00:20:57 UTC] PHP 7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:20:57 UTC] PHP 8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:20:57 UTC] PHP 9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:20:57 UTC] PHP 10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:20:57 UTC] PHP 11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44 +[20-Nov-2017 00:20:57 UTC] PHP 12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 00:20:57 UTC] PHP 13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 00:20:57 UTC] PHP 14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246 +[20-Nov-2017 00:20:57 UTC] PHP 15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675 +[20-Nov-2017 00:20:57 UTC] PHP 16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699 +[20-Nov-2017 00:20:57 UTC] PHP 17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726 +[20-Nov-2017 00:20:57 UTC] PHP 18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 00:20:57 UTC] PHP 19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 00:20:57 UTC] PHP 20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:20:57 UTC] PHP 21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:20:57 UTC] PHP 22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:20:57 UTC] PHP 23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:20:57 UTC] PHP 24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 +[20-Nov-2017 00:20:57 UTC] PHP 25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:20:57 UTC] PHP 26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:20:57 UTC] PHP 27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:20:57 UTC] PHP 28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:20:57 UTC] PHP 29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 +[20-Nov-2017 00:20:57 UTC] PHP 30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:20:57 UTC] PHP 31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:20:57 UTC] PHP 32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:20:57 UTC] PHP 33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:20:57 UTC] PHP 34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 +[20-Nov-2017 00:20:57 UTC] PHP 35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:20:57 UTC] PHP 36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:20:57 UTC] PHP 37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:20:57 UTC] PHP 38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:20:57 UTC] PHP 39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 +[20-Nov-2017 00:20:57 UTC] PHP 40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:20:57 UTC] PHP 41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:20:57 UTC] PHP 42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:20:57 UTC] PHP 43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:20:57 UTC] PHP 44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64 +[20-Nov-2017 00:20:57 UTC] PHP 45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 00:20:57 UTC] PHP 46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 00:20:57 UTC] PHP 47. Illuminate\Routing\Route->run() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:724 +[20-Nov-2017 00:20:57 UTC] PHP 48. Illuminate\Routing\Route->runCallable() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:137 +[20-Nov-2017 00:20:57 UTC] PHP 49. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158 +[20-Nov-2017 00:20:57 UTC] PHP 50. App\Providers\RouteServiceProvider->{closure:/home/ubuntu/workspace/app/Http/routes.php:32-41}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158 +[20-Nov-2017 00:21:33 UTC] PHP Fatal error: Class 'r' not found in /home/ubuntu/workspace/app/Http/routes.php on line 33 +[20-Nov-2017 00:21:33 UTC] PHP Stack trace: +[20-Nov-2017 00:21:33 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[20-Nov-2017 00:21:33 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[20-Nov-2017 00:21:33 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[20-Nov-2017 00:21:33 UTC] PHP 4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132 +[20-Nov-2017 00:21:33 UTC] PHP 5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 00:21:33 UTC] PHP 6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 00:21:33 UTC] PHP 7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:21:33 UTC] PHP 8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:21:33 UTC] PHP 9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:21:33 UTC] PHP 10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:21:33 UTC] PHP 11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44 +[20-Nov-2017 00:21:33 UTC] PHP 12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 00:21:33 UTC] PHP 13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 00:21:33 UTC] PHP 14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246 +[20-Nov-2017 00:21:33 UTC] PHP 15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675 +[20-Nov-2017 00:21:33 UTC] PHP 16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699 +[20-Nov-2017 00:21:33 UTC] PHP 17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726 +[20-Nov-2017 00:21:33 UTC] PHP 18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 00:21:33 UTC] PHP 19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 00:21:33 UTC] PHP 20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:21:33 UTC] PHP 21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:21:33 UTC] PHP 22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:21:33 UTC] PHP 23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:21:33 UTC] PHP 24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 +[20-Nov-2017 00:21:33 UTC] PHP 25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:21:33 UTC] PHP 26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:21:33 UTC] PHP 27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:21:33 UTC] PHP 28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:21:33 UTC] PHP 29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 +[20-Nov-2017 00:21:33 UTC] PHP 30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:21:33 UTC] PHP 31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:21:33 UTC] PHP 32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:21:33 UTC] PHP 33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:21:33 UTC] PHP 34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 +[20-Nov-2017 00:21:33 UTC] PHP 35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:21:33 UTC] PHP 36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:21:33 UTC] PHP 37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:21:33 UTC] PHP 38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:21:33 UTC] PHP 39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 +[20-Nov-2017 00:21:33 UTC] PHP 40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:21:33 UTC] PHP 41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:21:33 UTC] PHP 42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:21:33 UTC] PHP 43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:21:33 UTC] PHP 44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64 +[20-Nov-2017 00:21:33 UTC] PHP 45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 00:21:33 UTC] PHP 46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 00:21:33 UTC] PHP 47. Illuminate\Routing\Route->run() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:724 +[20-Nov-2017 00:21:33 UTC] PHP 48. Illuminate\Routing\Route->runCallable() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:137 +[20-Nov-2017 00:21:33 UTC] PHP 49. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158 +[20-Nov-2017 00:21:33 UTC] PHP 50. App\Providers\RouteServiceProvider->{closure:/home/ubuntu/workspace/app/Http/routes.php:32-41}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158 +[20-Nov-2017 00:24:48 UTC] PHP Fatal error: Class 'input' not found in /home/ubuntu/workspace/app/Http/routes.php on line 33 +[20-Nov-2017 00:24:48 UTC] PHP Stack trace: +[20-Nov-2017 00:24:48 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[20-Nov-2017 00:24:48 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[20-Nov-2017 00:24:48 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[20-Nov-2017 00:24:48 UTC] PHP 4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132 +[20-Nov-2017 00:24:48 UTC] PHP 5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 00:24:48 UTC] PHP 6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 00:24:48 UTC] PHP 7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:24:48 UTC] PHP 8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:24:48 UTC] PHP 9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:24:48 UTC] PHP 10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:24:48 UTC] PHP 11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44 +[20-Nov-2017 00:24:48 UTC] PHP 12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 00:24:48 UTC] PHP 13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 00:24:48 UTC] PHP 14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246 +[20-Nov-2017 00:24:48 UTC] PHP 15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675 +[20-Nov-2017 00:24:48 UTC] PHP 16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699 +[20-Nov-2017 00:24:48 UTC] PHP 17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726 +[20-Nov-2017 00:24:48 UTC] PHP 18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 00:24:48 UTC] PHP 19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 00:24:48 UTC] PHP 20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:24:48 UTC] PHP 21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:24:48 UTC] PHP 22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:24:48 UTC] PHP 23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:24:48 UTC] PHP 24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 +[20-Nov-2017 00:24:48 UTC] PHP 25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:24:48 UTC] PHP 26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:24:48 UTC] PHP 27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:24:48 UTC] PHP 28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:24:48 UTC] PHP 29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 +[20-Nov-2017 00:24:48 UTC] PHP 30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:24:48 UTC] PHP 31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:24:48 UTC] PHP 32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:24:48 UTC] PHP 33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:24:48 UTC] PHP 34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 +[20-Nov-2017 00:24:48 UTC] PHP 35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:24:48 UTC] PHP 36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:24:48 UTC] PHP 37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:24:48 UTC] PHP 38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:24:48 UTC] PHP 39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 +[20-Nov-2017 00:24:48 UTC] PHP 40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:24:48 UTC] PHP 41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:24:48 UTC] PHP 42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:24:48 UTC] PHP 43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:24:48 UTC] PHP 44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64 +[20-Nov-2017 00:24:48 UTC] PHP 45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 00:24:48 UTC] PHP 46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 00:24:48 UTC] PHP 47. Illuminate\Routing\Route->run() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:724 +[20-Nov-2017 00:24:48 UTC] PHP 48. Illuminate\Routing\Route->runCallable() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:137 +[20-Nov-2017 00:24:48 UTC] PHP 49. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158 +[20-Nov-2017 00:24:48 UTC] PHP 50. App\Providers\RouteServiceProvider->{closure:/home/ubuntu/workspace/app/Http/routes.php:32-41}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158 +[20-Nov-2017 00:28:36 UTC] PHP Fatal error: Class 'Article' not found in /home/ubuntu/workspace/app/Http/routes.php on line 52 +[20-Nov-2017 00:28:36 UTC] PHP Stack trace: +[20-Nov-2017 00:28:36 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[20-Nov-2017 00:28:36 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[20-Nov-2017 00:28:36 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[20-Nov-2017 00:28:36 UTC] PHP 4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132 +[20-Nov-2017 00:28:36 UTC] PHP 5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 00:28:36 UTC] PHP 6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 00:28:36 UTC] PHP 7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:28:36 UTC] PHP 8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:28:36 UTC] PHP 9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:28:36 UTC] PHP 10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:28:36 UTC] PHP 11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44 +[20-Nov-2017 00:28:36 UTC] PHP 12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 00:28:36 UTC] PHP 13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 00:28:36 UTC] PHP 14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246 +[20-Nov-2017 00:28:36 UTC] PHP 15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675 +[20-Nov-2017 00:28:36 UTC] PHP 16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699 +[20-Nov-2017 00:28:36 UTC] PHP 17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726 +[20-Nov-2017 00:28:36 UTC] PHP 18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 00:28:36 UTC] PHP 19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 00:28:36 UTC] PHP 20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:28:36 UTC] PHP 21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:28:36 UTC] PHP 22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:28:36 UTC] PHP 23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:28:36 UTC] PHP 24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 +[20-Nov-2017 00:28:36 UTC] PHP 25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:28:36 UTC] PHP 26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:28:36 UTC] PHP 27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:28:36 UTC] PHP 28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:28:36 UTC] PHP 29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 +[20-Nov-2017 00:28:36 UTC] PHP 30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:28:36 UTC] PHP 31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:28:36 UTC] PHP 32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:28:36 UTC] PHP 33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:28:36 UTC] PHP 34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 +[20-Nov-2017 00:28:36 UTC] PHP 35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:28:36 UTC] PHP 36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:28:36 UTC] PHP 37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:28:36 UTC] PHP 38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:28:36 UTC] PHP 39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 +[20-Nov-2017 00:28:36 UTC] PHP 40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:28:36 UTC] PHP 41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:28:36 UTC] PHP 42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:28:36 UTC] PHP 43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:28:36 UTC] PHP 44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64 +[20-Nov-2017 00:28:36 UTC] PHP 45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 00:28:36 UTC] PHP 46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 00:28:36 UTC] PHP 47. Illuminate\Routing\Route->run() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:724 +[20-Nov-2017 00:28:36 UTC] PHP 48. Illuminate\Routing\Route->runCallable() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:137 +[20-Nov-2017 00:28:36 UTC] PHP 49. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158 +[20-Nov-2017 00:28:36 UTC] PHP 50. App\Providers\RouteServiceProvider->{closure:/home/ubuntu/workspace/app/Http/routes.php:44-61}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158 +[20-Nov-2017 00:28:38 UTC] PHP Fatal error: Class 'Article' not found in /home/ubuntu/workspace/app/Http/routes.php on line 52 +[20-Nov-2017 00:28:38 UTC] PHP Stack trace: +[20-Nov-2017 00:28:38 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[20-Nov-2017 00:28:38 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[20-Nov-2017 00:28:38 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[20-Nov-2017 00:28:38 UTC] PHP 4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132 +[20-Nov-2017 00:28:38 UTC] PHP 5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 00:28:38 UTC] PHP 6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 00:28:38 UTC] PHP 7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:28:38 UTC] PHP 8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:28:38 UTC] PHP 9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:28:38 UTC] PHP 10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:28:38 UTC] PHP 11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44 +[20-Nov-2017 00:28:38 UTC] PHP 12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 00:28:38 UTC] PHP 13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 00:28:38 UTC] PHP 14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246 +[20-Nov-2017 00:28:38 UTC] PHP 15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675 +[20-Nov-2017 00:28:38 UTC] PHP 16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699 +[20-Nov-2017 00:28:38 UTC] PHP 17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726 +[20-Nov-2017 00:28:38 UTC] PHP 18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 00:28:38 UTC] PHP 19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 00:28:38 UTC] PHP 20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:28:38 UTC] PHP 21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:28:38 UTC] PHP 22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:28:38 UTC] PHP 23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:28:38 UTC] PHP 24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 +[20-Nov-2017 00:28:38 UTC] PHP 25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:28:38 UTC] PHP 26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:28:38 UTC] PHP 27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:28:38 UTC] PHP 28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:28:38 UTC] PHP 29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 +[20-Nov-2017 00:28:38 UTC] PHP 30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:28:38 UTC] PHP 31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:28:38 UTC] PHP 32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:28:38 UTC] PHP 33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:28:38 UTC] PHP 34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 +[20-Nov-2017 00:28:38 UTC] PHP 35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:28:38 UTC] PHP 36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:28:38 UTC] PHP 37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:28:38 UTC] PHP 38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:28:38 UTC] PHP 39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 +[20-Nov-2017 00:28:38 UTC] PHP 40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:28:38 UTC] PHP 41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:28:38 UTC] PHP 42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:28:38 UTC] PHP 43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:28:38 UTC] PHP 44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64 +[20-Nov-2017 00:28:38 UTC] PHP 45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 00:28:38 UTC] PHP 46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 00:28:38 UTC] PHP 47. Illuminate\Routing\Route->run() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:724 +[20-Nov-2017 00:28:38 UTC] PHP 48. Illuminate\Routing\Route->runCallable() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:137 +[20-Nov-2017 00:28:38 UTC] PHP 49. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158 +[20-Nov-2017 00:28:38 UTC] PHP 50. App\Providers\RouteServiceProvider->{closure:/home/ubuntu/workspace/app/Http/routes.php:44-61}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158 +[20-Nov-2017 00:29:19 UTC] PHP Fatal error: Class 'Product' not found in /home/ubuntu/workspace/app/Http/routes.php on line 52 +[20-Nov-2017 00:29:19 UTC] PHP Stack trace: +[20-Nov-2017 00:29:19 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[20-Nov-2017 00:29:19 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[20-Nov-2017 00:29:19 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[20-Nov-2017 00:29:19 UTC] PHP 4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132 +[20-Nov-2017 00:29:19 UTC] PHP 5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 00:29:19 UTC] PHP 6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 00:29:19 UTC] PHP 7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:29:19 UTC] PHP 8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:29:19 UTC] PHP 9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:29:19 UTC] PHP 10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:29:19 UTC] PHP 11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44 +[20-Nov-2017 00:29:19 UTC] PHP 12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 00:29:19 UTC] PHP 13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 00:29:19 UTC] PHP 14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246 +[20-Nov-2017 00:29:19 UTC] PHP 15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675 +[20-Nov-2017 00:29:19 UTC] PHP 16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699 +[20-Nov-2017 00:29:19 UTC] PHP 17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726 +[20-Nov-2017 00:29:19 UTC] PHP 18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 00:29:19 UTC] PHP 19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 00:29:19 UTC] PHP 20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:29:19 UTC] PHP 21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:29:19 UTC] PHP 22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:29:19 UTC] PHP 23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:29:19 UTC] PHP 24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 +[20-Nov-2017 00:29:19 UTC] PHP 25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:29:19 UTC] PHP 26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:29:19 UTC] PHP 27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:29:19 UTC] PHP 28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:29:19 UTC] PHP 29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 +[20-Nov-2017 00:29:19 UTC] PHP 30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:29:19 UTC] PHP 31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:29:19 UTC] PHP 32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:29:19 UTC] PHP 33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:29:19 UTC] PHP 34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 +[20-Nov-2017 00:29:19 UTC] PHP 35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:29:19 UTC] PHP 36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:29:19 UTC] PHP 37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:29:19 UTC] PHP 38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:29:19 UTC] PHP 39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 +[20-Nov-2017 00:29:19 UTC] PHP 40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:29:19 UTC] PHP 41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 00:29:19 UTC] PHP 42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:29:19 UTC] PHP 43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 00:29:19 UTC] PHP 44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64 +[20-Nov-2017 00:29:19 UTC] PHP 45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 00:29:19 UTC] PHP 46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 00:29:19 UTC] PHP 47. Illuminate\Routing\Route->run() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:724 +[20-Nov-2017 00:29:19 UTC] PHP 48. Illuminate\Routing\Route->runCallable() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:137 +[20-Nov-2017 00:29:19 UTC] PHP 49. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158 +[20-Nov-2017 00:29:19 UTC] PHP 50. App\Providers\RouteServiceProvider->{closure:/home/ubuntu/workspace/app/Http/routes.php:44-61}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158 +[20-Nov-2017 00:31:47 UTC] PHP Parse error: syntax error, unexpected '::' (T_PAAMAYIM_NEKUDOTAYIM) in /home/ubuntu/workspace/app/Http/routes.php on line 46 +[20-Nov-2017 00:31:47 UTC] PHP Stack trace: +[20-Nov-2017 00:31:47 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[20-Nov-2017 00:31:47 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[20-Nov-2017 00:31:47 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[20-Nov-2017 00:31:47 UTC] PHP 4. Illuminate\Foundation\Http\Kernel->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:127 +[20-Nov-2017 00:31:47 UTC] PHP 5. Illuminate\Foundation\Application->bootstrapWith() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:232 +[20-Nov-2017 00:31:47 UTC] PHP 6. Illuminate\Foundation\Bootstrap\BootProviders->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:203 +[20-Nov-2017 00:31:47 UTC] PHP 7. Illuminate\Foundation\Application->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17 +[20-Nov-2017 00:31:47 UTC] PHP 8. array_walk() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741 +[20-Nov-2017 00:31:47 UTC] PHP 9. Illuminate\Foundation\Application->Illuminate\Foundation\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741 +[20-Nov-2017 00:31:47 UTC] PHP 10. Illuminate\Foundation\Application->bootProvider() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:740 +[20-Nov-2017 00:31:47 UTC] PHP 11. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:757 +[20-Nov-2017 00:31:47 UTC] PHP 12. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 00:31:47 UTC] PHP 13. App\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 00:31:47 UTC] PHP 14. Illuminate\Foundation\Support\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:29 +[20-Nov-2017 00:31:47 UTC] PHP 15. Illuminate\Foundation\Support\Providers\RouteServiceProvider->loadRoutes() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:31 +[20-Nov-2017 00:31:47 UTC] PHP 16. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:72 +[20-Nov-2017 00:31:47 UTC] PHP 17. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 00:31:47 UTC] PHP 18. App\Providers\RouteServiceProvider->map() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 00:31:47 UTC] PHP 19. App\Providers\RouteServiceProvider->mapWebRoutes() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:40 +[20-Nov-2017 00:31:47 UTC] PHP 20. Illuminate\Routing\Router->group() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:59 +[20-Nov-2017 00:31:47 UTC] PHP 21. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398 +[20-Nov-2017 00:31:47 UTC] PHP 22. App\Providers\RouteServiceProvider->App\Providers\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398 +[20-Nov-2017 00:34:55 UTC] PHP Parse error: syntax error, unexpected '@', expecting ')' in /home/ubuntu/workspace/app/Http/routes.php on line 45 +[20-Nov-2017 00:34:55 UTC] PHP Stack trace: +[20-Nov-2017 00:34:55 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[20-Nov-2017 00:34:55 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[20-Nov-2017 00:34:55 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[20-Nov-2017 00:34:55 UTC] PHP 4. Illuminate\Foundation\Http\Kernel->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:127 +[20-Nov-2017 00:34:55 UTC] PHP 5. Illuminate\Foundation\Application->bootstrapWith() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:232 +[20-Nov-2017 00:34:55 UTC] PHP 6. Illuminate\Foundation\Bootstrap\BootProviders->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:203 +[20-Nov-2017 00:34:55 UTC] PHP 7. Illuminate\Foundation\Application->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17 +[20-Nov-2017 00:34:55 UTC] PHP 8. array_walk() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741 +[20-Nov-2017 00:34:55 UTC] PHP 9. Illuminate\Foundation\Application->Illuminate\Foundation\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741 +[20-Nov-2017 00:34:55 UTC] PHP 10. Illuminate\Foundation\Application->bootProvider() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:740 +[20-Nov-2017 00:34:55 UTC] PHP 11. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:757 +[20-Nov-2017 00:34:55 UTC] PHP 12. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 00:34:55 UTC] PHP 13. App\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 00:34:55 UTC] PHP 14. Illuminate\Foundation\Support\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:29 +[20-Nov-2017 00:34:55 UTC] PHP 15. Illuminate\Foundation\Support\Providers\RouteServiceProvider->loadRoutes() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:31 +[20-Nov-2017 00:34:55 UTC] PHP 16. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:72 +[20-Nov-2017 00:34:55 UTC] PHP 17. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 00:34:55 UTC] PHP 18. App\Providers\RouteServiceProvider->map() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 00:34:55 UTC] PHP 19. App\Providers\RouteServiceProvider->mapWebRoutes() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:40 +[20-Nov-2017 00:34:55 UTC] PHP 20. Illuminate\Routing\Router->group() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:59 +[20-Nov-2017 00:34:55 UTC] PHP 21. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398 +[20-Nov-2017 00:34:55 UTC] PHP 22. App\Providers\RouteServiceProvider->App\Providers\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398 +[20-Nov-2017 00:34:59 UTC] PHP Parse error: syntax error, unexpected '@', expecting ')' in /home/ubuntu/workspace/app/Http/routes.php on line 45 +[20-Nov-2017 00:34:59 UTC] PHP Stack trace: +[20-Nov-2017 00:34:59 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[20-Nov-2017 00:34:59 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[20-Nov-2017 00:34:59 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[20-Nov-2017 00:34:59 UTC] PHP 4. Illuminate\Foundation\Http\Kernel->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:127 +[20-Nov-2017 00:34:59 UTC] PHP 5. Illuminate\Foundation\Application->bootstrapWith() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:232 +[20-Nov-2017 00:34:59 UTC] PHP 6. Illuminate\Foundation\Bootstrap\BootProviders->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:203 +[20-Nov-2017 00:34:59 UTC] PHP 7. Illuminate\Foundation\Application->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17 +[20-Nov-2017 00:34:59 UTC] PHP 8. array_walk() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741 +[20-Nov-2017 00:34:59 UTC] PHP 9. Illuminate\Foundation\Application->Illuminate\Foundation\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741 +[20-Nov-2017 00:34:59 UTC] PHP 10. Illuminate\Foundation\Application->bootProvider() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:740 +[20-Nov-2017 00:34:59 UTC] PHP 11. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:757 +[20-Nov-2017 00:34:59 UTC] PHP 12. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 00:34:59 UTC] PHP 13. App\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 00:34:59 UTC] PHP 14. Illuminate\Foundation\Support\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:29 +[20-Nov-2017 00:34:59 UTC] PHP 15. Illuminate\Foundation\Support\Providers\RouteServiceProvider->loadRoutes() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:31 +[20-Nov-2017 00:34:59 UTC] PHP 16. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:72 +[20-Nov-2017 00:34:59 UTC] PHP 17. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 00:34:59 UTC] PHP 18. App\Providers\RouteServiceProvider->map() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 00:34:59 UTC] PHP 19. App\Providers\RouteServiceProvider->mapWebRoutes() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:40 +[20-Nov-2017 00:34:59 UTC] PHP 20. Illuminate\Routing\Router->group() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:59 +[20-Nov-2017 00:34:59 UTC] PHP 21. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398 +[20-Nov-2017 00:34:59 UTC] PHP 22. App\Providers\RouteServiceProvider->App\Providers\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398 +[20-Nov-2017 00:35:21 UTC] PHP Parse error: syntax error, unexpected '@', expecting ')' in /home/ubuntu/workspace/app/Http/routes.php on line 45 +[20-Nov-2017 00:35:21 UTC] PHP Stack trace: +[20-Nov-2017 00:35:21 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[20-Nov-2017 00:35:21 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[20-Nov-2017 00:35:21 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[20-Nov-2017 00:35:21 UTC] PHP 4. Illuminate\Foundation\Http\Kernel->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:127 +[20-Nov-2017 00:35:21 UTC] PHP 5. Illuminate\Foundation\Application->bootstrapWith() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:232 +[20-Nov-2017 00:35:21 UTC] PHP 6. Illuminate\Foundation\Bootstrap\BootProviders->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:203 +[20-Nov-2017 00:35:21 UTC] PHP 7. Illuminate\Foundation\Application->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17 +[20-Nov-2017 00:35:21 UTC] PHP 8. array_walk() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741 +[20-Nov-2017 00:35:21 UTC] PHP 9. Illuminate\Foundation\Application->Illuminate\Foundation\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741 +[20-Nov-2017 00:35:21 UTC] PHP 10. Illuminate\Foundation\Application->bootProvider() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:740 +[20-Nov-2017 00:35:21 UTC] PHP 11. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:757 +[20-Nov-2017 00:35:21 UTC] PHP 12. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 00:35:21 UTC] PHP 13. App\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 00:35:21 UTC] PHP 14. Illuminate\Foundation\Support\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:29 +[20-Nov-2017 00:35:21 UTC] PHP 15. Illuminate\Foundation\Support\Providers\RouteServiceProvider->loadRoutes() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:31 +[20-Nov-2017 00:35:21 UTC] PHP 16. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:72 +[20-Nov-2017 00:35:21 UTC] PHP 17. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 00:35:21 UTC] PHP 18. App\Providers\RouteServiceProvider->map() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 00:35:21 UTC] PHP 19. App\Providers\RouteServiceProvider->mapWebRoutes() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:40 +[20-Nov-2017 00:35:21 UTC] PHP 20. Illuminate\Routing\Router->group() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:59 +[20-Nov-2017 00:35:21 UTC] PHP 21. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398 +[20-Nov-2017 00:35:21 UTC] PHP 22. App\Providers\RouteServiceProvider->App\Providers\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398 +[20-Nov-2017 00:35:47 UTC] PHP Parse error: syntax error, unexpected '@', expecting ')' in /home/ubuntu/workspace/app/Http/routes.php on line 45 +[20-Nov-2017 00:35:47 UTC] PHP Stack trace: +[20-Nov-2017 00:35:47 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[20-Nov-2017 00:35:47 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[20-Nov-2017 00:35:47 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[20-Nov-2017 00:35:47 UTC] PHP 4. Illuminate\Foundation\Http\Kernel->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:127 +[20-Nov-2017 00:35:47 UTC] PHP 5. Illuminate\Foundation\Application->bootstrapWith() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:232 +[20-Nov-2017 00:35:47 UTC] PHP 6. Illuminate\Foundation\Bootstrap\BootProviders->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:203 +[20-Nov-2017 00:35:47 UTC] PHP 7. Illuminate\Foundation\Application->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17 +[20-Nov-2017 00:35:47 UTC] PHP 8. array_walk() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741 +[20-Nov-2017 00:35:47 UTC] PHP 9. Illuminate\Foundation\Application->Illuminate\Foundation\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741 +[20-Nov-2017 00:35:47 UTC] PHP 10. Illuminate\Foundation\Application->bootProvider() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:740 +[20-Nov-2017 00:35:47 UTC] PHP 11. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:757 +[20-Nov-2017 00:35:47 UTC] PHP 12. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 00:35:47 UTC] PHP 13. App\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 00:35:47 UTC] PHP 14. Illuminate\Foundation\Support\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:29 +[20-Nov-2017 00:35:47 UTC] PHP 15. Illuminate\Foundation\Support\Providers\RouteServiceProvider->loadRoutes() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:31 +[20-Nov-2017 00:35:47 UTC] PHP 16. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:72 +[20-Nov-2017 00:35:47 UTC] PHP 17. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 00:35:47 UTC] PHP 18. App\Providers\RouteServiceProvider->map() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 00:35:47 UTC] PHP 19. App\Providers\RouteServiceProvider->mapWebRoutes() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:40 +[20-Nov-2017 00:35:47 UTC] PHP 20. Illuminate\Routing\Router->group() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:59 +[20-Nov-2017 00:35:47 UTC] PHP 21. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398 +[20-Nov-2017 00:35:47 UTC] PHP 22. App\Providers\RouteServiceProvider->App\Providers\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398 +[20-Nov-2017 00:46:19 UTC] PHP Parse error: syntax error, unexpected '->' (T_OBJECT_OPERATOR) in /home/ubuntu/workspace/app/Http/routes.php on line 36 +[20-Nov-2017 00:46:19 UTC] PHP Stack trace: +[20-Nov-2017 00:46:19 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[20-Nov-2017 00:46:19 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[20-Nov-2017 00:46:19 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[20-Nov-2017 00:46:19 UTC] PHP 4. Illuminate\Foundation\Http\Kernel->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:127 +[20-Nov-2017 00:46:19 UTC] PHP 5. Illuminate\Foundation\Application->bootstrapWith() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:232 +[20-Nov-2017 00:46:19 UTC] PHP 6. Illuminate\Foundation\Bootstrap\BootProviders->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:203 +[20-Nov-2017 00:46:19 UTC] PHP 7. Illuminate\Foundation\Application->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17 +[20-Nov-2017 00:46:19 UTC] PHP 8. array_walk() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741 +[20-Nov-2017 00:46:19 UTC] PHP 9. Illuminate\Foundation\Application->Illuminate\Foundation\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741 +[20-Nov-2017 00:46:19 UTC] PHP 10. Illuminate\Foundation\Application->bootProvider() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:740 +[20-Nov-2017 00:46:19 UTC] PHP 11. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:757 +[20-Nov-2017 00:46:19 UTC] PHP 12. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 00:46:19 UTC] PHP 13. App\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 00:46:19 UTC] PHP 14. Illuminate\Foundation\Support\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:29 +[20-Nov-2017 00:46:19 UTC] PHP 15. Illuminate\Foundation\Support\Providers\RouteServiceProvider->loadRoutes() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:31 +[20-Nov-2017 00:46:19 UTC] PHP 16. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:72 +[20-Nov-2017 00:46:19 UTC] PHP 17. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 00:46:19 UTC] PHP 18. App\Providers\RouteServiceProvider->map() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 00:46:19 UTC] PHP 19. App\Providers\RouteServiceProvider->mapWebRoutes() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:40 +[20-Nov-2017 00:46:19 UTC] PHP 20. Illuminate\Routing\Router->group() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:59 +[20-Nov-2017 00:46:19 UTC] PHP 21. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398 +[20-Nov-2017 00:46:19 UTC] PHP 22. App\Providers\RouteServiceProvider->App\Providers\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398 +[20-Nov-2017 00:46:21 UTC] PHP Parse error: syntax error, unexpected '->' (T_OBJECT_OPERATOR) in /home/ubuntu/workspace/app/Http/routes.php on line 36 +[20-Nov-2017 00:46:21 UTC] PHP Stack trace: +[20-Nov-2017 00:46:21 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[20-Nov-2017 00:46:21 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[20-Nov-2017 00:46:21 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[20-Nov-2017 00:46:21 UTC] PHP 4. Illuminate\Foundation\Http\Kernel->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:127 +[20-Nov-2017 00:46:21 UTC] PHP 5. Illuminate\Foundation\Application->bootstrapWith() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:232 +[20-Nov-2017 00:46:21 UTC] PHP 6. Illuminate\Foundation\Bootstrap\BootProviders->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:203 +[20-Nov-2017 00:46:21 UTC] PHP 7. Illuminate\Foundation\Application->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17 +[20-Nov-2017 00:46:21 UTC] PHP 8. array_walk() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741 +[20-Nov-2017 00:46:21 UTC] PHP 9. Illuminate\Foundation\Application->Illuminate\Foundation\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741 +[20-Nov-2017 00:46:21 UTC] PHP 10. Illuminate\Foundation\Application->bootProvider() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:740 +[20-Nov-2017 00:46:21 UTC] PHP 11. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:757 +[20-Nov-2017 00:46:21 UTC] PHP 12. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 00:46:21 UTC] PHP 13. App\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 00:46:21 UTC] PHP 14. Illuminate\Foundation\Support\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:29 +[20-Nov-2017 00:46:21 UTC] PHP 15. Illuminate\Foundation\Support\Providers\RouteServiceProvider->loadRoutes() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:31 +[20-Nov-2017 00:46:21 UTC] PHP 16. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:72 +[20-Nov-2017 00:46:21 UTC] PHP 17. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 00:46:21 UTC] PHP 18. App\Providers\RouteServiceProvider->map() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 00:46:21 UTC] PHP 19. App\Providers\RouteServiceProvider->mapWebRoutes() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:40 +[20-Nov-2017 00:46:21 UTC] PHP 20. Illuminate\Routing\Router->group() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:59 +[20-Nov-2017 00:46:21 UTC] PHP 21. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398 +[20-Nov-2017 00:46:21 UTC] PHP 22. App\Providers\RouteServiceProvider->App\Providers\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398 +[20-Nov-2017 01:02:22 UTC] PHP Fatal error: Class 'Product' not found in /home/ubuntu/workspace/app/Http/routes.php on line 54 +[20-Nov-2017 01:02:22 UTC] PHP Stack trace: +[20-Nov-2017 01:02:22 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[20-Nov-2017 01:02:22 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[20-Nov-2017 01:02:22 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[20-Nov-2017 01:02:22 UTC] PHP 4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132 +[20-Nov-2017 01:02:22 UTC] PHP 5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 01:02:22 UTC] PHP 6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 01:02:22 UTC] PHP 7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:02:22 UTC] PHP 8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:02:22 UTC] PHP 9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:02:22 UTC] PHP 10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:02:22 UTC] PHP 11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44 +[20-Nov-2017 01:02:22 UTC] PHP 12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 01:02:22 UTC] PHP 13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 01:02:22 UTC] PHP 14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246 +[20-Nov-2017 01:02:22 UTC] PHP 15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675 +[20-Nov-2017 01:02:22 UTC] PHP 16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699 +[20-Nov-2017 01:02:22 UTC] PHP 17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726 +[20-Nov-2017 01:02:22 UTC] PHP 18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 01:02:22 UTC] PHP 19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 01:02:22 UTC] PHP 20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:02:22 UTC] PHP 21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:02:22 UTC] PHP 22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:02:22 UTC] PHP 23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:02:22 UTC] PHP 24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 +[20-Nov-2017 01:02:22 UTC] PHP 25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:02:22 UTC] PHP 26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:02:22 UTC] PHP 27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:02:22 UTC] PHP 28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:02:22 UTC] PHP 29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 +[20-Nov-2017 01:02:22 UTC] PHP 30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:02:22 UTC] PHP 31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:02:22 UTC] PHP 32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:02:22 UTC] PHP 33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:02:22 UTC] PHP 34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 +[20-Nov-2017 01:02:22 UTC] PHP 35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:02:22 UTC] PHP 36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:02:22 UTC] PHP 37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:02:22 UTC] PHP 38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:02:22 UTC] PHP 39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 +[20-Nov-2017 01:02:22 UTC] PHP 40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:02:22 UTC] PHP 41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:02:22 UTC] PHP 42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:02:22 UTC] PHP 43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:02:22 UTC] PHP 44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64 +[20-Nov-2017 01:02:22 UTC] PHP 45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 01:02:22 UTC] PHP 46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 01:02:22 UTC] PHP 47. Illuminate\Routing\Route->run() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:724 +[20-Nov-2017 01:02:22 UTC] PHP 48. Illuminate\Routing\Route->runCallable() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:137 +[20-Nov-2017 01:02:22 UTC] PHP 49. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158 +[20-Nov-2017 01:02:22 UTC] PHP 50. App\Providers\RouteServiceProvider->{closure:/home/ubuntu/workspace/app/Http/routes.php:46-63}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158 +[20-Nov-2017 01:06:39 UTC] PHP Fatal error: Class 'Categorie' not found in /home/ubuntu/workspace/app/Http/routes.php on line 58 +[20-Nov-2017 01:06:39 UTC] PHP Stack trace: +[20-Nov-2017 01:06:39 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[20-Nov-2017 01:06:39 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[20-Nov-2017 01:06:39 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[20-Nov-2017 01:06:39 UTC] PHP 4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132 +[20-Nov-2017 01:06:39 UTC] PHP 5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 01:06:39 UTC] PHP 6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 01:06:39 UTC] PHP 7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:06:39 UTC] PHP 8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:06:39 UTC] PHP 9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:06:39 UTC] PHP 10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:06:39 UTC] PHP 11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44 +[20-Nov-2017 01:06:39 UTC] PHP 12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 01:06:39 UTC] PHP 13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 01:06:39 UTC] PHP 14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246 +[20-Nov-2017 01:06:39 UTC] PHP 15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675 +[20-Nov-2017 01:06:39 UTC] PHP 16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699 +[20-Nov-2017 01:06:39 UTC] PHP 17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726 +[20-Nov-2017 01:06:39 UTC] PHP 18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 01:06:39 UTC] PHP 19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 01:06:39 UTC] PHP 20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:06:39 UTC] PHP 21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:06:39 UTC] PHP 22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:06:39 UTC] PHP 23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:06:39 UTC] PHP 24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 +[20-Nov-2017 01:06:39 UTC] PHP 25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:06:39 UTC] PHP 26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:06:39 UTC] PHP 27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:06:39 UTC] PHP 28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:06:39 UTC] PHP 29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 +[20-Nov-2017 01:06:39 UTC] PHP 30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:06:39 UTC] PHP 31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:06:39 UTC] PHP 32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:06:39 UTC] PHP 33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:06:39 UTC] PHP 34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 +[20-Nov-2017 01:06:39 UTC] PHP 35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:06:39 UTC] PHP 36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:06:39 UTC] PHP 37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:06:39 UTC] PHP 38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:06:39 UTC] PHP 39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 +[20-Nov-2017 01:06:39 UTC] PHP 40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:06:39 UTC] PHP 41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:06:39 UTC] PHP 42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:06:39 UTC] PHP 43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:06:39 UTC] PHP 44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64 +[20-Nov-2017 01:06:39 UTC] PHP 45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 01:06:39 UTC] PHP 46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 01:06:39 UTC] PHP 47. Illuminate\Routing\Route->run() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:724 +[20-Nov-2017 01:06:39 UTC] PHP 48. Illuminate\Routing\Route->runCallable() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:137 +[20-Nov-2017 01:06:39 UTC] PHP 49. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158 +[20-Nov-2017 01:06:39 UTC] PHP 50. App\Providers\RouteServiceProvider->{closure:/home/ubuntu/workspace/app/Http/routes.php:46-62}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158 +[20-Nov-2017 01:06:41 UTC] PHP Fatal error: Class 'Categorie' not found in /home/ubuntu/workspace/app/Http/routes.php on line 58 +[20-Nov-2017 01:06:41 UTC] PHP Stack trace: +[20-Nov-2017 01:06:41 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[20-Nov-2017 01:06:41 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[20-Nov-2017 01:06:41 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[20-Nov-2017 01:06:41 UTC] PHP 4. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:132 +[20-Nov-2017 01:06:41 UTC] PHP 5. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 01:06:41 UTC] PHP 6. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 01:06:41 UTC] PHP 7. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:06:41 UTC] PHP 8. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:06:41 UTC] PHP 9. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:06:41 UTC] PHP 10. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:06:41 UTC] PHP 11. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:44 +[20-Nov-2017 01:06:41 UTC] PHP 12. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 01:06:41 UTC] PHP 13. Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 01:06:41 UTC] PHP 14. Illuminate\Routing\Router->dispatch() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:246 +[20-Nov-2017 01:06:41 UTC] PHP 15. Illuminate\Routing\Router->dispatchToRoute() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:675 +[20-Nov-2017 01:06:41 UTC] PHP 16. Illuminate\Routing\Router->runRouteWithinStack() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:699 +[20-Nov-2017 01:06:41 UTC] PHP 17. Illuminate\Pipeline\Pipeline->then() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:726 +[20-Nov-2017 01:06:41 UTC] PHP 18. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 01:06:41 UTC] PHP 19. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 +[20-Nov-2017 01:06:41 UTC] PHP 20. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:06:41 UTC] PHP 21. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:06:41 UTC] PHP 22. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:06:41 UTC] PHP 23. Illuminate\Cookie\Middleware\EncryptCookies->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:06:41 UTC] PHP 24. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 +[20-Nov-2017 01:06:41 UTC] PHP 25. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:06:41 UTC] PHP 26. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:06:41 UTC] PHP 27. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:06:41 UTC] PHP 28. Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:06:41 UTC] PHP 29. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 +[20-Nov-2017 01:06:41 UTC] PHP 30. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:06:41 UTC] PHP 31. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:06:41 UTC] PHP 32. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:06:41 UTC] PHP 33. Illuminate\Session\Middleware\StartSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:06:41 UTC] PHP 34. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 +[20-Nov-2017 01:06:41 UTC] PHP 35. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:06:41 UTC] PHP 36. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:06:41 UTC] PHP 37. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:06:41 UTC] PHP 38. Illuminate\View\Middleware\ShareErrorsFromSession->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:06:41 UTC] PHP 39. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 +[20-Nov-2017 01:06:41 UTC] PHP 40. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:06:41 UTC] PHP 41. Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +[20-Nov-2017 01:06:41 UTC] PHP 42. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:06:41 UTC] PHP 43. Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:136 +[20-Nov-2017 01:06:41 UTC] PHP 44. Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:64 +[20-Nov-2017 01:06:41 UTC] PHP 45. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 01:06:41 UTC] PHP 46. Illuminate\Routing\Router->Illuminate\Routing\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52 +[20-Nov-2017 01:06:41 UTC] PHP 47. Illuminate\Routing\Route->run() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:724 +[20-Nov-2017 01:06:41 UTC] PHP 48. Illuminate\Routing\Route->runCallable() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:137 +[20-Nov-2017 01:06:41 UTC] PHP 49. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158 +[20-Nov-2017 01:06:41 UTC] PHP 50. App\Providers\RouteServiceProvider->{closure:/home/ubuntu/workspace/app/Http/routes.php:46-62}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158 +[20-Nov-2017 01:14:41 UTC] PHP Parse error: syntax error, unexpected ':' in /home/ubuntu/workspace/app/Http/routes.php on line 35 +[20-Nov-2017 01:14:41 UTC] PHP Stack trace: +[20-Nov-2017 01:14:41 UTC] PHP 1. {main}() /home/ubuntu/workspace/public/index.php:0 +[20-Nov-2017 01:14:41 UTC] PHP 2. Illuminate\Foundation\Http\Kernel->handle() /home/ubuntu/workspace/public/index.php:54 +[20-Nov-2017 01:14:41 UTC] PHP 3. Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:99 +[20-Nov-2017 01:14:41 UTC] PHP 4. Illuminate\Foundation\Http\Kernel->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:127 +[20-Nov-2017 01:14:41 UTC] PHP 5. Illuminate\Foundation\Application->bootstrapWith() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:232 +[20-Nov-2017 01:14:41 UTC] PHP 6. Illuminate\Foundation\Bootstrap\BootProviders->bootstrap() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:203 +[20-Nov-2017 01:14:41 UTC] PHP 7. Illuminate\Foundation\Application->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17 +[20-Nov-2017 01:14:41 UTC] PHP 8. array_walk() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741 +[20-Nov-2017 01:14:41 UTC] PHP 9. Illuminate\Foundation\Application->Illuminate\Foundation\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:741 +[20-Nov-2017 01:14:41 UTC] PHP 10. Illuminate\Foundation\Application->bootProvider() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:740 +[20-Nov-2017 01:14:41 UTC] PHP 11. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:757 +[20-Nov-2017 01:14:41 UTC] PHP 12. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 01:14:41 UTC] PHP 13. App\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 01:14:41 UTC] PHP 14. Illuminate\Foundation\Support\Providers\RouteServiceProvider->boot() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:29 +[20-Nov-2017 01:14:41 UTC] PHP 15. Illuminate\Foundation\Support\Providers\RouteServiceProvider->loadRoutes() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:31 +[20-Nov-2017 01:14:41 UTC] PHP 16. Illuminate\Container\Container->call() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php:72 +[20-Nov-2017 01:14:41 UTC] PHP 17. call_user_func_array:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 01:14:41 UTC] PHP 18. App\Providers\RouteServiceProvider->map() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Container/Container.php:507 +[20-Nov-2017 01:14:41 UTC] PHP 19. App\Providers\RouteServiceProvider->mapWebRoutes() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:40 +[20-Nov-2017 01:14:41 UTC] PHP 20. Illuminate\Routing\Router->group() /home/ubuntu/workspace/app/Providers/RouteServiceProvider.php:59 +[20-Nov-2017 01:14:41 UTC] PHP 21. call_user_func:{/home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398 +[20-Nov-2017 01:14:41 UTC] PHP 22. App\Providers\RouteServiceProvider->App\Providers\{closure}() /home/ubuntu/workspace/vendor/laravel/framework/src/Illuminate/Routing/Router.php:398 diff --git a/workspace/phpunit.xml b/workspace/phpunit.xml new file mode 100644 index 0000000..3e884d1 --- /dev/null +++ b/workspace/phpunit.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?> +<phpunit backupGlobals="false" + backupStaticAttributes="false" + bootstrap="bootstrap/autoload.php" + colors="true" + convertErrorsToExceptions="true" + convertNoticesToExceptions="true" + convertWarningsToExceptions="true" + processIsolation="false" + stopOnFailure="false"> + <testsuites> + <testsuite name="Application Test Suite"> + <directory suffix="Test.php">./tests</directory> + </testsuite> + </testsuites> + <filter> + <whitelist processUncoveredFilesFromWhitelist="true"> + <directory suffix=".php">./app</directory> + <exclude> + <file>./app/Http/routes.php</file> + </exclude> + </whitelist> + </filter> + <php> + <env name="APP_ENV" value="testing"/> + <env name="CACHE_DRIVER" value="array"/> + <env name="SESSION_DRIVER" value="array"/> + <env name="QUEUE_DRIVER" value="sync"/> + </php> +</phpunit> diff --git a/workspace/public/.htaccess b/workspace/public/.htaccess new file mode 100644 index 0000000..903f639 --- /dev/null +++ b/workspace/public/.htaccess @@ -0,0 +1,20 @@ +<IfModule mod_rewrite.c> + <IfModule mod_negotiation.c> + Options -MultiViews + </IfModule> + + RewriteEngine On + + # Redirect Trailing Slashes If Not A Folder... + RewriteCond %{REQUEST_FILENAME} !-d + RewriteRule ^(.*)/$ /$1 [L,R=301] + + # Handle Front Controller... + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_FILENAME} !-f + RewriteRule ^ index.php [L] + + # Handle Authorization Header + RewriteCond %{HTTP:Authorization} . + RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] +</IfModule> diff --git a/workspace/public/css/app.css b/workspace/public/css/app.css new file mode 100644 index 0000000..792058e --- /dev/null +++ b/workspace/public/css/app.css @@ -0,0 +1,5 @@ +@import url(https://fonts.googleapis.com/css?family=Raleway:300,400,600);@charset "UTF-8";/*! + * Bootstrap v3.3.7 (http://getbootstrap.com) + * Copyright 2011-2016 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 */.label,sub,sup{vertical-align:baseline}hr,img{border:0}body,figure{margin:0}.btn-group>.btn-group,.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group,.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,.dropdown-menu{float:left}.img-responsive,.img-thumbnail,.table,label{max-width:100%}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.pre-scrollable{max-height:340px}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}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}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{background:#ff0;color:#000}sub,sup{font-size:75%;line-height:0;position:relative}sup{top:-.5em}sub{bottom:-.25em}img{vertical-align:middle}svg:not(:root){overflow:hidden}hr{box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}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{border:0;padding:0}input[type=checkbox],input[type=radio]{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-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{blockquote,img,pre,tr{page-break-inside:avoid}*,:after,:before{background:0 0!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999}thead{display:table-header-group}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}}.btn,.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-warning.active,.btn-warning:active,.btn.active,.btn:active,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover,.form-control,.navbar-toggle,.open>.btn-danger.dropdown-toggle,.open>.btn-default.dropdown-toggle,.open>.btn-info.dropdown-toggle,.open>.btn-primary.dropdown-toggle,.open>.btn-warning.dropdown-toggle{background-image:none}.img-thumbnail,body{background-color:#f5f8fa}@font-face{font-family:'Glyphicons Halflings';src:url(/fonts/vendor/bootstrap-sass/bootstrap/glyphicons-halflings-regular.eot?f4769f9bdb7466be65088239c12046d1);src:url(/fonts/vendor/bootstrap-sass/bootstrap/glyphicons-halflings-regular.eot?f4769f9bdb7466be65088239c12046d1?#iefix) format("embedded-opentype"),url(/fonts/vendor/bootstrap-sass/bootstrap/glyphicons-halflings-regular.woff2?448c34a56d699c29117adc64c43affeb) format("woff2"),url(/fonts/vendor/bootstrap-sass/bootstrap/glyphicons-halflings-regular.woff?fa2772327f55d8198301fdb8bcfc8158) format("woff"),url(/fonts/vendor/bootstrap-sass/bootstrap/glyphicons-halflings-regular.ttf?e18bbf611f2a2e43afc071aa2f4e1512) format("truetype"),url(/fonts/vendor/bootstrap-sass/bootstrap/glyphicons-halflings-regular.svg?89889688147bd7575d6327160d64e760#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,.glyphicon-btc:before,.glyphicon-xbt:before{content:"\e227"}.glyphicon-jpy:before,.glyphicon-yen:before{content:"\00a5"}.glyphicon-rub:before,.glyphicon-ruble: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"}*,:after,:before{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:Raleway,sans-serif;font-size:14px;line-height:1.6;color:#636b6f}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#3097D1;text-decoration:none}a:focus,a:hover{color:#216a94;text-decoration:underline}a:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.img-responsive{display:block;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.6;border:1px solid #ddd;border-radius:4px;transition:all .2s ease-in-out;display:inline-block;height:auto}.img-circle{border-radius:50%}hr{margin-top:22px;margin-bottom:22px;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;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:22px;margin-bottom:11px}.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:11px;margin-bottom:11px}.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 11px}.lead{margin-bottom:22px;font-size:16px;font-weight:300;line-height:1.4}dt,kbd kbd,label{font-weight:700}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{background-color:#fcf8e3;padding:.2em}.list-inline,.list-unstyled{padding-left:0;list-style:none}.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}.initialism,.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#3097D1}a.text-primary:focus,a.text-primary:hover{color:#2579a9}.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:#3097D1}a.bg-primary:focus,a.bg-primary:hover{background-color:#2579a9}.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}pre code,table{background-color:transparent}.page-header{padding-bottom:10px;margin:44px 0 22px;border-bottom:1px solid #eee}dl,ol,ul{margin-top:0}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child,ol ol,ol ul,ul ol,ul ul{margin-bottom:0}address,dl{margin-bottom:22px}ol,ul{margin-bottom:11px}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dd,dt{line-height:1.6}dd{margin-left:0}.dl-horizontal dd:after,.dl-horizontal dd:before{content:" ";display:table}.dl-horizontal dd:after{clear:both}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.container{width:750px}}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dropdown-menu>li>a,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%}blockquote{padding:11px 22px;margin:0 0 22px;font-size:17.5px;border-left:5px solid #eee}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.6;color:#777}legend,pre{color:#333}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}code,kbd{padding:2px 4px;font-size:90%}caption,th{text-align:left}.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{font-style:normal;line-height:1.6}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;box-shadow:none}pre{display:block;padding:10.5px;margin:0 0 11px;font-size:13px;line-height:1.6;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.container-fluid:after,.container-fluid:before,.container:after,.container:before,.row:after,.row:before{display:table;content:" "}.container,.container-fluid{margin-right:auto;margin-left:auto}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;border-radius:0}.container,.container-fluid{padding-left:15px;padding-right:15px}.pre-scrollable{overflow-y:scroll}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.row{margin-left:-15px;margin-right:-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-left:15px;padding-right:15px}.col-xs-1{width:8.33333333%}.col-xs-2{width:16.66666667%}.col-xs-3{width:25%}.col-xs-4{width:33.33333333%}.col-xs-5{width:41.66666667%}.col-xs-6{width:50%}.col-xs-7{width:58.33333333%}.col-xs-8{width:66.66666667%}.col-xs-9{width:75%}.col-xs-10{width:83.33333333%}.col-xs-11{width:91.66666667%}.col-xs-12{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:8.33333333%}.col-xs-push-2{left:16.66666667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.33333333%}.col-xs-push-5{left:41.66666667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.33333333%}.col-xs-push-8{left:66.66666667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.33333333%}.col-xs-push-11{left:91.66666667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-12{margin-left:100%}@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-1{width:8.33333333%}.col-sm-2{width:16.66666667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333333%}.col-sm-5{width:41.66666667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333333%}.col-sm-8{width:66.66666667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333333%}.col-sm-11{width:91.66666667%}.col-sm-12{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:8.33333333%}.col-sm-push-2{left:16.66666667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.33333333%}.col-sm-push-5{left:41.66666667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.33333333%}.col-sm-push-8{left:66.66666667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.33333333%}.col-sm-push-11{left:91.66666667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-12{margin-left:100%}}@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-1{width:8.33333333%}.col-md-2{width:16.66666667%}.col-md-3{width:25%}.col-md-4{width:33.33333333%}.col-md-5{width:41.66666667%}.col-md-6{width:50%}.col-md-7{width:58.33333333%}.col-md-8{width:66.66666667%}.col-md-9{width:75%}.col-md-10{width:83.33333333%}.col-md-11{width:91.66666667%}.col-md-12{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.33333333%}.col-md-pull-2{right:16.66666667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.33333333%}.col-md-pull-5{right:41.66666667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.33333333%}.col-md-pull-8{right:66.66666667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.33333333%}.col-md-pull-11{right:91.66666667%}.col-md-pull-12{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.33333333%}.col-md-push-2{left:16.66666667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.33333333%}.col-md-push-5{left:41.66666667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.33333333%}.col-md-push-8{left:66.66666667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.33333333%}.col-md-push-11{left:91.66666667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-12{margin-left:100%}}@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-1{width:8.33333333%}.col-lg-2{width:16.66666667%}.col-lg-3{width:25%}.col-lg-4{width:33.33333333%}.col-lg-5{width:41.66666667%}.col-lg-6{width:50%}.col-lg-7{width:58.33333333%}.col-lg-8{width:66.66666667%}.col-lg-9{width:75%}.col-lg-10{width:83.33333333%}.col-lg-11{width:91.66666667%}.col-lg-12{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.33333333%}.col-lg-push-2{left:16.66666667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.33333333%}.col-lg-push-5{left:41.66666667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.33333333%}.col-lg-push-8{left:66.66666667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.33333333%}.col-lg-push-11{left:91.66666667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-12{margin-left:100%}}caption{padding-top:8px;padding-bottom:8px;color:#777}.table{width:100%;margin-bottom:22px}.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.6;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:#f5f8fa}.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,.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,.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 col[class*=col-]{position:static;float:none;display:table-column}table td[class*=col-],table th[class*=col-]{position:static;float:none;display:table-cell}.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{overflow-x:auto;min-height:.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:16.5px;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,legend{padding:0;border:0}fieldset{margin:0;min-width:0}legend{display:block;width:100%;margin-bottom:22px;font-size:21px;line-height:inherit;border-bottom:1px solid #e5e5e5}label{display:inline-block;margin-bottom:5px}input[type=search]{box-sizing:border-box;-webkit-appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}.form-control,output{font-size:14px;line-height:1.6;color:#555;display:block}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:-webkit-focus-ring-color auto 5px;outline-offset:-2px}output{padding-top:7px}.form-control{width:100%;height:36px;padding:6px 12px;background-color:#fff;border:1px solid #ccd0d2;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#98cbe8;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(152,203,232,.6)}.form-control::-moz-placeholder{color:#b1b7ba;opacity:1}.form-control:-ms-input-placeholder{color:#b1b7ba}.form-control::-webkit-input-placeholder{color:#b1b7ba}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .form-control-feedback,.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}.form-control::-ms-expand{border:0;background-color:transparent}.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}@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:36px}.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-group-sm>.input-group-btn>input[type=date].btn,.input-group-sm>.input-group-btn>input[type=time].btn,.input-group-sm>.input-group-btn>input[type=datetime-local].btn,.input-group-sm>.input-group-btn>input[type=month].btn,.input-group-sm>input[type=date].form-control,.input-group-sm>input[type=date].input-group-addon,.input-group-sm>input[type=time].form-control,.input-group-sm>input[type=time].input-group-addon,.input-group-sm>input[type=datetime-local].form-control,.input-group-sm>input[type=datetime-local].input-group-addon,.input-group-sm>input[type=month].form-control,.input-group-sm>input[type=month].input-group-addon,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-group-lg>.input-group-btn>input[type=date].btn,.input-group-lg>.input-group-btn>input[type=time].btn,.input-group-lg>.input-group-btn>input[type=datetime-local].btn,.input-group-lg>.input-group-btn>input[type=month].btn,.input-group-lg>input[type=date].form-control,.input-group-lg>input[type=date].input-group-addon,.input-group-lg>input[type=time].form-control,.input-group-lg>input[type=time].input-group-addon,.input-group-lg>input[type=datetime-local].form-control,.input-group-lg>input[type=datetime-local].input-group-addon,.input-group-lg>input[type=month].form-control,.input-group-lg>input[type=month].input-group-addon,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:22px;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-left:-20px;margin-top:4px\9}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio label,fieldset[disabled] .radio-inline,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}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:36px}.form-control-static.input-lg,.form-control-static.input-sm,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-left:0;padding-right:0}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn,.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.input-group-sm>.input-group-btn>select.btn,.input-group-sm>select.form-control,.input-group-sm>select.input-group-addon,select.input-sm{height:30px;line-height:30px}.input-group-sm>.input-group-btn>select[multiple].btn,.input-group-sm>.input-group-btn>textarea.btn,.input-group-sm>select[multiple].form-control,.input-group-sm>select[multiple].input-group-addon,.input-group-sm>textarea.form-control,.input-group-sm>textarea.input-group-addon,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:34px;padding:6px 10px;font-size:12px;line-height:1.5}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn,.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.input-group-lg>.input-group-btn>select.btn,.input-group-lg>select.form-control,.input-group-lg>select.input-group-addon,select.input-lg{height:46px;line-height:46px}.input-group-lg>.input-group-btn>select[multiple].btn,.input-group-lg>.input-group-btn>textarea.btn,.input-group-lg>select[multiple].form-control,.input-group-lg>select[multiple].input-group-addon,.input-group-lg>textarea.form-control,.input-group-lg>textarea.input-group-addon,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:40px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:45px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:36px;height:36px;line-height:36px;text-align:center;pointer-events:none}.collapsing,.dropdown,.dropup{position:relative}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-group-lg>.form-control+.form-control-feedback,.input-group-lg>.input-group-addon+.form-control-feedback,.input-group-lg>.input-group-btn>.btn+.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-group-sm>.form-control+.form-control-feedback,.input-group-sm>.input-group-addon+.form-control-feedback,.input-group-sm>.input-group-btn>.btn+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .form-control{border-color:#3c763d;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .form-control-feedback,.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;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .form-control-feedback,.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;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-feedback label~.form-control-feedback{top:27px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#a4aaae}@media (min-width:768px){.form-inline .form-control-static,.form-inline .form-group{display:inline-block}.form-inline .control-label,.form-inline .form-group{margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.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 .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 .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .checkbox,.form-horizontal .radio{min-height:29px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}.form-horizontal .form-group:after,.form-horizontal .form-group:before{content:" ";display:table}.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}.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.6;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#636b6f;text-decoration:none}.btn.active,.btn:active{outline:0;box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#636b6f;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#636b6f;background-color:#e6e5e5;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.btn-default:hover,.open>.btn-default.dropdown-toggle{color:#636b6f;background-color:#e6e5e5;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>.btn-default.dropdown-toggle.focus,.open>.btn-default.dropdown-toggle:focus,.open>.btn-default.dropdown-toggle:hover{color:#636b6f;background-color:#d4d4d4;border-color:#8c8c8c}.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:#636b6f}.btn-primary{color:#fff;background-color:#3097D1;border-color:#2a88bd}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#2579a9;border-color:#133d55}.btn-primary.active,.btn-primary:active,.btn-primary:hover,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#2579a9;border-color:#1f648b}.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>.btn-primary.dropdown-toggle.focus,.open>.btn-primary.dropdown-toggle:focus,.open>.btn-primary.dropdown-toggle:hover{color:#fff;background-color:#1f648b;border-color:#133d55}.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:#3097D1;border-color:#2a88bd}.btn-primary .badge{color:#3097D1;background-color:#fff}.btn-success{color:#fff;background-color:#2ab27b;border-color:#259d6d}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#20895e;border-color:#0d3625}.btn-success.active,.btn-success:active,.btn-success:hover,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#20895e;border-color:#196c4b}.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>.btn-success.dropdown-toggle.focus,.open>.btn-success.dropdown-toggle:focus,.open>.btn-success.dropdown-toggle:hover{color:#fff;background-color:#196c4b;border-color:#0d3625}.btn-success.active,.btn-success:active,.open>.btn-success.dropdown-toggle{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:#2ab27b;border-color:#259d6d}.btn-success .badge{color:#2ab27b;background-color:#fff}.btn-info{color:#fff;background-color:#8eb4cb;border-color:#7da8c3}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#6b9dbb;border-color:#3d6983}.btn-info.active,.btn-info:active,.btn-info:hover,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#6b9dbb;border-color:#538db0}.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>.btn-info.dropdown-toggle.focus,.open>.btn-info.dropdown-toggle:focus,.open>.btn-info.dropdown-toggle:hover{color:#fff;background-color:#538db0;border-color:#3d6983}.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:#8eb4cb;border-color:#7da8c3}.btn-info .badge{color:#8eb4cb;background-color:#fff}.btn-warning{color:#fff;background-color:#cbb956;border-color:#c5b143}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#b6a338;border-color:#685d20}.btn-warning.active,.btn-warning:active,.btn-warning:hover,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#b6a338;border-color:#9b8a30}.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>.btn-warning.dropdown-toggle.focus,.open>.btn-warning.dropdown-toggle:focus,.open>.btn-warning.dropdown-toggle:hover{color:#fff;background-color:#9b8a30;border-color:#685d20}.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:#cbb956;border-color:#c5b143}.btn-warning .badge{color:#cbb956;background-color:#fff}.btn-danger{color:#fff;background-color:#bf5329;border-color:#aa4a24}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#954120;border-color:#411c0e}.btn-danger.active,.btn-danger:active,.btn-danger:hover,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#954120;border-color:#78341a}.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>.btn-danger.dropdown-toggle.focus,.open>.btn-danger.dropdown-toggle:focus,.open>.btn-danger.dropdown-toggle:hover{color:#fff;background-color:#78341a;border-color:#411c0e}.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:#bf5329;border-color:#aa4a24}.btn-danger .badge{color:#bf5329;background-color:#fff}.btn-link{color:#3097D1;font-weight:400;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#216a94;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;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{height:0;overflow:hidden;transition-property:height,visibility;transition-duration:.35s;transition-timing-function:ease}.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-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu-right,.dropdown-menu.pull-right{left:auto;right:0}.dropdown-header,.dropdown-menu>li>a{display:block;padding:3px 20px;line-height:1.6;white-space:nowrap}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle,.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child,.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child),.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn,.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.dropdown-menu .divider{height:1px;margin:10px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{font-weight:400;color:#333}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0;background-color:#3097D1}.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;background-color:transparent;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{font-size:12px;color:#777}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9;content:""}.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{left:0;right:auto}}.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:after,.btn-toolbar:before{content:" ";display:table}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn .caret,.btn-group>.btn:first-child{margin-left:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group-lg.btn-group>.btn+.dropdown-toggle,.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{box-shadow:none}.btn-group-lg>.btn .caret,.btn-lg .caret{border-width:5px 5px 0}.dropup .btn-group-lg>.btn .caret,.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:after,.btn-group-vertical>.btn-group:before{content:" ";display:table}.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:first-child:not(:last-child){border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child:not(:first-child){border-radius:0 0 4px 4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn,.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}.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-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;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,.input-group-btn,.input-group-btn>.btn{position:relative}.input-group{display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-left:0;padding-right: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 .form-control,.input-group-addon,.input-group-btn{display:table-cell}.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 #ccd0d2;border-radius:4px}.input-group-addon.input-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{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-bottom-right-radius:0;border-top-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-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{font-size:0;white-space:nowrap}.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{margin-bottom:0;padding-left:0;list-style:none}.nav:after,.nav:before{content:" ";display:table}.nav>li,.nav>li>a{display:block;position:relative}.nav:after{clear:both}.nav>li>a{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;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#3097D1}.nav .nav-divider{height:1px;margin:10px 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.6;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;background-color:#f5f8fa;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-pills>li{float:left}.nav-justified>li,.nav-stacked>li,.nav-tabs.nav-justified>li{float:none}.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:#3097D1}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified,.nav-tabs.nav-justified{width:100%}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}.nav-tabs-justified,.nav-tabs.nav-justified{border-bottom:0}.nav-tabs-justified>li>a,.nav-tabs.nav-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,.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-justified>li,.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{margin-bottom:0}.nav-tabs-justified>li>a,.nav-tabs.nav-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,.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#f5f8fa}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:22px;border:1px solid transparent}.navbar:after,.navbar:before{content:" ";display:table}.navbar-header:after,.navbar-header:before{content:" ";display:table}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse:after,.navbar-collapse:before{content:" ";display:table}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar{border-radius:4px}.navbar-header{float:left}.navbar-collapse{width:auto;border-top:0;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-left:0;padding-right:0}}.embed-responsive,.modal,.modal-open,.progress{overflow:hidden}@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}.navbar-static-top{z-index:1000;border-width:0 0 1px}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.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;padding:14px 15px;font-size:18px;line-height:22px;height:50px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@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-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;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}.navbar-nav{margin:7px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:22px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;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:22px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}.progress-bar-striped,.progress-striped .progress-bar,.progress-striped .progress-bar-danger,.progress-striped .progress-bar-info,.progress-striped .progress-bar-success,.progress-striped .progress-bar-warning{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 (min-width:768px){.navbar-toggle{display:none}.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:14px;padding-bottom:14px}}.navbar-form{padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin:7px -15px}@media (min-width:768px){.navbar-form .form-control-static,.navbar-form .form-group{display:inline-block}.navbar-form .control-label,.navbar-form .form-group{margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.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 .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}.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;box-shadow:none}}.breadcrumb>li,.pagination{display:inline-block}.btn .badge,.btn .label{top:-1px;position:relative}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-radius:4px 4px 0 0}.navbar-btn{margin-top:7px;margin-bottom:7px}.btn-group-sm>.navbar-btn.btn,.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.btn-group-xs>.navbar-btn.btn,.navbar-btn.btn-xs,.navbar-text{margin-top:14px;margin-bottom:14px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#fff;border-color:#d3e0e9}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5d5d;background-color:transparent}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{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:#eee}.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:#d3e0e9}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:#eee;color:#555}@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:#eee}.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:#090909}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{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:#090909}.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{background-color:#090909;color:#fff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#090909}.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:#090909}.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:22px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li+li:before{content:"/ ";padding:0 5px;color:#ccc}.breadcrumb>.active{color:#777}.pagination{padding-left:0;margin:22px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.6;text-decoration:none;color:#3097D1;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#216a94;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;background-color:#3097D1;border-color:#3097D1;cursor:default}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.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-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.badge,.label{font-weight:700;line-height:1;white-space:nowrap;text-align:center}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:22px 0;list-style:none;text-align:center}.pager:after,.pager:before{content:" ";display:table}.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;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;color:#fff;border-radius:.25em}.label:empty{display:none}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#3097D1}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#2579a9}.label-success{background-color:#2ab27b}.label-success[href]:focus,.label-success[href]:hover{background-color:#20895e}.label-info{background-color:#8eb4cb}.label-info[href]:focus,.label-info[href]:hover{background-color:#6b9dbb}.label-warning{background-color:#cbb956}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#b6a338}.label-danger{background-color:#bf5329}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#954120}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;color:#fff;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.media-object,.thumbnail{display:block}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#3097D1;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}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.jumbotron,.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;background-color:#eee}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.alert,.thumbnail{margin-bottom:22px}.alert .alert-link,.close{font-weight:700}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px;padding-left:15px;padding-right:15px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{padding:4px;line-height:1.6;background-color:#f5f8fa;border:1px solid #ddd;border-radius:4px;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto;margin-left:auto;margin-right:auto}.thumbnail .caption{padding:9px;color:#636b6f}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#3097D1}.alert{padding:15px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.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}.modal,.modal-backdrop{top:0;right:0;bottom:0;left:0}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.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}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:22px;margin-bottom:22px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#3097D1;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#2ab27b}.progress-bar-info{background-color:#8eb4cb}.progress-bar-warning{background-color:#cbb956}.progress-bar-danger{background-color:#bf5329}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.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{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #d3e0e9}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-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{text-decoration:none;color:#555;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{background-color:#eee;color:#777;cursor:not-allowed}.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:#3097D1;border-color:#3097D1}.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:#d7ebf6}.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}.panel-heading>.dropdown .dropdown-toggle,.panel-title,.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:22px;background-color:#fff;border:1px solid transparent;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-title,.panel>.list-group,.panel>.panel-collapse>.list-group,.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel-body{padding:15px}.panel-body:after,.panel-body:before{content:" ";display:table}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-title{margin-top:0;font-size:16px}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #d3e0e9;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel-group .panel-heading,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.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-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>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,.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-responsive:last-child>.table:last-child,.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,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.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-right-radius:3px;border-top-left-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-right-radius:0;border-top-left-radius:0}.panel>.table-responsive:first-child>.table:first-child,.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,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-left:15px;padding-right:15px}.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>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-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:22px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #d3e0e9}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #d3e0e9}.panel-default{border-color:#d3e0e9}.panel-default>.panel-heading{color:#333;background-color:#fff;border-color:#d3e0e9}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d3e0e9}.panel-default>.panel-heading .badge{color:#fff;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d3e0e9}.panel-primary{border-color:#3097D1}.panel-primary>.panel-heading{color:#fff;background-color:#3097D1;border-color:#3097D1}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#3097D1}.panel-primary>.panel-heading .badge{color:#3097D1;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#3097D1}.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}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width: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;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;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.popover,.tooltip{font-family:Raleway,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.6;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;text-decoration:none}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.modal-content,.popover{background-clip:padding-box}.modal{display:none;position:fixed;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before{display:table;content:" "}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);transform:translate(0,-25%);transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out}.modal.in .modal-dialog{-webkit-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;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0}.modal-backdrop{position:fixed;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.6}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.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{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;text-align:left;text-align:start;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.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,.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{bottom:0;border-width:5px 5px 0;border-top-color:#000}.tooltip.top .tooltip-arrow{left:50%;margin-left:-5px}.tooltip.top-left .tooltip-arrow{right:5px;margin-bottom:-5px}.tooltip.top-right .tooltip-arrow{left:5px;margin-bottom:-5px}.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,.tooltip.bottom-left .tooltip-arrow,.tooltip.bottom-right .tooltip-arrow{border-width:0 5px 5px;border-bottom-color:#000;top:0}.tooltip.bottom .tooltip-arrow{left:50%;margin-left:-5px}.tooltip.bottom-left .tooltip-arrow{right:5px;margin-top:-5px}.tooltip.bottom-right .tooltip-arrow{left:5px;margin-top:-5px}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;text-align:left;text-align:start;font-size:14px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 5px 10px rgba(0,0,0,.2)}.carousel-caption,.carousel-control{color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;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}.carousel,.carousel-inner{position:relative}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.left>.arrow:after,.popover.right>.arrow:after{content:" ";bottom:-10px}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}.popover.right>.arrow:after{left:1px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;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;border-right-width:0;border-left-color:#fff}.carousel-inner{overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{display:block;max-width:100%;height:auto;line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-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{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left: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;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;background-color:transparent}.carousel-control.left{background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:focus,.carousel-control:hover{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.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;line-height:1;font-family:serif}.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%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000\9;background-color:transparent}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px}.carousel-caption .btn,.text-hide{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{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:after,.clearfix:before{content:" ";display:table}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.hidden,.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;background-color:transparent;border:0}.affix{position:fixed}@-ms-viewport{width:device-width}@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}.visible-xs-block{display:block!important}.visible-xs-inline{display:inline!important}.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}.visible-sm-block{display:block!important}.visible-sm-inline{display:inline!important}.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}.visible-md-block{display:block!important}.visible-md-inline{display:inline!important}.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}.visible-lg-block{display:block!important}.visible-lg-inline{display:inline!important}.visible-lg-inline-block{display:inline-block!important}.hidden-lg{display:none!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}}.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}.hidden-print{display:none!important}} \ No newline at end of file diff --git a/workspace/public/css/bootstrap-grid.css b/workspace/public/css/bootstrap-grid.css new file mode 100644 index 0000000..bcd4f33 --- /dev/null +++ b/workspace/public/css/bootstrap-grid.css @@ -0,0 +1,1567 @@ +/*! + * Bootstrap Grid v4.0.0-beta.2 (https://getbootstrap.com) + * Copyright 2011-2017 The Bootstrap Authors + * Copyright 2011-2017 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +@-ms-viewport { + width: device-width; +} + +html { + box-sizing: border-box; + -ms-overflow-style: scrollbar; +} + +*, +*::before, +*::after { + box-sizing: inherit; +} + +.container { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container { + max-width: 1140px; + } +} + +.container-fluid { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +.row { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} + +.no-gutters { + margin-right: 0; + margin-left: 0; +} + +.no-gutters > .col, +.no-gutters > [class*="col-"] { + padding-right: 0; + padding-left: 0; +} + +.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, +.col-auto, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, +.col-sm-auto, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, +.col-md-auto, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, +.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, +.col-xl-auto { + position: relative; + width: 100%; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; +} + +.col { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; +} + +.col-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; +} + +.col-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; +} + +.col-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; +} + +.col-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.col-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; +} + +.col-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; +} + +.col-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; +} + +.col-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; +} + +.col-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; +} + +.col-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; +} + +.col-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; +} + +.col-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} + +.order-first { + -ms-flex-order: -1; + order: -1; +} + +.order-1 { + -ms-flex-order: 1; + order: 1; +} + +.order-2 { + -ms-flex-order: 2; + order: 2; +} + +.order-3 { + -ms-flex-order: 3; + order: 3; +} + +.order-4 { + -ms-flex-order: 4; + order: 4; +} + +.order-5 { + -ms-flex-order: 5; + order: 5; +} + +.order-6 { + -ms-flex-order: 6; + order: 6; +} + +.order-7 { + -ms-flex-order: 7; + order: 7; +} + +.order-8 { + -ms-flex-order: 8; + order: 8; +} + +.order-9 { + -ms-flex-order: 9; + order: 9; +} + +.order-10 { + -ms-flex-order: 10; + order: 10; +} + +.order-11 { + -ms-flex-order: 11; + order: 11; +} + +.order-12 { + -ms-flex-order: 12; + order: 12; +} + +.offset-1 { + margin-left: 8.333333%; +} + +.offset-2 { + margin-left: 16.666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.333333%; +} + +.offset-5 { + margin-left: 41.666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.333333%; +} + +.offset-8 { + margin-left: 66.666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.333333%; +} + +.offset-11 { + margin-left: 91.666667%; +} + +@media (min-width: 576px) { + .col-sm { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-sm-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-sm-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-sm-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-sm-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-sm-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-sm-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-sm-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-sm-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-sm-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-sm-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-sm-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-sm-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-sm-first { + -ms-flex-order: -1; + order: -1; + } + .order-sm-1 { + -ms-flex-order: 1; + order: 1; + } + .order-sm-2 { + -ms-flex-order: 2; + order: 2; + } + .order-sm-3 { + -ms-flex-order: 3; + order: 3; + } + .order-sm-4 { + -ms-flex-order: 4; + order: 4; + } + .order-sm-5 { + -ms-flex-order: 5; + order: 5; + } + .order-sm-6 { + -ms-flex-order: 6; + order: 6; + } + .order-sm-7 { + -ms-flex-order: 7; + order: 7; + } + .order-sm-8 { + -ms-flex-order: 8; + order: 8; + } + .order-sm-9 { + -ms-flex-order: 9; + order: 9; + } + .order-sm-10 { + -ms-flex-order: 10; + order: 10; + } + .order-sm-11 { + -ms-flex-order: 11; + order: 11; + } + .order-sm-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.333333%; + } + .offset-sm-2 { + margin-left: 16.666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.333333%; + } + .offset-sm-5 { + margin-left: 41.666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.333333%; + } + .offset-sm-8 { + margin-left: 66.666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.333333%; + } + .offset-sm-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 768px) { + .col-md { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-md-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-md-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-md-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-md-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-md-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-md-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-md-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-md-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-md-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-md-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-md-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-md-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-md-first { + -ms-flex-order: -1; + order: -1; + } + .order-md-1 { + -ms-flex-order: 1; + order: 1; + } + .order-md-2 { + -ms-flex-order: 2; + order: 2; + } + .order-md-3 { + -ms-flex-order: 3; + order: 3; + } + .order-md-4 { + -ms-flex-order: 4; + order: 4; + } + .order-md-5 { + -ms-flex-order: 5; + order: 5; + } + .order-md-6 { + -ms-flex-order: 6; + order: 6; + } + .order-md-7 { + -ms-flex-order: 7; + order: 7; + } + .order-md-8 { + -ms-flex-order: 8; + order: 8; + } + .order-md-9 { + -ms-flex-order: 9; + order: 9; + } + .order-md-10 { + -ms-flex-order: 10; + order: 10; + } + .order-md-11 { + -ms-flex-order: 11; + order: 11; + } + .order-md-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.333333%; + } + .offset-md-2 { + margin-left: 16.666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.333333%; + } + .offset-md-5 { + margin-left: 41.666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.333333%; + } + .offset-md-8 { + margin-left: 66.666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.333333%; + } + .offset-md-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 992px) { + .col-lg { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-lg-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-lg-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-lg-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-lg-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-lg-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-lg-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-lg-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-lg-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-lg-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-lg-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-lg-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-lg-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-lg-first { + -ms-flex-order: -1; + order: -1; + } + .order-lg-1 { + -ms-flex-order: 1; + order: 1; + } + .order-lg-2 { + -ms-flex-order: 2; + order: 2; + } + .order-lg-3 { + -ms-flex-order: 3; + order: 3; + } + .order-lg-4 { + -ms-flex-order: 4; + order: 4; + } + .order-lg-5 { + -ms-flex-order: 5; + order: 5; + } + .order-lg-6 { + -ms-flex-order: 6; + order: 6; + } + .order-lg-7 { + -ms-flex-order: 7; + order: 7; + } + .order-lg-8 { + -ms-flex-order: 8; + order: 8; + } + .order-lg-9 { + -ms-flex-order: 9; + order: 9; + } + .order-lg-10 { + -ms-flex-order: 10; + order: 10; + } + .order-lg-11 { + -ms-flex-order: 11; + order: 11; + } + .order-lg-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.333333%; + } + .offset-lg-2 { + margin-left: 16.666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.333333%; + } + .offset-lg-5 { + margin-left: 41.666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.333333%; + } + .offset-lg-8 { + margin-left: 66.666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.333333%; + } + .offset-lg-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 1200px) { + .col-xl { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-xl-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-xl-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-xl-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-xl-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-xl-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-xl-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-xl-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-xl-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-xl-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-xl-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-xl-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-xl-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-xl-first { + -ms-flex-order: -1; + order: -1; + } + .order-xl-1 { + -ms-flex-order: 1; + order: 1; + } + .order-xl-2 { + -ms-flex-order: 2; + order: 2; + } + .order-xl-3 { + -ms-flex-order: 3; + order: 3; + } + .order-xl-4 { + -ms-flex-order: 4; + order: 4; + } + .order-xl-5 { + -ms-flex-order: 5; + order: 5; + } + .order-xl-6 { + -ms-flex-order: 6; + order: 6; + } + .order-xl-7 { + -ms-flex-order: 7; + order: 7; + } + .order-xl-8 { + -ms-flex-order: 8; + order: 8; + } + .order-xl-9 { + -ms-flex-order: 9; + order: 9; + } + .order-xl-10 { + -ms-flex-order: 10; + order: 10; + } + .order-xl-11 { + -ms-flex-order: 11; + order: 11; + } + .order-xl-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.333333%; + } + .offset-xl-2 { + margin-left: 16.666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.333333%; + } + .offset-xl-5 { + margin-left: 41.666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.333333%; + } + .offset-xl-8 { + margin-left: 66.666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.333333%; + } + .offset-xl-11 { + margin-left: 91.666667%; + } +} + +.flex-row { + -ms-flex-direction: row !important; + flex-direction: row !important; +} + +.flex-column { + -ms-flex-direction: column !important; + flex-direction: column !important; +} + +.flex-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; +} + +.flex-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; +} + +.flex-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; +} + +.justify-content-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; +} + +.justify-content-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; +} + +.justify-content-center { + -ms-flex-pack: center !important; + justify-content: center !important; +} + +.justify-content-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; +} + +.justify-content-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; +} + +.align-items-start { + -ms-flex-align: start !important; + align-items: flex-start !important; +} + +.align-items-end { + -ms-flex-align: end !important; + align-items: flex-end !important; +} + +.align-items-center { + -ms-flex-align: center !important; + align-items: center !important; +} + +.align-items-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; +} + +.align-items-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; +} + +.align-content-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; +} + +.align-content-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; +} + +.align-content-center { + -ms-flex-line-pack: center !important; + align-content: center !important; +} + +.align-content-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; +} + +.align-content-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; +} + +.align-content-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; +} + +.align-self-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; +} + +.align-self-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; +} + +.align-self-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; +} + +.align-self-center { + -ms-flex-item-align: center !important; + align-self: center !important; +} + +.align-self-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; +} + +.align-self-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; +} + +@media (min-width: 576px) { + .flex-sm-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-sm-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-sm-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-sm-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .justify-content-sm-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-sm-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-sm-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-sm-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-sm-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-sm-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-sm-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-sm-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-sm-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-sm-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-sm-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-sm-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-sm-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-sm-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-sm-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-sm-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-sm-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-sm-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-sm-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-sm-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-sm-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-sm-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 768px) { + .flex-md-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-md-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-md-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-md-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-md-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .justify-content-md-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-md-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-md-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-md-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-md-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-md-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-md-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-md-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-md-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-md-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-md-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-md-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-md-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-md-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-md-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-md-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-md-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-md-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-md-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-md-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-md-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-md-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 992px) { + .flex-lg-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-lg-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-lg-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-lg-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .justify-content-lg-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-lg-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-lg-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-lg-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-lg-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-lg-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-lg-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-lg-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-lg-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-lg-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-lg-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-lg-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-lg-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-lg-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-lg-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-lg-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-lg-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-lg-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-lg-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-lg-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-lg-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-lg-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 1200px) { + .flex-xl-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-xl-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-xl-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-xl-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .justify-content-xl-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-xl-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-xl-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-xl-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-xl-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-xl-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-xl-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-xl-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-xl-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-xl-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-xl-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-xl-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-xl-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-xl-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-xl-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-xl-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-xl-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-xl-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-xl-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-xl-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-xl-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-xl-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} +/*# sourceMappingURL=bootstrap-grid.css.map */ \ No newline at end of file diff --git a/workspace/public/css/bootstrap-grid.css.map b/workspace/public/css/bootstrap-grid.css.map new file mode 100644 index 0000000..acfe453 --- /dev/null +++ b/workspace/public/css/bootstrap-grid.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_flex.scss"],"names":[],"mappings":"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","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@at-root {\n @-ms-viewport { width: device-width; } // stylelint-disable-line at-rule-no-vendor-prefix\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n//\n// Grid mixins\n//\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/flex\";\n","/*!\n * Bootstrap Grid v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n width: 100%;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.1.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - 1px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name) {\n @content;\n }\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n\n//\n// Color system\n//\n\n// stylelint-disable\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #868e96 !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n$grays: map-merge((\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n), $grays);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge((\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n), $colors);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge((\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n), $theme-colors);\n// stylelint-enable\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-hover-media-query: false !default;\n$enable-grid-classes: true !default;\n$enable-print-styles: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n) !default;\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%\n) !default;\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints);\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-200 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n\n// Fonts\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !default;\n$font-family-monospace: \"SFMono-Regular\", Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: ($font-size-base * 1.25) !default;\n$font-size-sm: ($font-size-base * .875) !default;\n\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: ($spacer / 2) !default;\n$headings-font-family: inherit !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: ($font-size-base * 1.25) !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-font-size: ($font-size-base * 1.25) !default;\n\n$hr-border-color: rgba($black,.1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black,.25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: 5px !default;\n\n$mark-bg: #fcf8e3 !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-bg: transparent !default;\n$table-accent-bg: rgba($black,.05) !default;\n$table-hover-bg: rgba($black,.075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $gray-200 !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-bg: $gray-900 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($gray-900, 7.5%) !default;\n$table-dark-color: $body-bg !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background and border color.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba(theme-color(\"primary\"), .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white,.15), 0 1px 1px rgba($black,.075) !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black,.125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-btn-border-width: $border-width !default; // For form controls and buttons\n$input-box-shadow: inset 0 1px 1px rgba($black,.075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten(theme-color(\"primary\"), 25%) !default;\n$input-focus-color: $input-color !default;\n\n$input-placeholder-color: $gray-600 !default;\n\n$input-height-border: $input-btn-border-width * 2 !default;\n\n$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;\n$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;\n\n$input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;\n$input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;\n\n$input-height-inner-lg: ($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;\n$input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;\n\n$input-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-margin-bottom: .5rem !default;\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .25rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-control-gutter: 1.5rem !default;\n$custom-control-spacer-y: .25rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: #ddd !default;\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black,.1) !default;\n\n$custom-control-indicator-disabled-bg: $gray-200 !default;\n$custom-control-description-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $white !default;\n$custom-control-indicator-checked-bg: theme-color(\"primary\") !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n\n$custom-control-indicator-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n\n$custom-control-indicator-active-color: $white !default;\n$custom-control-indicator-active-bg: lighten(theme-color(\"primary\"), 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: theme-color(\"primary\") !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-select-padding-y: .375rem !default;\n$custom-select-padding-x: .75rem !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-line-height: $input-btn-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $white !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: #333 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-select-border-width: $input-btn-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n\n$custom-select-focus-border-color: lighten(theme-color(\"primary\"), 25%) !default;\n$custom-select-focus-box-shadow: inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;\n\n$custom-select-font-size-sm: 75% !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-width: 14rem !default;\n$custom-file-focus-box-shadow: 0 0 0 .075rem $white, 0 0 0 .2rem theme-color(\"primary\") !default;\n\n$custom-file-padding-y: $input-btn-padding-y !default;\n$custom-file-padding-x: $input-btn-padding-x !default;\n$custom-file-line-height: $input-btn-line-height !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-btn-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n placeholder: (\n en: \"Choose file...\"\n ),\n button-label: (\n en: \"Browse\"\n )\n) !default;\n\n\n// Form validation\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black,.15) !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black,.175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: #ddd !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: #ddd !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n// Navbar\n\n$navbar-padding-y: ($spacer / 2) !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white,.5) !default;\n$navbar-dark-hover-color: rgba($white,.75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white,.25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white,.1) !default;\n\n$navbar-light-color: rgba($black,.5) !default;\n$navbar-light-hover-color: rgba($black,.7) !default;\n$navbar-light-active-color: rgba($black,.9) !default;\n$navbar-light-disabled-color: rgba($black,.3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black,.1) !default;\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: #ddd !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: #ddd !default;\n\n$pagination-active-color: $white !default;\n$pagination-active-bg: theme-color(\"primary\") !default;\n$pagination-active-border-color: theme-color(\"primary\") !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: #ddd !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black,.125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: ($grid-gutter-width / 2) !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: 3px !default;\n$tooltip-padding-x: 8px !default;\n$tooltip-margin: 0 !default;\n\n\n$tooltip-arrow-width: 5px !default;\n$tooltip-arrow-height: 5px !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n\n// Popovers\n\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black,.2) !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black,.2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: .8rem !default;\n$popover-arrow-height: .4rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 15px !default;\n\n$modal-dialog-margin: 10px !default;\n$modal-dialog-margin-y-sm-up: 30px !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black,.2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-box-shadow-xs: 0 3px 9px rgba($black,.5) !default;\n$modal-content-box-shadow-sm-up: 0 5px 15px rgba($black,.5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $gray-200 !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding: 15px !default;\n\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: ($font-size-base * .75) !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black,.1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n// List group\n\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black,.125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: #ddd !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black,.075) !default;\n$thumbnail-transition: all .2s ease-in-out !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: \"/\" !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$carousel-transition: transform .6s ease !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n// Code\n\n$code-font-size: 90% !default;\n$code-padding-y: .2rem !default;\n$code-padding-x: .4rem !default;\n$code-color: #bd4147 !default;\n$code-bg: $gray-100 !default;\n\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n min-height: 1px; // Prevent columns from collapsing when empty\n padding-right: ($gutter / 2);\n padding-left: ($gutter / 2);\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first {\n order: -1;\n }\n\n @for $i from 1 through $columns {\n .order#{$infix}-#{$i} {\n order: $i;\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n"]} \ No newline at end of file diff --git a/workspace/public/css/bootstrap-grid.min.css b/workspace/public/css/bootstrap-grid.min.css new file mode 100644 index 0000000..a7b220f --- /dev/null +++ b/workspace/public/css/bootstrap-grid.min.css @@ -0,0 +1,7 @@ +/*! + * Bootstrap Grid v4.0.0-beta.2 (https://getbootstrap.com) + * Copyright 2011-2017 The Bootstrap Authors + * Copyright 2011-2017 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */@-ms-viewport{width:device-width}html{box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{box-sizing:inherit}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.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-lg-auto,.col-md,.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-md-auto,.col-sm,.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-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}} +/*# sourceMappingURL=bootstrap-grid.min.css.map */ \ No newline at end of file diff --git a/workspace/public/css/bootstrap-grid.min.css.map b/workspace/public/css/bootstrap-grid.min.css.map new file mode 100644 index 0000000..de236e9 --- /dev/null +++ b/workspace/public/css/bootstrap-grid.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-grid.scss","dist/css/bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_flex.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Grid v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@at-root {\n @-ms-viewport { width: device-width; } // stylelint-disable-line at-rule-no-vendor-prefix\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n//\n// Grid mixins\n//\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/flex\";\n","/*!\n * Bootstrap Grid v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n -ms-flex-order: -1;\n order: -1;\n}\n\n.order-1 {\n -ms-flex-order: 1;\n order: 1;\n}\n\n.order-2 {\n -ms-flex-order: 2;\n order: 2;\n}\n\n.order-3 {\n -ms-flex-order: 3;\n order: 3;\n}\n\n.order-4 {\n -ms-flex-order: 4;\n order: 4;\n}\n\n.order-5 {\n -ms-flex-order: 5;\n order: 5;\n}\n\n.order-6 {\n -ms-flex-order: 6;\n order: 6;\n}\n\n.order-7 {\n -ms-flex-order: 7;\n order: 7;\n}\n\n.order-8 {\n -ms-flex-order: 8;\n order: 8;\n}\n\n.order-9 {\n -ms-flex-order: 9;\n order: 9;\n}\n\n.order-10 {\n -ms-flex-order: 10;\n order: 10;\n}\n\n.order-11 {\n -ms-flex-order: 11;\n order: 11;\n}\n\n.order-12 {\n -ms-flex-order: 12;\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-sm-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-sm-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-sm-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-sm-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-sm-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-sm-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-sm-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-sm-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-sm-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-sm-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-sm-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-sm-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-md-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-md-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-md-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-md-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-md-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-md-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-md-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-md-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-md-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-md-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-md-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-md-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-lg-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-lg-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-lg-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-lg-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-lg-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-lg-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-lg-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-lg-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-lg-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-lg-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-lg-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-lg-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-xl-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-xl-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-xl-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-xl-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-xl-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-xl-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-xl-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-xl-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-xl-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-xl-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-xl-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-xl-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.flex-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n}\n\n.flex-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n}\n\n.justify-content-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n}\n\n.align-items-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n}\n\n.align-items-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n}\n\n.align-items-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n}\n\n.align-items-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n}\n\n.align-content-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n}\n\n.align-content-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n}\n\n.align-content-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n}\n\n.align-content-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n}\n\n.align-content-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n}\n\n.align-self-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n}\n\n.align-self-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n}\n\n.align-self-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n}\n\n.align-self-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n}\n\n.align-self-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-sm-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-sm-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-sm-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-sm-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-sm-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-sm-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-sm-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-sm-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-md-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-md-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-md-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-md-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-md-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-md-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-md-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-md-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-md-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-md-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-md-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-md-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-md-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-md-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-md-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-md-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-lg-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-lg-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-lg-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-lg-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-lg-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-lg-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-lg-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-lg-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-xl-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-xl-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-xl-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-xl-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-xl-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-xl-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-xl-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-xl-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n width: 100%;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.1.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - 1px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n min-height: 1px; // Prevent columns from collapsing when empty\n padding-right: ($gutter / 2);\n padding-left: ($gutter / 2);\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first {\n order: -1;\n }\n\n @for $i from 1 through $columns {\n .order#{$infix}-#{$i} {\n order: $i;\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n"]} \ No newline at end of file diff --git a/workspace/public/css/bootstrap-reboot.css b/workspace/public/css/bootstrap-reboot.css new file mode 100644 index 0000000..713196f --- /dev/null +++ b/workspace/public/css/bootstrap-reboot.css @@ -0,0 +1,342 @@ +/*! + * Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com) + * Copyright 2011-2017 The Bootstrap Authors + * Copyright 2011-2017 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) + */ +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + -ms-overflow-style: scrollbar; + -webkit-tap-highlight-color: transparent; +} + +@-ms-viewport { + width: device-width; +} + +article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} + +[tabindex="-1"]:focus { + outline: none !important; +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +dfn { + font-style: italic; +} + +b, +strong { + font-weight: bolder; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -.25em; +} + +sup { + top: -.5em; +} + +a { + color: #007bff; + text-decoration: none; + background-color: transparent; + -webkit-text-decoration-skip: objects; +} + +a:hover { + color: #0056b3; + text-decoration: underline; +} + +a:not([href]):not([tabindex]) { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):focus { + outline: 0; +} + +pre, +code, +kbd, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + -ms-overflow-style: scrollbar; +} + +figure { + margin: 0 0 1rem; +} + +img { + vertical-align: middle; + border-style: none; +} + +svg:not(:root) { + overflow: hidden; +} + +a, +area, +button, +[role="button"], +input:not([type="range"]), +label, +select, +summary, +textarea { + -ms-touch-action: manipulation; + touch-action: manipulation; +} + +table { + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #868e96; + text-align: left; + caption-side: bottom; +} + +th { + text-align: inherit; +} + +label { + display: inline-block; + margin-bottom: .5rem; +} + +button { + border-radius: 0; +} + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +button, +html [type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + -webkit-appearance: listbox; +} + +textarea { + overflow: auto; + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +progress { + vertical-align: baseline; +} + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} + +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +summary { + display: list-item; +} + +template { + display: none; +} + +[hidden] { + display: none !important; +} +/*# sourceMappingURL=bootstrap-reboot.css.map */ \ No newline at end of file diff --git a/workspace/public/css/bootstrap-reboot.css.map b/workspace/public/css/bootstrap-reboot.css.map new file mode 100644 index 0000000..0071ed2 --- /dev/null +++ b/workspace/public/css/bootstrap-reboot.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","bootstrap-reboot.css","../../scss/_variables.scss","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":["/*!\n * Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n// we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -ms-text-size-adjust: 100%; // 4\n -ms-overflow-style: scrollbar; // 5\n -webkit-tap-highlight-color: rgba(0,0,0,0); // 6\n}\n\n// IE10+ doesn't honor `<meta name=\"viewport\">` in some cases.\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n font-size: $font-size-base;\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\n// stylelint-disable font-family-no-duplicate-names\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n// stylelint-enable font-family-no-duplicate-names\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg:not(:root) {\n overflow: hidden; // Hide the overflow in IE\n}\n\n\n// Avoid 300ms click delay on touch devices that support the `touch-action` CSS property.\n//\n// In particular, unlike most other browsers, IE11+Edge on Windows 10 on touch devices and IE Mobile 10-11\n// DON'T remove the click delay when `<meta name=\"viewport\" content=\"width=device-width\">` is present.\n// However, they DO support removing the click delay via `touch-action: manipulation`.\n// See:\n// * https://getbootstrap.com/docs/4.0/content/reboot/#click-delay-optimization-for-touch\n// * https://caniuse.com/#feat=css-touch-action\n// * https://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput:not([type=\"range\"]),\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $text-muted;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `<td>` alignment by inheriting from the `<body>`, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: .5rem;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput:not([type=\"range\"]),\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #868e96;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n\n//\n// Color system\n//\n\n// stylelint-disable\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #868e96 !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n$grays: map-merge((\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n), $grays);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge((\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n), $colors);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge((\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n), $theme-colors);\n// stylelint-enable\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-hover-media-query: false !default;\n$enable-grid-classes: true !default;\n$enable-print-styles: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n) !default;\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%\n) !default;\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints);\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-200 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n\n// Fonts\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !default;\n$font-family-monospace: \"SFMono-Regular\", Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: ($font-size-base * 1.25) !default;\n$font-size-sm: ($font-size-base * .875) !default;\n\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: ($spacer / 2) !default;\n$headings-font-family: inherit !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: ($font-size-base * 1.25) !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-font-size: ($font-size-base * 1.25) !default;\n\n$hr-border-color: rgba($black,.1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black,.25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: 5px !default;\n\n$mark-bg: #fcf8e3 !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-bg: transparent !default;\n$table-accent-bg: rgba($black,.05) !default;\n$table-hover-bg: rgba($black,.075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $gray-200 !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-bg: $gray-900 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($gray-900, 7.5%) !default;\n$table-dark-color: $body-bg !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background and border color.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba(theme-color(\"primary\"), .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white,.15), 0 1px 1px rgba($black,.075) !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black,.125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-btn-border-width: $border-width !default; // For form controls and buttons\n$input-box-shadow: inset 0 1px 1px rgba($black,.075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten(theme-color(\"primary\"), 25%) !default;\n$input-focus-color: $input-color !default;\n\n$input-placeholder-color: $gray-600 !default;\n\n$input-height-border: $input-btn-border-width * 2 !default;\n\n$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;\n$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;\n\n$input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;\n$input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;\n\n$input-height-inner-lg: ($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;\n$input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;\n\n$input-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-margin-bottom: .5rem !default;\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .25rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-control-gutter: 1.5rem !default;\n$custom-control-spacer-y: .25rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: #ddd !default;\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black,.1) !default;\n\n$custom-control-indicator-disabled-bg: $gray-200 !default;\n$custom-control-description-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $white !default;\n$custom-control-indicator-checked-bg: theme-color(\"primary\") !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n\n$custom-control-indicator-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n\n$custom-control-indicator-active-color: $white !default;\n$custom-control-indicator-active-bg: lighten(theme-color(\"primary\"), 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: theme-color(\"primary\") !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-select-padding-y: .375rem !default;\n$custom-select-padding-x: .75rem !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-line-height: $input-btn-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $white !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: #333 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-select-border-width: $input-btn-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n\n$custom-select-focus-border-color: lighten(theme-color(\"primary\"), 25%) !default;\n$custom-select-focus-box-shadow: inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;\n\n$custom-select-font-size-sm: 75% !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-width: 14rem !default;\n$custom-file-focus-box-shadow: 0 0 0 .075rem $white, 0 0 0 .2rem theme-color(\"primary\") !default;\n\n$custom-file-padding-y: $input-btn-padding-y !default;\n$custom-file-padding-x: $input-btn-padding-x !default;\n$custom-file-line-height: $input-btn-line-height !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-btn-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n placeholder: (\n en: \"Choose file...\"\n ),\n button-label: (\n en: \"Browse\"\n )\n) !default;\n\n\n// Form validation\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black,.15) !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black,.175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: #ddd !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: #ddd !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n// Navbar\n\n$navbar-padding-y: ($spacer / 2) !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white,.5) !default;\n$navbar-dark-hover-color: rgba($white,.75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white,.25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white,.1) !default;\n\n$navbar-light-color: rgba($black,.5) !default;\n$navbar-light-hover-color: rgba($black,.7) !default;\n$navbar-light-active-color: rgba($black,.9) !default;\n$navbar-light-disabled-color: rgba($black,.3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black,.1) !default;\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: #ddd !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: #ddd !default;\n\n$pagination-active-color: $white !default;\n$pagination-active-bg: theme-color(\"primary\") !default;\n$pagination-active-border-color: theme-color(\"primary\") !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: #ddd !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black,.125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: ($grid-gutter-width / 2) !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: 3px !default;\n$tooltip-padding-x: 8px !default;\n$tooltip-margin: 0 !default;\n\n\n$tooltip-arrow-width: 5px !default;\n$tooltip-arrow-height: 5px !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n\n// Popovers\n\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black,.2) !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black,.2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: .8rem !default;\n$popover-arrow-height: .4rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 15px !default;\n\n$modal-dialog-margin: 10px !default;\n$modal-dialog-margin-y-sm-up: 30px !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black,.2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-box-shadow-xs: 0 3px 9px rgba($black,.5) !default;\n$modal-content-box-shadow-sm-up: 0 5px 15px rgba($black,.5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $gray-200 !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding: 15px !default;\n\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: ($font-size-base * .75) !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black,.1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n// List group\n\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black,.125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: #ddd !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black,.075) !default;\n$thumbnail-transition: all .2s ease-in-out !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: \"/\" !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$carousel-transition: transform .6s ease !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n// Code\n\n$code-font-size: 90% !default;\n$code-padding-y: .2rem !default;\n$code-padding-x: .4rem !default;\n$code-color: #bd4147 !default;\n$code-bg: $gray-100 !default;\n\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n","// stylelint-disable indentation\n@mixin hover {\n // TODO: re-enable along with mq4-hover-shim\n// @if $enable-hover-media-query {\n// // See Media Queries Level 4: https://drafts.csswg.org/mediaqueries/#hover\n// // Currently shimmed by https://github.com/twbs/mq4-hover-shim\n// @media (hover: hover) {\n// &:hover { @content }\n// }\n// }\n// @else {\n &:hover { @content; }\n// }\n}\n\n\n@mixin hover-focus {\n @if $enable-hover-media-query {\n &:focus {\n @content;\n }\n @include hover { @content; }\n } @else {\n &:focus,\n &:hover {\n @content;\n }\n }\n}\n\n@mixin plain-hover-focus {\n @if $enable-hover-media-query {\n &,\n &:focus {\n @content;\n }\n @include hover { @content; }\n } @else {\n &,\n &:focus,\n &:hover {\n @content;\n }\n }\n}\n\n@mixin hover-focus-active {\n @if $enable-hover-media-query {\n &:focus,\n &:active {\n @content;\n }\n @include hover { @content; }\n } @else {\n &:focus,\n &:active,\n &:hover {\n @content;\n }\n }\n}\n"]} \ No newline at end of file diff --git a/workspace/public/css/bootstrap-reboot.min.css b/workspace/public/css/bootstrap-reboot.min.css new file mode 100644 index 0000000..3f4f1a8 --- /dev/null +++ b/workspace/public/css/bootstrap-reboot.min.css @@ -0,0 +1,8 @@ +/*! + * Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com) + * Copyright 2011-2017 The Bootstrap Authors + * Copyright 2011-2017 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) + */*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#868e96;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important} +/*# sourceMappingURL=bootstrap-reboot.min.css.map */ \ No newline at end of file diff --git a/workspace/public/css/bootstrap-reboot.min.css.map b/workspace/public/css/bootstrap-reboot.min.css.map new file mode 100644 index 0000000..4b8e662 --- /dev/null +++ b/workspace/public/css/bootstrap-reboot.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","dist/css/bootstrap-reboot.css","bootstrap-reboot.css","../../scss/mixins/_hover.scss"],"names":[],"mappings":"AAAA;;;;;;ACoBA,ECXA,QADA,SDeE,WAAA,WAGF,KACE,YAAA,WACA,YAAA,KACA,yBAAA,KACA,qBAAA,KACA,mBAAA,UACA,4BAAA,YAKA,cACE,MAAA,aAMJ,QAAA,MAAA,OAAA,WAAA,OAAA,OAAA,OAAA,OAAA,KAAA,IAAA,QACE,QAAA,MAWF,KACE,OAAA,EACA,YAAA,aAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,gBAAA,CAAA,kBACA,UAAA,KACA,YAAA,IACA,YAAA,IACA,MAAA,QACA,WAAA,KACA,iBAAA,KEvBF,sBFgCE,QAAA,YASF,GACE,WAAA,YACA,OAAA,EACA,SAAA,QAaF,GAAA,GAAA,GAAA,GAAA,GAAA,GACE,WAAA,EACA,cAAA,MAQF,EACE,WAAA,EACA,cAAA,KChDF,0BD0DA,YAEE,gBAAA,UACA,wBAAA,UAAA,OAAA,gBAAA,UAAA,OACA,OAAA,KACA,cAAA,EAGF,QACE,cAAA,KACA,WAAA,OACA,YAAA,QCrDF,GDwDA,GCzDA,GD4DE,WAAA,EACA,cAAA,KAGF,MCxDA,MACA,MAFA,MD6DE,cAAA,EAGF,GACE,YAAA,IAGF,GACE,cAAA,MACA,YAAA,EAGF,WACE,OAAA,EAAA,EAAA,KAGF,IACE,WAAA,OAIF,EC1DA,OD4DE,YAAA,OAIF,MACE,UAAA,IAQF,IChEA,IDkEE,SAAA,SACA,UAAA,IACA,YAAA,EACA,eAAA,SAGF,IAAM,OAAA,OACN,IAAM,IAAA,MAON,EACE,MAAA,QACA,gBAAA,KACA,iBAAA,YACA,6BAAA,QG9LE,QHiMA,MAAA,QACA,gBAAA,UAUJ,8BACE,MAAA,QACA,gBAAA,KGlME,oCAAA,oCHqMA,MAAA,QACA,gBAAA,KANJ,oCAUI,QAAA,EClEJ,KACA,ID2EA,IC1EA,KD8EE,YAAA,SAAA,CAAA,UACA,UAAA,IAIF,IAEE,WAAA,EAEA,cAAA,KAEA,SAAA,KAGA,mBAAA,UAQF,OAEE,OAAA,EAAA,EAAA,KAQF,IACE,eAAA,OACA,aAAA,KAGF,eACE,SAAA,OCxFF,cDsGA,ECxGA,KACA,OAEA,wBACA,MACA,OACA,QACA,SD0GE,iBAAA,aAAA,aAAA,aAQF,MACE,gBAAA,SAGF,QACE,YAAA,OACA,eAAA,OACA,MAAA,QACA,WAAA,KACA,aAAA,OAGF,GAGE,WAAA,QAQF,MAEE,QAAA,aACA,cAAA,MAMF,OACE,cAAA,EAOF,aACE,QAAA,IAAA,OACA,QAAA,IAAA,KAAA,yBCxHF,OD2HA,MCzHA,SADA,OAEA,SD6HE,OAAA,EACA,YAAA,QACA,UAAA,QACA,YAAA,QAGF,OC3HA,MD6HE,SAAA,QAGF,OC3HA,OD6HE,eAAA,KCvHF,aACA,cD4HA,OC9HA,mBDkIE,mBAAA,OC3HF,gCACA,+BACA,gCD6HA,yBAIE,QAAA,EACA,aAAA,KC5HF,qBD+HA,kBAEE,WAAA,WACA,QAAA,EAIF,iBC/HA,2BACA,kBAFA,iBDyIE,mBAAA,QAGF,SACE,SAAA,KAEA,OAAA,SAGF,SAME,UAAA,EAEA,QAAA,EACA,OAAA,EACA,OAAA,EAKF,OACE,QAAA,MACA,MAAA,KACA,UAAA,KACA,QAAA,EACA,cAAA,MACA,UAAA,OACA,YAAA,QACA,MAAA,QACA,YAAA,OAGF,SACE,eAAA,SE9IF,yCDGA,yCDiJE,OAAA,KE/IF,cFuJE,eAAA,KACA,mBAAA,KEnJF,4CDGA,yCDyJE,mBAAA,KAQF,6BACE,KAAA,QACA,mBAAA,OAOF,OACE,QAAA,aAGF,QACE,QAAA,UAGF,SACE,QAAA,KEhKF,SFsKE,QAAA","sourcesContent":["/*!\n * Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n// we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -ms-text-size-adjust: 100%; // 4\n -ms-overflow-style: scrollbar; // 5\n -webkit-tap-highlight-color: rgba(0,0,0,0); // 6\n}\n\n// IE10+ doesn't honor `<meta name=\"viewport\">` in some cases.\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n font-size: $font-size-base;\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\n// stylelint-disable font-family-no-duplicate-names\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n// stylelint-enable font-family-no-duplicate-names\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg:not(:root) {\n overflow: hidden; // Hide the overflow in IE\n}\n\n\n// Avoid 300ms click delay on touch devices that support the `touch-action` CSS property.\n//\n// In particular, unlike most other browsers, IE11+Edge on Windows 10 on touch devices and IE Mobile 10-11\n// DON'T remove the click delay when `<meta name=\"viewport\" content=\"width=device-width\">` is present.\n// However, they DO support removing the click delay via `touch-action: manipulation`.\n// See:\n// * https://getbootstrap.com/docs/4.0/content/reboot/#click-delay-optimization-for-touch\n// * https://caniuse.com/#feat=css-touch-action\n// * https://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput:not([type=\"range\"]),\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $text-muted;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `<td>` alignment by inheriting from the `<body>`, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: .5rem;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput:not([type=\"range\"]),\nlabel,\nselect,\nsummary,\ntextarea {\n -ms-touch-action: manipulation;\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #868e96;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n/*# sourceMappingURL=bootstrap-reboot.css.map */","/*!\n * Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput:not([type=\"range\"]),\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #868e96;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable indentation\n@mixin hover {\n // TODO: re-enable along with mq4-hover-shim\n// @if $enable-hover-media-query {\n// // See Media Queries Level 4: https://drafts.csswg.org/mediaqueries/#hover\n// // Currently shimmed by https://github.com/twbs/mq4-hover-shim\n// @media (hover: hover) {\n// &:hover { @content }\n// }\n// }\n// @else {\n &:hover { @content; }\n// }\n}\n\n\n@mixin hover-focus {\n @if $enable-hover-media-query {\n &:focus {\n @content;\n }\n @include hover { @content; }\n } @else {\n &:focus,\n &:hover {\n @content;\n }\n }\n}\n\n@mixin plain-hover-focus {\n @if $enable-hover-media-query {\n &,\n &:focus {\n @content;\n }\n @include hover { @content; }\n } @else {\n &,\n &:focus,\n &:hover {\n @content;\n }\n }\n}\n\n@mixin hover-focus-active {\n @if $enable-hover-media-query {\n &:focus,\n &:active {\n @content;\n }\n @include hover { @content; }\n } @else {\n &:focus,\n &:active,\n &:hover {\n @content;\n }\n }\n}\n"]} \ No newline at end of file diff --git a/workspace/public/css/bootstrap.css b/workspace/public/css/bootstrap.css new file mode 100644 index 0000000..fa55c20 --- /dev/null +++ b/workspace/public/css/bootstrap.css @@ -0,0 +1,8374 @@ +/*! + * Bootstrap v4.0.0-beta.2 (https://getbootstrap.com) + * Copyright 2011-2017 The Bootstrap Authors + * Copyright 2011-2017 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +:root { + --blue: #007bff; + --indigo: #6610f2; + --purple: #6f42c1; + --pink: #e83e8c; + --red: #dc3545; + --orange: #fd7e14; + --yellow: #ffc107; + --green: #28a745; + --teal: #20c997; + --cyan: #17a2b8; + --white: #fff; + --gray: #868e96; + --gray-dark: #343a40; + --primary: #007bff; + --secondary: #868e96; + --success: #28a745; + --info: #17a2b8; + --warning: #ffc107; + --danger: #dc3545; + --light: #f8f9fa; + --dark: #343a40; + --breakpoint-xs: 0; + --breakpoint-sm: 576px; + --breakpoint-md: 768px; + --breakpoint-lg: 992px; + --breakpoint-xl: 1200px; + --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + --font-family-monospace: "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +@media print { + *, + *::before, + *::after { + text-shadow: none !important; + box-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + abbr[title]::after { + content: " (" attr(title) ")"; + } + pre { + white-space: pre-wrap !important; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + .navbar { + display: none; + } + .badge { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + -ms-overflow-style: scrollbar; + -webkit-tap-highlight-color: transparent; +} + +@-ms-viewport { + width: device-width; +} + +article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} + +[tabindex="-1"]:focus { + outline: none !important; +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +dfn { + font-style: italic; +} + +b, +strong { + font-weight: bolder; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -.25em; +} + +sup { + top: -.5em; +} + +a { + color: #007bff; + text-decoration: none; + background-color: transparent; + -webkit-text-decoration-skip: objects; +} + +a:hover { + color: #0056b3; + text-decoration: underline; +} + +a:not([href]):not([tabindex]) { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):focus { + outline: 0; +} + +pre, +code, +kbd, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + -ms-overflow-style: scrollbar; +} + +figure { + margin: 0 0 1rem; +} + +img { + vertical-align: middle; + border-style: none; +} + +svg:not(:root) { + overflow: hidden; +} + +a, +area, +button, +[role="button"], +input:not([type="range"]), +label, +select, +summary, +textarea { + -ms-touch-action: manipulation; + touch-action: manipulation; +} + +table { + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #868e96; + text-align: left; + caption-side: bottom; +} + +th { + text-align: inherit; +} + +label { + display: inline-block; + margin-bottom: .5rem; +} + +button { + border-radius: 0; +} + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +button, +html [type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + -webkit-appearance: listbox; +} + +textarea { + overflow: auto; + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +progress { + vertical-align: baseline; +} + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} + +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +summary { + display: list-item; +} + +template { + display: none; +} + +[hidden] { + display: none !important; +} + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + margin-bottom: 0.5rem; + font-family: inherit; + font-weight: 500; + line-height: 1.2; + color: inherit; +} + +h1, .h1 { + font-size: 2.5rem; +} + +h2, .h2 { + font-size: 2rem; +} + +h3, .h3 { + font-size: 1.75rem; +} + +h4, .h4 { + font-size: 1.5rem; +} + +h5, .h5 { + font-size: 1.25rem; +} + +h6, .h6 { + font-size: 1rem; +} + +.lead { + font-size: 1.25rem; + font-weight: 300; +} + +.display-1 { + font-size: 6rem; + font-weight: 300; + line-height: 1.2; +} + +.display-2 { + font-size: 5.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-3 { + font-size: 4.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-4 { + font-size: 3.5rem; + font-weight: 300; + line-height: 1.2; +} + +hr { + margin-top: 1rem; + margin-bottom: 1rem; + border: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); +} + +small, +.small { + font-size: 80%; + font-weight: 400; +} + +mark, +.mark { + padding: 0.2em; + background-color: #fcf8e3; +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} + +.list-inline-item:not(:last-child) { + margin-right: 5px; +} + +.initialism { + font-size: 90%; + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} + +.blockquote-footer { + display: block; + font-size: 80%; + color: #868e96; +} + +.blockquote-footer::before { + content: "\2014 \00A0"; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 0.25rem; + transition: all 0.2s ease-in-out; + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 90%; + color: #868e96; +} + +code, +kbd, +pre, +samp { + font-family: "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +code { + padding: 0.2rem 0.4rem; + font-size: 90%; + color: #bd4147; + background-color: #f8f9fa; + border-radius: 0.25rem; +} + +a > code { + padding: 0; + color: inherit; + background-color: inherit; +} + +kbd { + padding: 0.2rem 0.4rem; + font-size: 90%; + color: #fff; + background-color: #212529; + border-radius: 0.2rem; +} + +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: 700; +} + +pre { + display: block; + margin-top: 0; + margin-bottom: 1rem; + font-size: 90%; + color: #212529; +} + +pre code { + padding: 0; + font-size: inherit; + color: inherit; + background-color: transparent; + border-radius: 0; +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +.container { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container { + max-width: 1140px; + } +} + +.container-fluid { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +.row { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} + +.no-gutters { + margin-right: 0; + margin-left: 0; +} + +.no-gutters > .col, +.no-gutters > [class*="col-"] { + padding-right: 0; + padding-left: 0; +} + +.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, +.col-auto, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm, +.col-sm-auto, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md, +.col-md-auto, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg, +.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, +.col-xl-auto { + position: relative; + width: 100%; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; +} + +.col { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; +} + +.col-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; +} + +.col-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; +} + +.col-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; +} + +.col-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.col-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; +} + +.col-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; +} + +.col-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; +} + +.col-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; +} + +.col-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; +} + +.col-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; +} + +.col-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; +} + +.col-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} + +.order-first { + -ms-flex-order: -1; + order: -1; +} + +.order-1 { + -ms-flex-order: 1; + order: 1; +} + +.order-2 { + -ms-flex-order: 2; + order: 2; +} + +.order-3 { + -ms-flex-order: 3; + order: 3; +} + +.order-4 { + -ms-flex-order: 4; + order: 4; +} + +.order-5 { + -ms-flex-order: 5; + order: 5; +} + +.order-6 { + -ms-flex-order: 6; + order: 6; +} + +.order-7 { + -ms-flex-order: 7; + order: 7; +} + +.order-8 { + -ms-flex-order: 8; + order: 8; +} + +.order-9 { + -ms-flex-order: 9; + order: 9; +} + +.order-10 { + -ms-flex-order: 10; + order: 10; +} + +.order-11 { + -ms-flex-order: 11; + order: 11; +} + +.order-12 { + -ms-flex-order: 12; + order: 12; +} + +.offset-1 { + margin-left: 8.333333%; +} + +.offset-2 { + margin-left: 16.666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.333333%; +} + +.offset-5 { + margin-left: 41.666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.333333%; +} + +.offset-8 { + margin-left: 66.666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.333333%; +} + +.offset-11 { + margin-left: 91.666667%; +} + +@media (min-width: 576px) { + .col-sm { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-sm-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-sm-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-sm-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-sm-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-sm-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-sm-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-sm-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-sm-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-sm-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-sm-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-sm-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-sm-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-sm-first { + -ms-flex-order: -1; + order: -1; + } + .order-sm-1 { + -ms-flex-order: 1; + order: 1; + } + .order-sm-2 { + -ms-flex-order: 2; + order: 2; + } + .order-sm-3 { + -ms-flex-order: 3; + order: 3; + } + .order-sm-4 { + -ms-flex-order: 4; + order: 4; + } + .order-sm-5 { + -ms-flex-order: 5; + order: 5; + } + .order-sm-6 { + -ms-flex-order: 6; + order: 6; + } + .order-sm-7 { + -ms-flex-order: 7; + order: 7; + } + .order-sm-8 { + -ms-flex-order: 8; + order: 8; + } + .order-sm-9 { + -ms-flex-order: 9; + order: 9; + } + .order-sm-10 { + -ms-flex-order: 10; + order: 10; + } + .order-sm-11 { + -ms-flex-order: 11; + order: 11; + } + .order-sm-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.333333%; + } + .offset-sm-2 { + margin-left: 16.666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.333333%; + } + .offset-sm-5 { + margin-left: 41.666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.333333%; + } + .offset-sm-8 { + margin-left: 66.666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.333333%; + } + .offset-sm-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 768px) { + .col-md { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-md-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-md-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-md-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-md-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-md-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-md-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-md-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-md-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-md-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-md-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-md-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-md-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-md-first { + -ms-flex-order: -1; + order: -1; + } + .order-md-1 { + -ms-flex-order: 1; + order: 1; + } + .order-md-2 { + -ms-flex-order: 2; + order: 2; + } + .order-md-3 { + -ms-flex-order: 3; + order: 3; + } + .order-md-4 { + -ms-flex-order: 4; + order: 4; + } + .order-md-5 { + -ms-flex-order: 5; + order: 5; + } + .order-md-6 { + -ms-flex-order: 6; + order: 6; + } + .order-md-7 { + -ms-flex-order: 7; + order: 7; + } + .order-md-8 { + -ms-flex-order: 8; + order: 8; + } + .order-md-9 { + -ms-flex-order: 9; + order: 9; + } + .order-md-10 { + -ms-flex-order: 10; + order: 10; + } + .order-md-11 { + -ms-flex-order: 11; + order: 11; + } + .order-md-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.333333%; + } + .offset-md-2 { + margin-left: 16.666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.333333%; + } + .offset-md-5 { + margin-left: 41.666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.333333%; + } + .offset-md-8 { + margin-left: 66.666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.333333%; + } + .offset-md-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 992px) { + .col-lg { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-lg-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-lg-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-lg-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-lg-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-lg-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-lg-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-lg-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-lg-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-lg-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-lg-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-lg-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-lg-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-lg-first { + -ms-flex-order: -1; + order: -1; + } + .order-lg-1 { + -ms-flex-order: 1; + order: 1; + } + .order-lg-2 { + -ms-flex-order: 2; + order: 2; + } + .order-lg-3 { + -ms-flex-order: 3; + order: 3; + } + .order-lg-4 { + -ms-flex-order: 4; + order: 4; + } + .order-lg-5 { + -ms-flex-order: 5; + order: 5; + } + .order-lg-6 { + -ms-flex-order: 6; + order: 6; + } + .order-lg-7 { + -ms-flex-order: 7; + order: 7; + } + .order-lg-8 { + -ms-flex-order: 8; + order: 8; + } + .order-lg-9 { + -ms-flex-order: 9; + order: 9; + } + .order-lg-10 { + -ms-flex-order: 10; + order: 10; + } + .order-lg-11 { + -ms-flex-order: 11; + order: 11; + } + .order-lg-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.333333%; + } + .offset-lg-2 { + margin-left: 16.666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.333333%; + } + .offset-lg-5 { + margin-left: 41.666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.333333%; + } + .offset-lg-8 { + margin-left: 66.666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.333333%; + } + .offset-lg-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 1200px) { + .col-xl { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-xl-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-xl-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-xl-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-xl-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-xl-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-xl-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-xl-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-xl-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-xl-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-xl-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-xl-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-xl-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-xl-first { + -ms-flex-order: -1; + order: -1; + } + .order-xl-1 { + -ms-flex-order: 1; + order: 1; + } + .order-xl-2 { + -ms-flex-order: 2; + order: 2; + } + .order-xl-3 { + -ms-flex-order: 3; + order: 3; + } + .order-xl-4 { + -ms-flex-order: 4; + order: 4; + } + .order-xl-5 { + -ms-flex-order: 5; + order: 5; + } + .order-xl-6 { + -ms-flex-order: 6; + order: 6; + } + .order-xl-7 { + -ms-flex-order: 7; + order: 7; + } + .order-xl-8 { + -ms-flex-order: 8; + order: 8; + } + .order-xl-9 { + -ms-flex-order: 9; + order: 9; + } + .order-xl-10 { + -ms-flex-order: 10; + order: 10; + } + .order-xl-11 { + -ms-flex-order: 11; + order: 11; + } + .order-xl-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.333333%; + } + .offset-xl-2 { + margin-left: 16.666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.333333%; + } + .offset-xl-5 { + margin-left: 41.666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.333333%; + } + .offset-xl-8 { + margin-left: 66.666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.333333%; + } + .offset-xl-11 { + margin-left: 91.666667%; + } +} + +.table { + width: 100%; + max-width: 100%; + margin-bottom: 1rem; + background-color: transparent; +} + +.table th, +.table td { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid #e9ecef; +} + +.table thead th { + vertical-align: bottom; + border-bottom: 2px solid #e9ecef; +} + +.table tbody + tbody { + border-top: 2px solid #e9ecef; +} + +.table .table { + background-color: #fff; +} + +.table-sm th, +.table-sm td { + padding: 0.3rem; +} + +.table-bordered { + border: 1px solid #e9ecef; +} + +.table-bordered th, +.table-bordered td { + border: 1px solid #e9ecef; +} + +.table-bordered thead th, +.table-bordered thead td { + border-bottom-width: 2px; +} + +.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(0, 0, 0, 0.05); +} + +.table-hover tbody tr:hover { + background-color: rgba(0, 0, 0, 0.075); +} + +.table-primary, +.table-primary > th, +.table-primary > td { + background-color: #b8daff; +} + +.table-hover .table-primary:hover { + background-color: #9fcdff; +} + +.table-hover .table-primary:hover > td, +.table-hover .table-primary:hover > th { + background-color: #9fcdff; +} + +.table-secondary, +.table-secondary > th, +.table-secondary > td { + background-color: #dddfe2; +} + +.table-hover .table-secondary:hover { + background-color: #cfd2d6; +} + +.table-hover .table-secondary:hover > td, +.table-hover .table-secondary:hover > th { + background-color: #cfd2d6; +} + +.table-success, +.table-success > th, +.table-success > td { + background-color: #c3e6cb; +} + +.table-hover .table-success:hover { + background-color: #b1dfbb; +} + +.table-hover .table-success:hover > td, +.table-hover .table-success:hover > th { + background-color: #b1dfbb; +} + +.table-info, +.table-info > th, +.table-info > td { + background-color: #bee5eb; +} + +.table-hover .table-info:hover { + background-color: #abdde5; +} + +.table-hover .table-info:hover > td, +.table-hover .table-info:hover > th { + background-color: #abdde5; +} + +.table-warning, +.table-warning > th, +.table-warning > td { + background-color: #ffeeba; +} + +.table-hover .table-warning:hover { + background-color: #ffe8a1; +} + +.table-hover .table-warning:hover > td, +.table-hover .table-warning:hover > th { + background-color: #ffe8a1; +} + +.table-danger, +.table-danger > th, +.table-danger > td { + background-color: #f5c6cb; +} + +.table-hover .table-danger:hover { + background-color: #f1b0b7; +} + +.table-hover .table-danger:hover > td, +.table-hover .table-danger:hover > th { + background-color: #f1b0b7; +} + +.table-light, +.table-light > th, +.table-light > td { + background-color: #fdfdfe; +} + +.table-hover .table-light:hover { + background-color: #ececf6; +} + +.table-hover .table-light:hover > td, +.table-hover .table-light:hover > th { + background-color: #ececf6; +} + +.table-dark, +.table-dark > th, +.table-dark > td { + background-color: #c6c8ca; +} + +.table-hover .table-dark:hover { + background-color: #b9bbbe; +} + +.table-hover .table-dark:hover > td, +.table-hover .table-dark:hover > th { + background-color: #b9bbbe; +} + +.table-active, +.table-active > th, +.table-active > td { + background-color: rgba(0, 0, 0, 0.075); +} + +.table-hover .table-active:hover { + background-color: rgba(0, 0, 0, 0.075); +} + +.table-hover .table-active:hover > td, +.table-hover .table-active:hover > th { + background-color: rgba(0, 0, 0, 0.075); +} + +.table .thead-dark th { + color: #fff; + background-color: #212529; + border-color: #32383e; +} + +.table .thead-light th { + color: #495057; + background-color: #e9ecef; + border-color: #e9ecef; +} + +.table-dark { + color: #fff; + background-color: #212529; +} + +.table-dark th, +.table-dark td, +.table-dark thead th { + border-color: #32383e; +} + +.table-dark.table-bordered { + border: 0; +} + +.table-dark.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(255, 255, 255, 0.05); +} + +.table-dark.table-hover tbody tr:hover { + background-color: rgba(255, 255, 255, 0.075); +} + +@media (max-width: 575px) { + .table-responsive-sm { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .table-responsive-sm.table-bordered { + border: 0; + } +} + +@media (max-width: 767px) { + .table-responsive-md { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .table-responsive-md.table-bordered { + border: 0; + } +} + +@media (max-width: 991px) { + .table-responsive-lg { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .table-responsive-lg.table-bordered { + border: 0; + } +} + +@media (max-width: 1199px) { + .table-responsive-xl { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .table-responsive-xl.table-bordered { + border: 0; + } +} + +.table-responsive { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; +} + +.table-responsive.table-bordered { + border: 0; +} + +.form-control { + display: block; + width: 100%; + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + color: #495057; + background-color: #fff; + background-image: none; + background-clip: padding-box; + border: 1px solid #ced4da; + border-radius: 0.25rem; + transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; +} + +.form-control::-ms-expand { + background-color: transparent; + border: 0; +} + +.form-control:focus { + color: #495057; + background-color: #fff; + border-color: #80bdff; + outline: none; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.form-control::-webkit-input-placeholder { + color: #868e96; + opacity: 1; +} + +.form-control:-ms-input-placeholder { + color: #868e96; + opacity: 1; +} + +.form-control::-ms-input-placeholder { + color: #868e96; + opacity: 1; +} + +.form-control::placeholder { + color: #868e96; + opacity: 1; +} + +.form-control:disabled, .form-control[readonly] { + background-color: #e9ecef; + opacity: 1; +} + +select.form-control:not([size]):not([multiple]) { + height: calc(2.25rem + 2px); +} + +select.form-control:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +.form-control-file, +.form-control-range { + display: block; +} + +.col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + line-height: 1.5; +} + +.col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.25rem; + line-height: 1.5; +} + +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; + line-height: 1.5; +} + +.col-form-legend { + padding-top: 0.375rem; + padding-bottom: 0.375rem; + margin-bottom: 0; + font-size: 1rem; +} + +.form-control-plaintext { + padding-top: 0.375rem; + padding-bottom: 0.375rem; + margin-bottom: 0; + line-height: 1.5; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; +} + +.form-control-plaintext.form-control-sm, .input-group-sm > .form-control-plaintext.form-control, +.input-group-sm > .form-control-plaintext.input-group-addon, +.input-group-sm > .input-group-btn > .form-control-plaintext.btn, .form-control-plaintext.form-control-lg, .input-group-lg > .form-control-plaintext.form-control, +.input-group-lg > .form-control-plaintext.input-group-addon, +.input-group-lg > .input-group-btn > .form-control-plaintext.btn { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm, .input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +select.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]), +.input-group-sm > select.input-group-addon:not([size]):not([multiple]), +.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) { + height: calc(1.8125rem + 2px); +} + +.form-control-lg, .input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]), +.input-group-lg > select.input-group-addon:not([size]):not([multiple]), +.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) { + height: calc(2.875rem + 2px); +} + +.form-group { + margin-bottom: 1rem; +} + +.form-text { + display: block; + margin-top: 0.25rem; +} + +.form-row { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -5px; + margin-left: -5px; +} + +.form-row > .col, +.form-row > [class*="col-"] { + padding-right: 5px; + padding-left: 5px; +} + +.form-check { + position: relative; + display: block; + margin-bottom: 0.5rem; +} + +.form-check.disabled .form-check-label { + color: #868e96; +} + +.form-check-label { + padding-left: 1.25rem; + margin-bottom: 0; +} + +.form-check-input { + position: absolute; + margin-top: 0.25rem; + margin-left: -1.25rem; +} + +.form-check-inline { + display: inline-block; + margin-right: 0.75rem; +} + +.form-check-inline .form-check-label { + vertical-align: middle; +} + +.valid-feedback { + display: none; + margin-top: .25rem; + font-size: .875rem; + color: #28a745; +} + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + width: 250px; + padding: .5rem; + margin-top: .1rem; + font-size: .875rem; + line-height: 1; + color: #fff; + background-color: rgba(40, 167, 69, 0.8); + border-radius: .2rem; +} + +.was-validated .form-control:valid, .form-control.is-valid, .was-validated +.custom-select:valid, +.custom-select.is-valid { + border-color: #28a745; +} + +.was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated +.custom-select:valid:focus, +.custom-select.is-valid:focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated .form-control:valid ~ .valid-feedback, +.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback, +.form-control.is-valid ~ .valid-tooltip, .was-validated +.custom-select:valid ~ .valid-feedback, +.was-validated +.custom-select:valid ~ .valid-tooltip, +.custom-select.is-valid ~ .valid-feedback, +.custom-select.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-check-input:valid + .form-check-label, .form-check-input.is-valid + .form-check-label { + color: #28a745; +} + +.was-validated .custom-control-input:valid ~ .custom-control-indicator, .custom-control-input.is-valid ~ .custom-control-indicator { + background-color: rgba(40, 167, 69, 0.25); +} + +.was-validated .custom-control-input:valid ~ .custom-control-description, .custom-control-input.is-valid ~ .custom-control-description { + color: #28a745; +} + +.was-validated .custom-file-input:valid ~ .custom-file-control, .custom-file-input.is-valid ~ .custom-file-control { + border-color: #28a745; +} + +.was-validated .custom-file-input:valid ~ .custom-file-control::before, .custom-file-input.is-valid ~ .custom-file-control::before { + border-color: inherit; +} + +.was-validated .custom-file-input:valid:focus, .custom-file-input.is-valid:focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.invalid-feedback { + display: none; + margin-top: .25rem; + font-size: .875rem; + color: #dc3545; +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + width: 250px; + padding: .5rem; + margin-top: .1rem; + font-size: .875rem; + line-height: 1; + color: #fff; + background-color: rgba(220, 53, 69, 0.8); + border-radius: .2rem; +} + +.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated +.custom-select:invalid, +.custom-select.is-invalid { + border-color: #dc3545; +} + +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated +.custom-select:invalid:focus, +.custom-select.is-invalid:focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated .form-control:invalid ~ .invalid-feedback, +.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback, +.form-control.is-invalid ~ .invalid-tooltip, .was-validated +.custom-select:invalid ~ .invalid-feedback, +.was-validated +.custom-select:invalid ~ .invalid-tooltip, +.custom-select.is-invalid ~ .invalid-feedback, +.custom-select.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-check-input:invalid + .form-check-label, .form-check-input.is-invalid + .form-check-label { + color: #dc3545; +} + +.was-validated .custom-control-input:invalid ~ .custom-control-indicator, .custom-control-input.is-invalid ~ .custom-control-indicator { + background-color: rgba(220, 53, 69, 0.25); +} + +.was-validated .custom-control-input:invalid ~ .custom-control-description, .custom-control-input.is-invalid ~ .custom-control-description { + color: #dc3545; +} + +.was-validated .custom-file-input:invalid ~ .custom-file-control, .custom-file-input.is-invalid ~ .custom-file-control { + border-color: #dc3545; +} + +.was-validated .custom-file-input:invalid ~ .custom-file-control::before, .custom-file-input.is-invalid ~ .custom-file-control::before { + border-color: inherit; +} + +.was-validated .custom-file-input:invalid:focus, .custom-file-input.is-invalid:focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.form-inline { + display: -ms-flexbox; + display: flex; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + -ms-flex-align: center; + align-items: center; +} + +.form-inline .form-check { + width: 100%; +} + +@media (min-width: 576px) { + .form-inline label { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + margin-bottom: 0; + } + .form-inline .form-group { + display: -ms-flexbox; + display: flex; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + -ms-flex-align: center; + align-items: center; + margin-bottom: 0; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-plaintext { + display: inline-block; + } + .form-inline .input-group { + width: auto; + } + .form-inline .form-check { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + width: auto; + margin-top: 0; + margin-bottom: 0; + } + .form-inline .form-check-label { + padding-left: 0; + } + .form-inline .form-check-input { + position: relative; + margin-top: 0; + margin-right: 0.25rem; + margin-left: 0; + } + .form-inline .custom-control { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + padding-left: 0; + } + .form-inline .custom-control-indicator { + position: static; + display: inline-block; + margin-right: 0.25rem; + vertical-align: text-bottom; + } + .form-inline .has-feedback .form-control-feedback { + top: 0; + } +} + +.btn { + display: inline-block; + font-weight: 400; + text-align: center; + white-space: nowrap; + vertical-align: middle; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: 0.25rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +.btn:focus, .btn:hover { + text-decoration: none; +} + +.btn:focus, .btn.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.btn.disabled, .btn:disabled { + opacity: .65; +} + +.btn:not([disabled]):not(.disabled):active, .btn:not([disabled]):not(.disabled).active { + background-image: none; +} + +a.btn.disabled, +fieldset[disabled] a.btn { + pointer-events: none; +} + +.btn-primary { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-primary:hover { + color: #fff; + background-color: #0069d9; + border-color: #0062cc; +} + +.btn-primary:focus, .btn-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-primary.disabled, .btn-primary:disabled { + background-color: #007bff; + border-color: #007bff; +} + +.btn-primary:not([disabled]):not(.disabled):active, .btn-primary:not([disabled]):not(.disabled).active, +.show > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #0062cc; + border-color: #005cbf; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-secondary { + color: #fff; + background-color: #868e96; + border-color: #868e96; +} + +.btn-secondary:hover { + color: #fff; + background-color: #727b84; + border-color: #6c757d; +} + +.btn-secondary:focus, .btn-secondary.focus { + box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5); +} + +.btn-secondary.disabled, .btn-secondary:disabled { + background-color: #868e96; + border-color: #868e96; +} + +.btn-secondary:not([disabled]):not(.disabled):active, .btn-secondary:not([disabled]):not(.disabled).active, +.show > .btn-secondary.dropdown-toggle { + color: #fff; + background-color: #6c757d; + border-color: #666e76; + box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5); +} + +.btn-success { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-success:hover { + color: #fff; + background-color: #218838; + border-color: #1e7e34; +} + +.btn-success:focus, .btn-success.focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-success.disabled, .btn-success:disabled { + background-color: #28a745; + border-color: #28a745; +} + +.btn-success:not([disabled]):not(.disabled):active, .btn-success:not([disabled]):not(.disabled).active, +.show > .btn-success.dropdown-toggle { + color: #fff; + background-color: #1e7e34; + border-color: #1c7430; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-info { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-info:hover { + color: #fff; + background-color: #138496; + border-color: #117a8b; +} + +.btn-info:focus, .btn-info.focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-info.disabled, .btn-info:disabled { + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-info:not([disabled]):not(.disabled):active, .btn-info:not([disabled]):not(.disabled).active, +.show > .btn-info.dropdown-toggle { + color: #fff; + background-color: #117a8b; + border-color: #10707f; + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-warning { + color: #111; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-warning:hover { + color: #111; + background-color: #e0a800; + border-color: #d39e00; +} + +.btn-warning:focus, .btn-warning.focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-warning.disabled, .btn-warning:disabled { + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-warning:not([disabled]):not(.disabled):active, .btn-warning:not([disabled]):not(.disabled).active, +.show > .btn-warning.dropdown-toggle { + color: #111; + background-color: #d39e00; + border-color: #c69500; + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-danger { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-danger:hover { + color: #fff; + background-color: #c82333; + border-color: #bd2130; +} + +.btn-danger:focus, .btn-danger.focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-danger.disabled, .btn-danger:disabled { + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-danger:not([disabled]):not(.disabled):active, .btn-danger:not([disabled]):not(.disabled).active, +.show > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #bd2130; + border-color: #b21f2d; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-light { + color: #111; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-light:hover { + color: #111; + background-color: #e2e6ea; + border-color: #dae0e5; +} + +.btn-light:focus, .btn-light.focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-light.disabled, .btn-light:disabled { + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-light:not([disabled]):not(.disabled):active, .btn-light:not([disabled]):not(.disabled).active, +.show > .btn-light.dropdown-toggle { + color: #111; + background-color: #dae0e5; + border-color: #d3d9df; + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-dark { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-dark:hover { + color: #fff; + background-color: #23272b; + border-color: #1d2124; +} + +.btn-dark:focus, .btn-dark.focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-dark.disabled, .btn-dark:disabled { + background-color: #343a40; + border-color: #343a40; +} + +.btn-dark:not([disabled]):not(.disabled):active, .btn-dark:not([disabled]):not(.disabled).active, +.show > .btn-dark.dropdown-toggle { + color: #fff; + background-color: #1d2124; + border-color: #171a1d; + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-outline-primary { + color: #007bff; + background-color: transparent; + background-image: none; + border-color: #007bff; +} + +.btn-outline-primary:hover { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:focus, .btn-outline-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-outline-primary.disabled, .btn-outline-primary:disabled { + color: #007bff; + background-color: transparent; +} + +.btn-outline-primary:not([disabled]):not(.disabled):active, .btn-outline-primary:not([disabled]):not(.disabled).active, +.show > .btn-outline-primary.dropdown-toggle { + color: #fff; + background-color: #007bff; + border-color: #007bff; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-outline-secondary { + color: #868e96; + background-color: transparent; + background-image: none; + border-color: #868e96; +} + +.btn-outline-secondary:hover { + color: #fff; + background-color: #868e96; + border-color: #868e96; +} + +.btn-outline-secondary:focus, .btn-outline-secondary.focus { + box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5); +} + +.btn-outline-secondary.disabled, .btn-outline-secondary:disabled { + color: #868e96; + background-color: transparent; +} + +.btn-outline-secondary:not([disabled]):not(.disabled):active, .btn-outline-secondary:not([disabled]):not(.disabled).active, +.show > .btn-outline-secondary.dropdown-toggle { + color: #fff; + background-color: #868e96; + border-color: #868e96; + box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5); +} + +.btn-outline-success { + color: #28a745; + background-color: transparent; + background-image: none; + border-color: #28a745; +} + +.btn-outline-success:hover { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:focus, .btn-outline-success.focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-outline-success.disabled, .btn-outline-success:disabled { + color: #28a745; + background-color: transparent; +} + +.btn-outline-success:not([disabled]):not(.disabled):active, .btn-outline-success:not([disabled]):not(.disabled).active, +.show > .btn-outline-success.dropdown-toggle { + color: #fff; + background-color: #28a745; + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-outline-info { + color: #17a2b8; + background-color: transparent; + background-image: none; + border-color: #17a2b8; +} + +.btn-outline-info:hover { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:focus, .btn-outline-info.focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-outline-info.disabled, .btn-outline-info:disabled { + color: #17a2b8; + background-color: transparent; +} + +.btn-outline-info:not([disabled]):not(.disabled):active, .btn-outline-info:not([disabled]):not(.disabled).active, +.show > .btn-outline-info.dropdown-toggle { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-outline-warning { + color: #ffc107; + background-color: transparent; + background-image: none; + border-color: #ffc107; +} + +.btn-outline-warning:hover { + color: #fff; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:focus, .btn-outline-warning.focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-outline-warning.disabled, .btn-outline-warning:disabled { + color: #ffc107; + background-color: transparent; +} + +.btn-outline-warning:not([disabled]):not(.disabled):active, .btn-outline-warning:not([disabled]):not(.disabled).active, +.show > .btn-outline-warning.dropdown-toggle { + color: #fff; + background-color: #ffc107; + border-color: #ffc107; + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-outline-danger { + color: #dc3545; + background-color: transparent; + background-image: none; + border-color: #dc3545; +} + +.btn-outline-danger:hover { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:focus, .btn-outline-danger.focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-outline-danger.disabled, .btn-outline-danger:disabled { + color: #dc3545; + background-color: transparent; +} + +.btn-outline-danger:not([disabled]):not(.disabled):active, .btn-outline-danger:not([disabled]):not(.disabled).active, +.show > .btn-outline-danger.dropdown-toggle { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-outline-light { + color: #f8f9fa; + background-color: transparent; + background-image: none; + border-color: #f8f9fa; +} + +.btn-outline-light:hover { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:focus, .btn-outline-light.focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-outline-light.disabled, .btn-outline-light:disabled { + color: #f8f9fa; + background-color: transparent; +} + +.btn-outline-light:not([disabled]):not(.disabled):active, .btn-outline-light:not([disabled]):not(.disabled).active, +.show > .btn-outline-light.dropdown-toggle { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-outline-dark { + color: #343a40; + background-color: transparent; + background-image: none; + border-color: #343a40; +} + +.btn-outline-dark:hover { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:focus, .btn-outline-dark.focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-outline-dark.disabled, .btn-outline-dark:disabled { + color: #343a40; + background-color: transparent; +} + +.btn-outline-dark:not([disabled]):not(.disabled):active, .btn-outline-dark:not([disabled]):not(.disabled).active, +.show > .btn-outline-dark.dropdown-toggle { + color: #fff; + background-color: #343a40; + border-color: #343a40; + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-link { + font-weight: 400; + color: #007bff; + background-color: transparent; +} + +.btn-link:hover { + color: #0056b3; + text-decoration: underline; + background-color: transparent; + border-color: transparent; +} + +.btn-link:focus, .btn-link.focus { + border-color: transparent; + box-shadow: none; +} + +.btn-link:disabled, .btn-link.disabled { + color: #868e96; +} + +.btn-lg, .btn-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +.btn-sm, .btn-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.btn-block { + display: block; + width: 100%; +} + +.btn-block + .btn-block { + margin-top: 0.5rem; +} + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} + +.fade { + opacity: 0; + transition: opacity 0.15s linear; +} + +.fade.show { + opacity: 1; +} + +.collapse { + display: none; +} + +.collapse.show { + display: block; +} + +tr.collapse.show { + display: table-row; +} + +tbody.collapse.show { + display: table-row-group; +} + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} + +.dropup, +.dropdown { + position: relative; +} + +.dropdown-toggle::after { + display: inline-block; + width: 0; + height: 0; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} + +.dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0.125rem 0 0; + font-size: 1rem; + color: #212529; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; +} + +.dropup .dropdown-menu { + margin-top: 0; + margin-bottom: 0.125rem; +} + +.dropup .dropdown-toggle::after { + display: inline-block; + width: 0; + height: 0; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} + +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropdown-divider { + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid #e9ecef; +} + +.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1.5rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + white-space: nowrap; + background: none; + border: 0; +} + +.dropdown-item:focus, .dropdown-item:hover { + color: #16181b; + text-decoration: none; + background-color: #f8f9fa; +} + +.dropdown-item.active, .dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: #007bff; +} + +.dropdown-item.disabled, .dropdown-item:disabled { + color: #868e96; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: 0.5rem 1.5rem; + margin-bottom: 0; + font-size: 0.875rem; + color: #868e96; + white-space: nowrap; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: -ms-inline-flexbox; + display: inline-flex; + vertical-align: middle; +} + +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + -ms-flex: 0 1 auto; + flex: 0 1 auto; +} + +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover { + z-index: 2; +} + +.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 2; +} + +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group, +.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-left: -1px; +} + +.btn-toolbar { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-pack: start; + justify-content: flex-start; +} + +.btn-toolbar .input-group { + width: auto; +} + +.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 + .dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} + +.btn + .dropdown-toggle-split::after { + margin-left: 0; +} + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} + +.btn-group-vertical { + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-align: start; + align-items: flex-start; + -ms-flex-pack: center; + justify-content: center; +} + +.btn-group-vertical .btn, +.btn-group-vertical .btn-group { + width: 100%; +} + +.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-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; +} + +.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; +} + +[data-toggle="buttons"] > .btn input[type="radio"], +[data-toggle="buttons"] > .btn input[type="checkbox"], +[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], +[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} + +.input-group { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-align: stretch; + align-items: stretch; + width: 100%; +} + +.input-group .form-control { + position: relative; + z-index: 2; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + width: 1%; + margin-bottom: 0; +} + +.input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover { + z-index: 3; +} + +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; +} + +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} + +.input-group-addon, +.input-group-btn { + white-space: nowrap; +} + +.input-group-addon { + padding: 0.375rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + text-align: center; + background-color: #e9ecef; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +.input-group-addon.form-control-sm, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .input-group-addon.btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.2rem; +} + +.input-group-addon.form-control-lg, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .input-group-addon.btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: 0.3rem; +} + +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} + +.input-group .form-control:not(:last-child), +.input-group-addon:not(:last-child), +.input-group-btn:not(:last-child) > .btn, +.input-group-btn:not(:last-child) > .btn-group > .btn, +.input-group-btn:not(:last-child) > .dropdown-toggle, +.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group-addon:not(:last-child) { + border-right: 0; +} + +.input-group .form-control:not(:first-child), +.input-group-addon:not(:first-child), +.input-group-btn:not(:first-child) > .btn, +.input-group-btn:not(:first-child) > .btn-group > .btn, +.input-group-btn:not(:first-child) > .dropdown-toggle, +.input-group-btn:not(:last-child) > .btn:not(:first-child), +.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.form-control + .input-group-addon:not(:first-child) { + border-left: 0; +} + +.input-group-btn { + position: relative; + -ms-flex-align: stretch; + align-items: stretch; + font-size: 0; + white-space: nowrap; +} + +.input-group-btn > .btn { + position: relative; +} + +.input-group-btn > .btn + .btn { + margin-left: -1px; +} + +.input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover { + z-index: 3; +} + +.input-group-btn:first-child > .btn + .btn { + margin-left: 0; +} + +.input-group-btn:not(:last-child) > .btn, +.input-group-btn:not(:last-child) > .btn-group { + margin-right: -1px; +} + +.input-group-btn:not(:first-child) > .btn, +.input-group-btn:not(:first-child) > .btn-group { + z-index: 2; + margin-left: 0; +} + +.input-group-btn:not(:first-child) > .btn:first-child, +.input-group-btn:not(:first-child) > .btn-group:first-child { + margin-left: -1px; +} + +.input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover, +.input-group-btn:not(:first-child) > .btn-group:focus, +.input-group-btn:not(:first-child) > .btn-group:active, +.input-group-btn:not(:first-child) > .btn-group:hover { + z-index: 3; +} + +.custom-control { + position: relative; + display: -ms-inline-flexbox; + display: inline-flex; + min-height: 1.5rem; + padding-left: 1.5rem; + margin-right: 1rem; +} + +.custom-control-input { + position: absolute; + z-index: -1; + opacity: 0; +} + +.custom-control-input:checked ~ .custom-control-indicator { + color: #fff; + background-color: #007bff; +} + +.custom-control-input:focus ~ .custom-control-indicator { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-control-input:active ~ .custom-control-indicator { + color: #fff; + background-color: #b3d7ff; +} + +.custom-control-input:disabled ~ .custom-control-indicator { + background-color: #e9ecef; +} + +.custom-control-input:disabled ~ .custom-control-description { + color: #868e96; +} + +.custom-control-indicator { + position: absolute; + top: 0.25rem; + left: 0; + display: block; + width: 1rem; + height: 1rem; + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: #ddd; + background-repeat: no-repeat; + background-position: center center; + background-size: 50% 50%; +} + +.custom-checkbox .custom-control-indicator { + border-radius: 0.25rem; +} + +.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"); +} + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator { + background-color: #007bff; + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E"); +} + +.custom-radio .custom-control-indicator { + border-radius: 50%; +} + +.custom-radio .custom-control-input:checked ~ .custom-control-indicator { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E"); +} + +.custom-controls-stacked { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; +} + +.custom-controls-stacked .custom-control { + margin-bottom: 0.25rem; +} + +.custom-controls-stacked .custom-control + .custom-control { + margin-left: 0; +} + +.custom-select { + display: inline-block; + max-width: 100%; + height: calc(2.25rem + 2px); + padding: 0.375rem 1.75rem 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + vertical-align: middle; + background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center; + background-size: 8px 10px; + border: 1px solid #ced4da; + border-radius: 0.25rem; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.custom-select:focus { + border-color: #80bdff; + outline: none; +} + +.custom-select:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +.custom-select[multiple] { + height: auto; + background-image: none; +} + +.custom-select:disabled { + color: #868e96; + background-color: #e9ecef; +} + +.custom-select::-ms-expand { + opacity: 0; +} + +.custom-select-sm { + height: calc(1.8125rem + 2px); + padding-top: 0.375rem; + padding-bottom: 0.375rem; + font-size: 75%; +} + +.custom-file { + position: relative; + display: inline-block; + max-width: 100%; + height: calc(2.25rem + 2px); + margin-bottom: 0; +} + +.custom-file-input { + min-width: 14rem; + max-width: 100%; + height: calc(2.25rem + 2px); + margin: 0; + opacity: 0; +} + +.custom-file-input:focus ~ .custom-file-control { + box-shadow: 0 0 0 0.075rem #fff, 0 0 0 0.2rem #007bff; +} + +.custom-file-control { + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 5; + height: calc(2.25rem + 2px); + padding: 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: #fff; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +.custom-file-control:lang(en):empty::after { + content: "Choose file..."; +} + +.custom-file-control::before { + position: absolute; + top: -1px; + right: -1px; + bottom: -1px; + z-index: 6; + display: block; + height: calc(2.25rem + 2px); + padding: 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + background-color: #e9ecef; + border: 1px solid #ced4da; + border-radius: 0 0.25rem 0.25rem 0; +} + +.custom-file-control:lang(en)::before { + content: "Browse"; +} + +.nav { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: 0.5rem 1rem; +} + +.nav-link:focus, .nav-link:hover { + text-decoration: none; +} + +.nav-link.disabled { + color: #868e96; +} + +.nav-tabs { + border-bottom: 1px solid #ddd; +} + +.nav-tabs .nav-item { + margin-bottom: -1px; +} + +.nav-tabs .nav-link { + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover { + border-color: #e9ecef #e9ecef #ddd; +} + +.nav-tabs .nav-link.disabled { + color: #868e96; + background-color: transparent; + border-color: transparent; +} + +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: #495057; + background-color: #fff; + border-color: #ddd #ddd #fff; +} + +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav-pills .nav-link { + border-radius: 0.25rem; +} + +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fff; + background-color: #007bff; +} + +.nav-fill .nav-item { + -ms-flex: 1 1 auto; + flex: 1 1 auto; + text-align: center; +} + +.nav-justified .nav-item { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + text-align: center; +} + +.tab-content > .tab-pane { + display: none; +} + +.tab-content > .active { + display: block; +} + +.navbar { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 0.5rem 1rem; +} + +.navbar > .container, +.navbar > .container-fluid { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.navbar-brand { + display: inline-block; + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + line-height: inherit; + white-space: nowrap; +} + +.navbar-brand:focus, .navbar-brand:hover { + text-decoration: none; +} + +.navbar-nav { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; +} + +.navbar-nav .dropdown-menu { + position: static; + float: none; +} + +.navbar-text { + display: inline-block; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.navbar-collapse { + -ms-flex-preferred-size: 100%; + flex-basis: 100%; + -ms-flex-positive: 1; + flex-grow: 1; + -ms-flex-align: center; + align-items: center; +} + +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.navbar-toggler:focus, .navbar-toggler:hover { + text-decoration: none; +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + content: ""; + background: no-repeat center center; + background-size: 100% 100%; +} + +@media (max-width: 575px) { + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 576px) { + .navbar-expand-sm { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .dropdown-menu-right { + right: 0; + left: auto; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: .5rem; + padding-left: .5rem; + } + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-sm .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } + .navbar-expand-sm .dropup .dropdown-menu { + top: auto; + bottom: 100%; + } +} + +@media (max-width: 767px) { + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 768px) { + .navbar-expand-md { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .dropdown-menu-right { + right: 0; + left: auto; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: .5rem; + padding-left: .5rem; + } + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-md .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } + .navbar-expand-md .dropup .dropdown-menu { + top: auto; + bottom: 100%; + } +} + +@media (max-width: 991px) { + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 992px) { + .navbar-expand-lg { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .dropdown-menu-right { + right: 0; + left: auto; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: .5rem; + padding-left: .5rem; + } + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-lg .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } + .navbar-expand-lg .dropup .dropdown-menu { + top: auto; + bottom: 100%; + } +} + +@media (max-width: 1199px) { + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 1200px) { + .navbar-expand-xl { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .dropdown-menu-right { + right: 0; + left: auto; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: .5rem; + padding-left: .5rem; + } + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-xl .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } + .navbar-expand-xl .dropup .dropdown-menu { + top: auto; + bottom: 100%; + } +} + +.navbar-expand { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; +} + +.navbar-expand > .container, +.navbar-expand > .container-fluid { + padding-right: 0; + padding-left: 0; +} + +.navbar-expand .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; +} + +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} + +.navbar-expand .navbar-nav .dropdown-menu-right { + right: 0; + left: auto; +} + +.navbar-expand .navbar-nav .nav-link { + padding-right: .5rem; + padding-left: .5rem; +} + +.navbar-expand > .container, +.navbar-expand > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; +} + +.navbar-expand .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; +} + +.navbar-expand .navbar-toggler { + display: none; +} + +.navbar-expand .dropup .dropdown-menu { + top: auto; + bottom: 100%; +} + +.navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover { + color: rgba(0, 0, 0, 0.7); +} + +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); +} + +.navbar-light .navbar-nav .show > .nav-link, +.navbar-light .navbar-nav .active > .nav-link, +.navbar-light .navbar-nav .nav-link.show, +.navbar-light .navbar-nav .nav-link.active { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.5); + border-color: rgba(0, 0, 0, 0.1); +} + +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); +} + +.navbar-light .navbar-text { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-text a { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-text a:focus, .navbar-light .navbar-text a:hover { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-dark .navbar-brand { + color: #fff; +} + +.navbar-dark .navbar-brand:focus, .navbar-dark .navbar-brand:hover { + color: #fff; +} + +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover { + color: rgba(255, 255, 255, 0.75); +} + +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); +} + +.navbar-dark .navbar-nav .show > .nav-link, +.navbar-dark .navbar-nav .active > .nav-link, +.navbar-dark .navbar-nav .nav-link.show, +.navbar-dark .navbar-nav .nav-link.active { + color: #fff; +} + +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.5); + border-color: rgba(255, 255, 255, 0.1); +} + +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); +} + +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-text a { + color: #fff; +} + +.navbar-dark .navbar-text a:focus, .navbar-dark .navbar-text a:hover { + color: #fff; +} + +.card { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0, 0, 0, 0.125); + border-radius: 0.25rem; +} + +.card > hr { + margin-right: 0; + margin-left: 0; +} + +.card > .list-group:first-child .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.card > .list-group:last-child .list-group-item:last-child { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.card-body { + -ms-flex: 1 1 auto; + flex: 1 1 auto; + padding: 1.25rem; +} + +.card-title { + margin-bottom: 0.75rem; +} + +.card-subtitle { + margin-top: -0.375rem; + margin-bottom: 0; +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link:hover { + text-decoration: none; +} + +.card-link + .card-link { + margin-left: 1.25rem; +} + +.card-header { + padding: 0.75rem 1.25rem; + margin-bottom: 0; + background-color: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-header:first-child { + border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; +} + +.card-header + .list-group .list-group-item:first-child { + border-top: 0; +} + +.card-footer { + padding: 0.75rem 1.25rem; + background-color: rgba(0, 0, 0, 0.03); + border-top: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-footer:last-child { + border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); +} + +.card-header-tabs { + margin-right: -0.625rem; + margin-bottom: -0.75rem; + margin-left: -0.625rem; + border-bottom: 0; +} + +.card-header-pills { + margin-right: -0.625rem; + margin-left: -0.625rem; +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1.25rem; +} + +.card-img { + width: 100%; + border-radius: calc(0.25rem - 1px); +} + +.card-img-top { + width: 100%; + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} + +.card-img-bottom { + width: 100%; + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} + +.card-deck { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; +} + +.card-deck .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-deck { + -ms-flex-flow: row wrap; + flex-flow: row wrap; + margin-right: -15px; + margin-left: -15px; + } + .card-deck .card { + display: -ms-flexbox; + display: flex; + -ms-flex: 1 0 0%; + flex: 1 0 0%; + -ms-flex-direction: column; + flex-direction: column; + margin-right: 15px; + margin-bottom: 0; + margin-left: 15px; + } +} + +.card-group { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; +} + +.card-group .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-group { + -ms-flex-flow: row wrap; + flex-flow: row wrap; + } + .card-group .card { + -ms-flex: 1 0 0%; + flex: 1 0 0%; + margin-bottom: 0; + } + .card-group .card + .card { + margin-left: 0; + border-left: 0; + } + .card-group .card:first-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group .card:first-child .card-img-top { + border-top-right-radius: 0; + } + .card-group .card:first-child .card-img-bottom { + border-bottom-right-radius: 0; + } + .card-group .card:last-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group .card:last-child .card-img-top { + border-top-left-radius: 0; + } + .card-group .card:last-child .card-img-bottom { + border-bottom-left-radius: 0; + } + .card-group .card:only-child { + border-radius: 0.25rem; + } + .card-group .card:only-child .card-img-top { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; + } + .card-group .card:only-child .card-img-bottom { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + } + .card-group .card:not(:first-child):not(:last-child):not(:only-child) { + border-radius: 0; + } + .card-group .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top, + .card-group .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom { + border-radius: 0; + } +} + +.card-columns .card { + margin-bottom: 0.75rem; +} + +@media (min-width: 576px) { + .card-columns { + -webkit-column-count: 3; + column-count: 3; + -webkit-column-gap: 1.25rem; + column-gap: 1.25rem; + } + .card-columns .card { + display: inline-block; + width: 100%; + } +} + +.breadcrumb { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding: 0.75rem 1rem; + margin-bottom: 1rem; + list-style: none; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +.breadcrumb-item + .breadcrumb-item::before { + display: inline-block; + padding-right: 0.5rem; + padding-left: 0.5rem; + color: #868e96; + content: "/"; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: underline; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: none; +} + +.breadcrumb-item.active { + color: #868e96; +} + +.pagination { + display: -ms-flexbox; + display: flex; + padding-left: 0; + list-style: none; + border-radius: 0.25rem; +} + +.page-item:first-child .page-link { + margin-left: 0; + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.page-item:last-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} + +.page-item.active .page-link { + z-index: 2; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.page-item.disabled .page-link { + color: #868e96; + pointer-events: none; + background-color: #fff; + border-color: #ddd; +} + +.page-link { + position: relative; + display: block; + padding: 0.5rem 0.75rem; + margin-left: -1px; + line-height: 1.25; + color: #007bff; + background-color: #fff; + border: 1px solid #ddd; +} + +.page-link:focus, .page-link:hover { + color: #0056b3; + text-decoration: none; + background-color: #e9ecef; + border-color: #ddd; +} + +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; + line-height: 1.5; +} + +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} + +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.3rem; + border-bottom-right-radius: 0.3rem; +} + +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; +} + +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; +} + +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; +} + +.badge { + display: inline-block; + padding: 0.25em 0.4em; + font-size: 75%; + font-weight: 700; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25rem; +} + +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +.badge-pill { + padding-right: 0.6em; + padding-left: 0.6em; + border-radius: 10rem; +} + +.badge-primary { + color: #fff; + background-color: #007bff; +} + +.badge-primary[href]:focus, .badge-primary[href]:hover { + color: #fff; + text-decoration: none; + background-color: #0062cc; +} + +.badge-secondary { + color: #fff; + background-color: #868e96; +} + +.badge-secondary[href]:focus, .badge-secondary[href]:hover { + color: #fff; + text-decoration: none; + background-color: #6c757d; +} + +.badge-success { + color: #fff; + background-color: #28a745; +} + +.badge-success[href]:focus, .badge-success[href]:hover { + color: #fff; + text-decoration: none; + background-color: #1e7e34; +} + +.badge-info { + color: #fff; + background-color: #17a2b8; +} + +.badge-info[href]:focus, .badge-info[href]:hover { + color: #fff; + text-decoration: none; + background-color: #117a8b; +} + +.badge-warning { + color: #111; + background-color: #ffc107; +} + +.badge-warning[href]:focus, .badge-warning[href]:hover { + color: #111; + text-decoration: none; + background-color: #d39e00; +} + +.badge-danger { + color: #fff; + background-color: #dc3545; +} + +.badge-danger[href]:focus, .badge-danger[href]:hover { + color: #fff; + text-decoration: none; + background-color: #bd2130; +} + +.badge-light { + color: #111; + background-color: #f8f9fa; +} + +.badge-light[href]:focus, .badge-light[href]:hover { + color: #111; + text-decoration: none; + background-color: #dae0e5; +} + +.badge-dark { + color: #fff; + background-color: #343a40; +} + +.badge-dark[href]:focus, .badge-dark[href]:hover { + color: #fff; + text-decoration: none; + background-color: #1d2124; +} + +.jumbotron { + padding: 2rem 1rem; + margin-bottom: 2rem; + background-color: #e9ecef; + border-radius: 0.3rem; +} + +@media (min-width: 576px) { + .jumbotron { + padding: 4rem 2rem; + } +} + +.jumbotron-fluid { + padding-right: 0; + padding-left: 0; + border-radius: 0; +} + +.alert { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: 700; +} + +.alert-dismissible .close { + position: absolute; + top: 0; + right: 0; + padding: 0.75rem 1.25rem; + color: inherit; +} + +.alert-primary { + color: #004085; + background-color: #cce5ff; + border-color: #b8daff; +} + +.alert-primary hr { + border-top-color: #9fcdff; +} + +.alert-primary .alert-link { + color: #002752; +} + +.alert-secondary { + color: #464a4e; + background-color: #e7e8ea; + border-color: #dddfe2; +} + +.alert-secondary hr { + border-top-color: #cfd2d6; +} + +.alert-secondary .alert-link { + color: #2e3133; +} + +.alert-success { + color: #155724; + background-color: #d4edda; + border-color: #c3e6cb; +} + +.alert-success hr { + border-top-color: #b1dfbb; +} + +.alert-success .alert-link { + color: #0b2e13; +} + +.alert-info { + color: #0c5460; + background-color: #d1ecf1; + border-color: #bee5eb; +} + +.alert-info hr { + border-top-color: #abdde5; +} + +.alert-info .alert-link { + color: #062c33; +} + +.alert-warning { + color: #856404; + background-color: #fff3cd; + border-color: #ffeeba; +} + +.alert-warning hr { + border-top-color: #ffe8a1; +} + +.alert-warning .alert-link { + color: #533f03; +} + +.alert-danger { + color: #721c24; + background-color: #f8d7da; + border-color: #f5c6cb; +} + +.alert-danger hr { + border-top-color: #f1b0b7; +} + +.alert-danger .alert-link { + color: #491217; +} + +.alert-light { + color: #818182; + background-color: #fefefe; + border-color: #fdfdfe; +} + +.alert-light hr { + border-top-color: #ececf6; +} + +.alert-light .alert-link { + color: #686868; +} + +.alert-dark { + color: #1b1e21; + background-color: #d6d8d9; + border-color: #c6c8ca; +} + +.alert-dark hr { + border-top-color: #b9bbbe; +} + +.alert-dark .alert-link { + color: #040505; +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +@keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +.progress { + display: -ms-flexbox; + display: flex; + height: 1rem; + overflow: hidden; + font-size: 0.75rem; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +.progress-bar { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + color: #fff; + background-color: #007bff; +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 1rem 1rem; +} + +.progress-bar-animated { + -webkit-animation: progress-bar-stripes 1s linear infinite; + animation: progress-bar-stripes 1s linear infinite; +} + +.media { + display: -ms-flexbox; + display: flex; + -ms-flex-align: start; + align-items: flex-start; +} + +.media-body { + -ms-flex: 1; + flex: 1; +} + +.list-group { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; +} + +.list-group-item-action { + width: 100%; + color: #495057; + text-align: inherit; +} + +.list-group-item-action:focus, .list-group-item-action:hover { + color: #495057; + text-decoration: none; + background-color: #f8f9fa; +} + +.list-group-item-action:active { + color: #212529; + background-color: #e9ecef; +} + +.list-group-item { + position: relative; + display: block; + padding: 0.75rem 1.25rem; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} + +.list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.list-group-item:focus, .list-group-item:hover { + text-decoration: none; +} + +.list-group-item.disabled, .list-group-item:disabled { + color: #868e96; + background-color: #fff; +} + +.list-group-item.active { + z-index: 2; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.list-group-flush .list-group-item { + border-right: 0; + border-left: 0; + border-radius: 0; +} + +.list-group-flush:first-child .list-group-item:first-child { + border-top: 0; +} + +.list-group-flush:last-child .list-group-item:last-child { + border-bottom: 0; +} + +.list-group-item-primary { + color: #004085; + background-color: #b8daff; +} + +a.list-group-item-primary, +button.list-group-item-primary { + color: #004085; +} + +a.list-group-item-primary:focus, a.list-group-item-primary:hover, +button.list-group-item-primary:focus, +button.list-group-item-primary:hover { + color: #004085; + background-color: #9fcdff; +} + +a.list-group-item-primary.active, +button.list-group-item-primary.active { + color: #fff; + background-color: #004085; + border-color: #004085; +} + +.list-group-item-secondary { + color: #464a4e; + background-color: #dddfe2; +} + +a.list-group-item-secondary, +button.list-group-item-secondary { + color: #464a4e; +} + +a.list-group-item-secondary:focus, a.list-group-item-secondary:hover, +button.list-group-item-secondary:focus, +button.list-group-item-secondary:hover { + color: #464a4e; + background-color: #cfd2d6; +} + +a.list-group-item-secondary.active, +button.list-group-item-secondary.active { + color: #fff; + background-color: #464a4e; + border-color: #464a4e; +} + +.list-group-item-success { + color: #155724; + background-color: #c3e6cb; +} + +a.list-group-item-success, +button.list-group-item-success { + color: #155724; +} + +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: #155724; + background-color: #b1dfbb; +} + +a.list-group-item-success.active, +button.list-group-item-success.active { + color: #fff; + background-color: #155724; + border-color: #155724; +} + +.list-group-item-info { + color: #0c5460; + background-color: #bee5eb; +} + +a.list-group-item-info, +button.list-group-item-info { + color: #0c5460; +} + +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: #0c5460; + background-color: #abdde5; +} + +a.list-group-item-info.active, +button.list-group-item-info.active { + color: #fff; + background-color: #0c5460; + border-color: #0c5460; +} + +.list-group-item-warning { + color: #856404; + background-color: #ffeeba; +} + +a.list-group-item-warning, +button.list-group-item-warning { + color: #856404; +} + +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: #856404; + background-color: #ffe8a1; +} + +a.list-group-item-warning.active, +button.list-group-item-warning.active { + color: #fff; + background-color: #856404; + border-color: #856404; +} + +.list-group-item-danger { + color: #721c24; + background-color: #f5c6cb; +} + +a.list-group-item-danger, +button.list-group-item-danger { + color: #721c24; +} + +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: #721c24; + background-color: #f1b0b7; +} + +a.list-group-item-danger.active, +button.list-group-item-danger.active { + color: #fff; + background-color: #721c24; + border-color: #721c24; +} + +.list-group-item-light { + color: #818182; + background-color: #fdfdfe; +} + +a.list-group-item-light, +button.list-group-item-light { + color: #818182; +} + +a.list-group-item-light:focus, a.list-group-item-light:hover, +button.list-group-item-light:focus, +button.list-group-item-light:hover { + color: #818182; + background-color: #ececf6; +} + +a.list-group-item-light.active, +button.list-group-item-light.active { + color: #fff; + background-color: #818182; + border-color: #818182; +} + +.list-group-item-dark { + color: #1b1e21; + background-color: #c6c8ca; +} + +a.list-group-item-dark, +button.list-group-item-dark { + color: #1b1e21; +} + +a.list-group-item-dark:focus, a.list-group-item-dark:hover, +button.list-group-item-dark:focus, +button.list-group-item-dark:hover { + color: #1b1e21; + background-color: #b9bbbe; +} + +a.list-group-item-dark.active, +button.list-group-item-dark.active { + color: #fff; + background-color: #1b1e21; + border-color: #1b1e21; +} + +.close { + float: right; + font-size: 1.5rem; + font-weight: 700; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: .5; +} + +.close:focus, .close:hover { + color: #000; + text-decoration: none; + opacity: .75; +} + +button.close { + padding: 0; + background: transparent; + border: 0; + -webkit-appearance: none; +} + +.modal-open { + overflow: hidden; +} + +.modal { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + display: none; + overflow: hidden; + outline: 0; +} + +.modal.fade .modal-dialog { + transition: -webkit-transform 0.3s ease-out; + transition: transform 0.3s ease-out; + transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out; + -webkit-transform: translate(0, -25%); + transform: translate(0, -25%); +} + +.modal.show .modal-dialog { + -webkit-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; + pointer-events: none; +} + +.modal-content { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + outline: 0; +} + +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; +} + +.modal-backdrop.fade { + opacity: 0; +} + +.modal-backdrop.show { + opacity: 0.5; +} + +.modal-header { + display: -ms-flexbox; + display: flex; + -ms-flex-align: start; + align-items: flex-start; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 15px; + border-bottom: 1px solid #e9ecef; + border-top-left-radius: 0.3rem; + border-top-right-radius: 0.3rem; +} + +.modal-header .close { + padding: 15px; + margin: -15px -15px -15px auto; +} + +.modal-title { + margin-bottom: 0; + line-height: 1.5; +} + +.modal-body { + position: relative; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + padding: 15px; +} + +.modal-footer { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: end; + justify-content: flex-end; + padding: 15px; + border-top: 1px solid #e9ecef; +} + +.modal-footer > :not(:first-child) { + margin-left: .25rem; +} + +.modal-footer > :not(:last-child) { + margin-right: .25rem; +} + +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} + +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 30px auto; + } + .modal-sm { + max-width: 300px; + } +} + +@media (min-width: 992px) { + .modal-lg { + max-width: 800px; + } +} + +.tooltip { + position: absolute; + z-index: 1070; + display: block; + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; +} + +.tooltip.show { + opacity: 0.9; +} + +.tooltip .arrow { + position: absolute; + display: block; + width: 5px; + height: 5px; +} + +.tooltip .arrow::before { + position: absolute; + border-color: transparent; + border-style: solid; +} + +.tooltip.bs-tooltip-top, .tooltip.bs-tooltip-auto[x-placement^="top"] { + padding: 5px 0; +} + +.tooltip.bs-tooltip-top .arrow, .tooltip.bs-tooltip-auto[x-placement^="top"] .arrow { + bottom: 0; +} + +.tooltip.bs-tooltip-top .arrow::before, .tooltip.bs-tooltip-auto[x-placement^="top"] .arrow::before { + margin-left: -3px; + content: ""; + border-width: 5px 5px 0; + border-top-color: #000; +} + +.tooltip.bs-tooltip-right, .tooltip.bs-tooltip-auto[x-placement^="right"] { + padding: 0 5px; +} + +.tooltip.bs-tooltip-right .arrow, .tooltip.bs-tooltip-auto[x-placement^="right"] .arrow { + left: 0; +} + +.tooltip.bs-tooltip-right .arrow::before, .tooltip.bs-tooltip-auto[x-placement^="right"] .arrow::before { + margin-top: -3px; + content: ""; + border-width: 5px 5px 5px 0; + border-right-color: #000; +} + +.tooltip.bs-tooltip-bottom, .tooltip.bs-tooltip-auto[x-placement^="bottom"] { + padding: 5px 0; +} + +.tooltip.bs-tooltip-bottom .arrow, .tooltip.bs-tooltip-auto[x-placement^="bottom"] .arrow { + top: 0; +} + +.tooltip.bs-tooltip-bottom .arrow::before, .tooltip.bs-tooltip-auto[x-placement^="bottom"] .arrow::before { + margin-left: -3px; + content: ""; + border-width: 0 5px 5px; + border-bottom-color: #000; +} + +.tooltip.bs-tooltip-left, .tooltip.bs-tooltip-auto[x-placement^="left"] { + padding: 0 5px; +} + +.tooltip.bs-tooltip-left .arrow, .tooltip.bs-tooltip-auto[x-placement^="left"] .arrow { + right: 0; +} + +.tooltip.bs-tooltip-left .arrow::before, .tooltip.bs-tooltip-auto[x-placement^="left"] .arrow::before { + right: 0; + margin-top: -3px; + content: ""; + border-width: 5px 0 5px 5px; + border-left-color: #000; +} + +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.25rem; +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: block; + max-width: 276px; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; +} + +.popover .arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; +} + +.popover .arrow::before, +.popover .arrow::after { + position: absolute; + display: block; + border-color: transparent; + border-style: solid; +} + +.popover .arrow::before { + content: ""; + border-width: 0.8rem; +} + +.popover .arrow::after { + content: ""; + border-width: 0.8rem; +} + +.popover.bs-popover-top, .popover.bs-popover-auto[x-placement^="top"] { + margin-bottom: 0.8rem; +} + +.popover.bs-popover-top .arrow, .popover.bs-popover-auto[x-placement^="top"] .arrow { + bottom: 0; +} + +.popover.bs-popover-top .arrow::before, .popover.bs-popover-auto[x-placement^="top"] .arrow::before, +.popover.bs-popover-top .arrow::after, .popover.bs-popover-auto[x-placement^="top"] .arrow::after { + border-bottom-width: 0; +} + +.popover.bs-popover-top .arrow::before, .popover.bs-popover-auto[x-placement^="top"] .arrow::before { + bottom: -0.8rem; + margin-left: -0.8rem; + border-top-color: rgba(0, 0, 0, 0.25); +} + +.popover.bs-popover-top .arrow::after, .popover.bs-popover-auto[x-placement^="top"] .arrow::after { + bottom: calc((0.8rem - 1px) * -1); + margin-left: -0.8rem; + border-top-color: #fff; +} + +.popover.bs-popover-right, .popover.bs-popover-auto[x-placement^="right"] { + margin-left: 0.8rem; +} + +.popover.bs-popover-right .arrow, .popover.bs-popover-auto[x-placement^="right"] .arrow { + left: 0; +} + +.popover.bs-popover-right .arrow::before, .popover.bs-popover-auto[x-placement^="right"] .arrow::before, +.popover.bs-popover-right .arrow::after, .popover.bs-popover-auto[x-placement^="right"] .arrow::after { + margin-top: -0.8rem; + border-left-width: 0; +} + +.popover.bs-popover-right .arrow::before, .popover.bs-popover-auto[x-placement^="right"] .arrow::before { + left: -0.8rem; + border-right-color: rgba(0, 0, 0, 0.25); +} + +.popover.bs-popover-right .arrow::after, .popover.bs-popover-auto[x-placement^="right"] .arrow::after { + left: calc((0.8rem - 1px) * -1); + border-right-color: #fff; +} + +.popover.bs-popover-bottom, .popover.bs-popover-auto[x-placement^="bottom"] { + margin-top: 0.8rem; +} + +.popover.bs-popover-bottom .arrow, .popover.bs-popover-auto[x-placement^="bottom"] .arrow { + top: 0; +} + +.popover.bs-popover-bottom .arrow::before, .popover.bs-popover-auto[x-placement^="bottom"] .arrow::before, +.popover.bs-popover-bottom .arrow::after, .popover.bs-popover-auto[x-placement^="bottom"] .arrow::after { + margin-left: -0.8rem; + border-top-width: 0; +} + +.popover.bs-popover-bottom .arrow::before, .popover.bs-popover-auto[x-placement^="bottom"] .arrow::before { + top: -0.8rem; + border-bottom-color: rgba(0, 0, 0, 0.25); +} + +.popover.bs-popover-bottom .arrow::after, .popover.bs-popover-auto[x-placement^="bottom"] .arrow::after { + top: calc((0.8rem - 1px) * -1); + border-bottom-color: #fff; +} + +.popover.bs-popover-bottom .popover-header::before, .popover.bs-popover-auto[x-placement^="bottom"] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 20px; + margin-left: -10px; + content: ""; + border-bottom: 1px solid #f7f7f7; +} + +.popover.bs-popover-left, .popover.bs-popover-auto[x-placement^="left"] { + margin-right: 0.8rem; +} + +.popover.bs-popover-left .arrow, .popover.bs-popover-auto[x-placement^="left"] .arrow { + right: 0; +} + +.popover.bs-popover-left .arrow::before, .popover.bs-popover-auto[x-placement^="left"] .arrow::before, +.popover.bs-popover-left .arrow::after, .popover.bs-popover-auto[x-placement^="left"] .arrow::after { + margin-top: -0.8rem; + border-right-width: 0; +} + +.popover.bs-popover-left .arrow::before, .popover.bs-popover-auto[x-placement^="left"] .arrow::before { + right: -0.8rem; + border-left-color: rgba(0, 0, 0, 0.25); +} + +.popover.bs-popover-left .arrow::after, .popover.bs-popover-auto[x-placement^="left"] .arrow::after { + right: calc((0.8rem - 1px) * -1); + border-left-color: #fff; +} + +.popover-header { + padding: 0.5rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + color: inherit; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} + +.popover-header:empty { + display: none; +} + +.popover-body { + padding: 0.5rem 0.75rem; + color: #212529; +} + +.carousel { + position: relative; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + +.carousel-item { + position: relative; + display: none; + -ms-flex-align: center; + align-items: center; + width: 100%; + transition: -webkit-transform 0.6s ease; + transition: transform 0.6s ease; + transition: transform 0.6s ease, -webkit-transform 0.6s ease; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000px; + perspective: 1000px; +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +.carousel-item-next, +.carousel-item-prev { + position: absolute; + top: 0; +} + +.carousel-item-next.carousel-item-left, +.carousel-item-prev.carousel-item-right { + -webkit-transform: translateX(0); + transform: translateX(0); +} + +@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) { + .carousel-item-next.carousel-item-left, + .carousel-item-prev.carousel-item-right { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.carousel-item-next, +.active.carousel-item-right { + -webkit-transform: translateX(100%); + transform: translateX(100%); +} + +@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) { + .carousel-item-next, + .active.carousel-item-right { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +.carousel-item-prev, +.active.carousel-item-left { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); +} + +@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) { + .carousel-item-prev, + .active.carousel-item-left { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + width: 15%; + color: #fff; + text-align: center; + opacity: 0.5; +} + +.carousel-control-prev:focus, .carousel-control-prev:hover, +.carousel-control-next:focus, +.carousel-control-next:hover { + color: #fff; + text-decoration: none; + outline: 0; + opacity: .9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 20px; + height: 20px; + background: transparent no-repeat center center; + background-size: 100% 100%; +} + +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"); +} + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"); +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 10px; + left: 0; + z-index: 15; + display: -ms-flexbox; + display: flex; + -ms-flex-pack: center; + justify-content: center; + padding-left: 0; + margin-right: 15%; + margin-left: 15%; + list-style: none; +} + +.carousel-indicators li { + position: relative; + -ms-flex: 0 1 auto; + flex: 0 1 auto; + width: 30px; + height: 3px; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + background-color: rgba(255, 255, 255, 0.5); +} + +.carousel-indicators li::before { + position: absolute; + top: -10px; + left: 0; + display: inline-block; + width: 100%; + height: 10px; + content: ""; +} + +.carousel-indicators li::after { + position: absolute; + bottom: -10px; + left: 0; + display: inline-block; + width: 100%; + height: 10px; + content: ""; +} + +.carousel-indicators .active { + 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; +} + +.align-baseline { + vertical-align: baseline !important; +} + +.align-top { + vertical-align: top !important; +} + +.align-middle { + vertical-align: middle !important; +} + +.align-bottom { + vertical-align: bottom !important; +} + +.align-text-bottom { + vertical-align: text-bottom !important; +} + +.align-text-top { + vertical-align: text-top !important; +} + +.bg-primary { + background-color: #007bff !important; +} + +a.bg-primary:focus, a.bg-primary:hover { + background-color: #0062cc !important; +} + +.bg-secondary { + background-color: #868e96 !important; +} + +a.bg-secondary:focus, a.bg-secondary:hover { + background-color: #6c757d !important; +} + +.bg-success { + background-color: #28a745 !important; +} + +a.bg-success:focus, a.bg-success:hover { + background-color: #1e7e34 !important; +} + +.bg-info { + background-color: #17a2b8 !important; +} + +a.bg-info:focus, a.bg-info:hover { + background-color: #117a8b !important; +} + +.bg-warning { + background-color: #ffc107 !important; +} + +a.bg-warning:focus, a.bg-warning:hover { + background-color: #d39e00 !important; +} + +.bg-danger { + background-color: #dc3545 !important; +} + +a.bg-danger:focus, a.bg-danger:hover { + background-color: #bd2130 !important; +} + +.bg-light { + background-color: #f8f9fa !important; +} + +a.bg-light:focus, a.bg-light:hover { + background-color: #dae0e5 !important; +} + +.bg-dark { + background-color: #343a40 !important; +} + +a.bg-dark:focus, a.bg-dark:hover { + background-color: #1d2124 !important; +} + +.bg-white { + background-color: #fff !important; +} + +.bg-transparent { + background-color: transparent !important; +} + +.border { + border: 1px solid #e9ecef !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +.border-right-0 { + border-right: 0 !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-left-0 { + border-left: 0 !important; +} + +.border-primary { + border-color: #007bff !important; +} + +.border-secondary { + border-color: #868e96 !important; +} + +.border-success { + border-color: #28a745 !important; +} + +.border-info { + border-color: #17a2b8 !important; +} + +.border-warning { + border-color: #ffc107 !important; +} + +.border-danger { + border-color: #dc3545 !important; +} + +.border-light { + border-color: #f8f9fa !important; +} + +.border-dark { + border-color: #343a40 !important; +} + +.border-white { + border-color: #fff !important; +} + +.rounded { + border-radius: 0.25rem !important; +} + +.rounded-top { + border-top-left-radius: 0.25rem !important; + border-top-right-radius: 0.25rem !important; +} + +.rounded-right { + border-top-right-radius: 0.25rem !important; + border-bottom-right-radius: 0.25rem !important; +} + +.rounded-bottom { + border-bottom-right-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-left { + border-top-left-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.d-none { + display: none !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: -ms-flexbox !important; + display: flex !important; +} + +.d-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; +} + +@media (min-width: 576px) { + .d-sm-none { + display: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-sm-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 768px) { + .d-md-none { + display: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-md-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 992px) { + .d-lg-none { + display: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-lg-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 1200px) { + .d-xl-none { + display: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-xl-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +.d-print-block { + display: none !important; +} + +@media print { + .d-print-block { + display: block !important; + } +} + +.d-print-inline { + display: none !important; +} + +@media print { + .d-print-inline { + display: inline !important; + } +} + +.d-print-inline-block { + display: none !important; +} + +@media print { + .d-print-inline-block { + display: inline-block !important; + } +} + +@media print { + .d-print-none { + display: none !important; + } +} + +.embed-responsive { + position: relative; + display: block; + width: 100%; + padding: 0; + overflow: hidden; +} + +.embed-responsive::before { + display: block; + content: ""; +} + +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} + +.embed-responsive-21by9::before { + padding-top: 42.857143%; +} + +.embed-responsive-16by9::before { + padding-top: 56.25%; +} + +.embed-responsive-4by3::before { + padding-top: 75%; +} + +.embed-responsive-1by1::before { + padding-top: 100%; +} + +.flex-row { + -ms-flex-direction: row !important; + flex-direction: row !important; +} + +.flex-column { + -ms-flex-direction: column !important; + flex-direction: column !important; +} + +.flex-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; +} + +.flex-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; +} + +.flex-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; +} + +.justify-content-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; +} + +.justify-content-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; +} + +.justify-content-center { + -ms-flex-pack: center !important; + justify-content: center !important; +} + +.justify-content-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; +} + +.justify-content-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; +} + +.align-items-start { + -ms-flex-align: start !important; + align-items: flex-start !important; +} + +.align-items-end { + -ms-flex-align: end !important; + align-items: flex-end !important; +} + +.align-items-center { + -ms-flex-align: center !important; + align-items: center !important; +} + +.align-items-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; +} + +.align-items-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; +} + +.align-content-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; +} + +.align-content-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; +} + +.align-content-center { + -ms-flex-line-pack: center !important; + align-content: center !important; +} + +.align-content-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; +} + +.align-content-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; +} + +.align-content-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; +} + +.align-self-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; +} + +.align-self-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; +} + +.align-self-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; +} + +.align-self-center { + -ms-flex-item-align: center !important; + align-self: center !important; +} + +.align-self-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; +} + +.align-self-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; +} + +@media (min-width: 576px) { + .flex-sm-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-sm-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-sm-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-sm-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .justify-content-sm-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-sm-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-sm-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-sm-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-sm-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-sm-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-sm-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-sm-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-sm-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-sm-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-sm-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-sm-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-sm-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-sm-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-sm-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-sm-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-sm-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-sm-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-sm-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-sm-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-sm-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-sm-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 768px) { + .flex-md-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-md-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-md-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-md-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-md-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .justify-content-md-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-md-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-md-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-md-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-md-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-md-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-md-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-md-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-md-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-md-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-md-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-md-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-md-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-md-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-md-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-md-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-md-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-md-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-md-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-md-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-md-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-md-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 992px) { + .flex-lg-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-lg-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-lg-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-lg-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .justify-content-lg-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-lg-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-lg-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-lg-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-lg-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-lg-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-lg-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-lg-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-lg-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-lg-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-lg-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-lg-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-lg-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-lg-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-lg-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-lg-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-lg-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-lg-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-lg-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-lg-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-lg-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-lg-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 1200px) { + .flex-xl-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-xl-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-xl-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-xl-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .justify-content-xl-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-xl-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-xl-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-xl-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-xl-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-xl-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-xl-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-xl-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-xl-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-xl-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-xl-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-xl-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-xl-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-xl-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-xl-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-xl-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-xl-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-xl-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-xl-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-xl-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-xl-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-xl-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +.float-left { + float: left !important; +} + +.float-right { + float: right !important; +} + +.float-none { + float: none !important; +} + +@media (min-width: 576px) { + .float-sm-left { + float: left !important; + } + .float-sm-right { + float: right !important; + } + .float-sm-none { + float: none !important; + } +} + +@media (min-width: 768px) { + .float-md-left { + float: left !important; + } + .float-md-right { + float: right !important; + } + .float-md-none { + float: none !important; + } +} + +@media (min-width: 992px) { + .float-lg-left { + float: left !important; + } + .float-lg-right { + float: right !important; + } + .float-lg-none { + float: none !important; + } +} + +@media (min-width: 1200px) { + .float-xl-left { + float: left !important; + } + .float-xl-right { + float: right !important; + } + .float-xl-none { + float: none !important; + } +} + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; +} + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +@supports ((position: -webkit-sticky) or (position: sticky)) { + .sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + -webkit-clip-path: inset(50%); + clip-path: inset(50%); + border: 0; +} + +.sr-only-focusable:active, .sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + overflow: visible; + clip: auto; + white-space: normal; + -webkit-clip-path: none; + clip-path: none; +} + +.w-25 { + width: 25% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.h-25 { + height: 25% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.mh-100 { + max-height: 100% !important; +} + +.m-0 { + margin: 0 !important; +} + +.mt-0, +.my-0 { + margin-top: 0 !important; +} + +.mr-0, +.mx-0 { + margin-right: 0 !important; +} + +.mb-0, +.my-0 { + margin-bottom: 0 !important; +} + +.ml-0, +.mx-0 { + margin-left: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.mt-1, +.my-1 { + margin-top: 0.25rem !important; +} + +.mr-1, +.mx-1 { + margin-right: 0.25rem !important; +} + +.mb-1, +.my-1 { + margin-bottom: 0.25rem !important; +} + +.ml-1, +.mx-1 { + margin-left: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.mt-2, +.my-2 { + margin-top: 0.5rem !important; +} + +.mr-2, +.mx-2 { + margin-right: 0.5rem !important; +} + +.mb-2, +.my-2 { + margin-bottom: 0.5rem !important; +} + +.ml-2, +.mx-2 { + margin-left: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.mt-3, +.my-3 { + margin-top: 1rem !important; +} + +.mr-3, +.mx-3 { + margin-right: 1rem !important; +} + +.mb-3, +.my-3 { + margin-bottom: 1rem !important; +} + +.ml-3, +.mx-3 { + margin-left: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.mt-4, +.my-4 { + margin-top: 1.5rem !important; +} + +.mr-4, +.mx-4 { + margin-right: 1.5rem !important; +} + +.mb-4, +.my-4 { + margin-bottom: 1.5rem !important; +} + +.ml-4, +.mx-4 { + margin-left: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.mt-5, +.my-5 { + margin-top: 3rem !important; +} + +.mr-5, +.mx-5 { + margin-right: 3rem !important; +} + +.mb-5, +.my-5 { + margin-bottom: 3rem !important; +} + +.ml-5, +.mx-5 { + margin-left: 3rem !important; +} + +.p-0 { + padding: 0 !important; +} + +.pt-0, +.py-0 { + padding-top: 0 !important; +} + +.pr-0, +.px-0 { + padding-right: 0 !important; +} + +.pb-0, +.py-0 { + padding-bottom: 0 !important; +} + +.pl-0, +.px-0 { + padding-left: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.pt-1, +.py-1 { + padding-top: 0.25rem !important; +} + +.pr-1, +.px-1 { + padding-right: 0.25rem !important; +} + +.pb-1, +.py-1 { + padding-bottom: 0.25rem !important; +} + +.pl-1, +.px-1 { + padding-left: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.pt-2, +.py-2 { + padding-top: 0.5rem !important; +} + +.pr-2, +.px-2 { + padding-right: 0.5rem !important; +} + +.pb-2, +.py-2 { + padding-bottom: 0.5rem !important; +} + +.pl-2, +.px-2 { + padding-left: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.pt-3, +.py-3 { + padding-top: 1rem !important; +} + +.pr-3, +.px-3 { + padding-right: 1rem !important; +} + +.pb-3, +.py-3 { + padding-bottom: 1rem !important; +} + +.pl-3, +.px-3 { + padding-left: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.pt-4, +.py-4 { + padding-top: 1.5rem !important; +} + +.pr-4, +.px-4 { + padding-right: 1.5rem !important; +} + +.pb-4, +.py-4 { + padding-bottom: 1.5rem !important; +} + +.pl-4, +.px-4 { + padding-left: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.pt-5, +.py-5 { + padding-top: 3rem !important; +} + +.pr-5, +.px-5 { + padding-right: 3rem !important; +} + +.pb-5, +.py-5 { + padding-bottom: 3rem !important; +} + +.pl-5, +.px-5 { + padding-left: 3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mt-auto, +.my-auto { + margin-top: auto !important; +} + +.mr-auto, +.mx-auto { + margin-right: auto !important; +} + +.mb-auto, +.my-auto { + margin-bottom: auto !important; +} + +.ml-auto, +.mx-auto { + margin-left: auto !important; +} + +@media (min-width: 576px) { + .m-sm-0 { + margin: 0 !important; + } + .mt-sm-0, + .my-sm-0 { + margin-top: 0 !important; + } + .mr-sm-0, + .mx-sm-0 { + margin-right: 0 !important; + } + .mb-sm-0, + .my-sm-0 { + margin-bottom: 0 !important; + } + .ml-sm-0, + .mx-sm-0 { + margin-left: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .mt-sm-1, + .my-sm-1 { + margin-top: 0.25rem !important; + } + .mr-sm-1, + .mx-sm-1 { + margin-right: 0.25rem !important; + } + .mb-sm-1, + .my-sm-1 { + margin-bottom: 0.25rem !important; + } + .ml-sm-1, + .mx-sm-1 { + margin-left: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .mt-sm-2, + .my-sm-2 { + margin-top: 0.5rem !important; + } + .mr-sm-2, + .mx-sm-2 { + margin-right: 0.5rem !important; + } + .mb-sm-2, + .my-sm-2 { + margin-bottom: 0.5rem !important; + } + .ml-sm-2, + .mx-sm-2 { + margin-left: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .mt-sm-3, + .my-sm-3 { + margin-top: 1rem !important; + } + .mr-sm-3, + .mx-sm-3 { + margin-right: 1rem !important; + } + .mb-sm-3, + .my-sm-3 { + margin-bottom: 1rem !important; + } + .ml-sm-3, + .mx-sm-3 { + margin-left: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .mt-sm-4, + .my-sm-4 { + margin-top: 1.5rem !important; + } + .mr-sm-4, + .mx-sm-4 { + margin-right: 1.5rem !important; + } + .mb-sm-4, + .my-sm-4 { + margin-bottom: 1.5rem !important; + } + .ml-sm-4, + .mx-sm-4 { + margin-left: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .mt-sm-5, + .my-sm-5 { + margin-top: 3rem !important; + } + .mr-sm-5, + .mx-sm-5 { + margin-right: 3rem !important; + } + .mb-sm-5, + .my-sm-5 { + margin-bottom: 3rem !important; + } + .ml-sm-5, + .mx-sm-5 { + margin-left: 3rem !important; + } + .p-sm-0 { + padding: 0 !important; + } + .pt-sm-0, + .py-sm-0 { + padding-top: 0 !important; + } + .pr-sm-0, + .px-sm-0 { + padding-right: 0 !important; + } + .pb-sm-0, + .py-sm-0 { + padding-bottom: 0 !important; + } + .pl-sm-0, + .px-sm-0 { + padding-left: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .pt-sm-1, + .py-sm-1 { + padding-top: 0.25rem !important; + } + .pr-sm-1, + .px-sm-1 { + padding-right: 0.25rem !important; + } + .pb-sm-1, + .py-sm-1 { + padding-bottom: 0.25rem !important; + } + .pl-sm-1, + .px-sm-1 { + padding-left: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .pt-sm-2, + .py-sm-2 { + padding-top: 0.5rem !important; + } + .pr-sm-2, + .px-sm-2 { + padding-right: 0.5rem !important; + } + .pb-sm-2, + .py-sm-2 { + padding-bottom: 0.5rem !important; + } + .pl-sm-2, + .px-sm-2 { + padding-left: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .pt-sm-3, + .py-sm-3 { + padding-top: 1rem !important; + } + .pr-sm-3, + .px-sm-3 { + padding-right: 1rem !important; + } + .pb-sm-3, + .py-sm-3 { + padding-bottom: 1rem !important; + } + .pl-sm-3, + .px-sm-3 { + padding-left: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .pt-sm-4, + .py-sm-4 { + padding-top: 1.5rem !important; + } + .pr-sm-4, + .px-sm-4 { + padding-right: 1.5rem !important; + } + .pb-sm-4, + .py-sm-4 { + padding-bottom: 1.5rem !important; + } + .pl-sm-4, + .px-sm-4 { + padding-left: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .pt-sm-5, + .py-sm-5 { + padding-top: 3rem !important; + } + .pr-sm-5, + .px-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-5, + .py-sm-5 { + padding-bottom: 3rem !important; + } + .pl-sm-5, + .px-sm-5 { + padding-left: 3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mt-sm-auto, + .my-sm-auto { + margin-top: auto !important; + } + .mr-sm-auto, + .mx-sm-auto { + margin-right: auto !important; + } + .mb-sm-auto, + .my-sm-auto { + margin-bottom: auto !important; + } + .ml-sm-auto, + .mx-sm-auto { + margin-left: auto !important; + } +} + +@media (min-width: 768px) { + .m-md-0 { + margin: 0 !important; + } + .mt-md-0, + .my-md-0 { + margin-top: 0 !important; + } + .mr-md-0, + .mx-md-0 { + margin-right: 0 !important; + } + .mb-md-0, + .my-md-0 { + margin-bottom: 0 !important; + } + .ml-md-0, + .mx-md-0 { + margin-left: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .mt-md-1, + .my-md-1 { + margin-top: 0.25rem !important; + } + .mr-md-1, + .mx-md-1 { + margin-right: 0.25rem !important; + } + .mb-md-1, + .my-md-1 { + margin-bottom: 0.25rem !important; + } + .ml-md-1, + .mx-md-1 { + margin-left: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .mt-md-2, + .my-md-2 { + margin-top: 0.5rem !important; + } + .mr-md-2, + .mx-md-2 { + margin-right: 0.5rem !important; + } + .mb-md-2, + .my-md-2 { + margin-bottom: 0.5rem !important; + } + .ml-md-2, + .mx-md-2 { + margin-left: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .mt-md-3, + .my-md-3 { + margin-top: 1rem !important; + } + .mr-md-3, + .mx-md-3 { + margin-right: 1rem !important; + } + .mb-md-3, + .my-md-3 { + margin-bottom: 1rem !important; + } + .ml-md-3, + .mx-md-3 { + margin-left: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .mt-md-4, + .my-md-4 { + margin-top: 1.5rem !important; + } + .mr-md-4, + .mx-md-4 { + margin-right: 1.5rem !important; + } + .mb-md-4, + .my-md-4 { + margin-bottom: 1.5rem !important; + } + .ml-md-4, + .mx-md-4 { + margin-left: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .mt-md-5, + .my-md-5 { + margin-top: 3rem !important; + } + .mr-md-5, + .mx-md-5 { + margin-right: 3rem !important; + } + .mb-md-5, + .my-md-5 { + margin-bottom: 3rem !important; + } + .ml-md-5, + .mx-md-5 { + margin-left: 3rem !important; + } + .p-md-0 { + padding: 0 !important; + } + .pt-md-0, + .py-md-0 { + padding-top: 0 !important; + } + .pr-md-0, + .px-md-0 { + padding-right: 0 !important; + } + .pb-md-0, + .py-md-0 { + padding-bottom: 0 !important; + } + .pl-md-0, + .px-md-0 { + padding-left: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .pt-md-1, + .py-md-1 { + padding-top: 0.25rem !important; + } + .pr-md-1, + .px-md-1 { + padding-right: 0.25rem !important; + } + .pb-md-1, + .py-md-1 { + padding-bottom: 0.25rem !important; + } + .pl-md-1, + .px-md-1 { + padding-left: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .pt-md-2, + .py-md-2 { + padding-top: 0.5rem !important; + } + .pr-md-2, + .px-md-2 { + padding-right: 0.5rem !important; + } + .pb-md-2, + .py-md-2 { + padding-bottom: 0.5rem !important; + } + .pl-md-2, + .px-md-2 { + padding-left: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .pt-md-3, + .py-md-3 { + padding-top: 1rem !important; + } + .pr-md-3, + .px-md-3 { + padding-right: 1rem !important; + } + .pb-md-3, + .py-md-3 { + padding-bottom: 1rem !important; + } + .pl-md-3, + .px-md-3 { + padding-left: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .pt-md-4, + .py-md-4 { + padding-top: 1.5rem !important; + } + .pr-md-4, + .px-md-4 { + padding-right: 1.5rem !important; + } + .pb-md-4, + .py-md-4 { + padding-bottom: 1.5rem !important; + } + .pl-md-4, + .px-md-4 { + padding-left: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .pt-md-5, + .py-md-5 { + padding-top: 3rem !important; + } + .pr-md-5, + .px-md-5 { + padding-right: 3rem !important; + } + .pb-md-5, + .py-md-5 { + padding-bottom: 3rem !important; + } + .pl-md-5, + .px-md-5 { + padding-left: 3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mt-md-auto, + .my-md-auto { + margin-top: auto !important; + } + .mr-md-auto, + .mx-md-auto { + margin-right: auto !important; + } + .mb-md-auto, + .my-md-auto { + margin-bottom: auto !important; + } + .ml-md-auto, + .mx-md-auto { + margin-left: auto !important; + } +} + +@media (min-width: 992px) { + .m-lg-0 { + margin: 0 !important; + } + .mt-lg-0, + .my-lg-0 { + margin-top: 0 !important; + } + .mr-lg-0, + .mx-lg-0 { + margin-right: 0 !important; + } + .mb-lg-0, + .my-lg-0 { + margin-bottom: 0 !important; + } + .ml-lg-0, + .mx-lg-0 { + margin-left: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .mt-lg-1, + .my-lg-1 { + margin-top: 0.25rem !important; + } + .mr-lg-1, + .mx-lg-1 { + margin-right: 0.25rem !important; + } + .mb-lg-1, + .my-lg-1 { + margin-bottom: 0.25rem !important; + } + .ml-lg-1, + .mx-lg-1 { + margin-left: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .mt-lg-2, + .my-lg-2 { + margin-top: 0.5rem !important; + } + .mr-lg-2, + .mx-lg-2 { + margin-right: 0.5rem !important; + } + .mb-lg-2, + .my-lg-2 { + margin-bottom: 0.5rem !important; + } + .ml-lg-2, + .mx-lg-2 { + margin-left: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .mt-lg-3, + .my-lg-3 { + margin-top: 1rem !important; + } + .mr-lg-3, + .mx-lg-3 { + margin-right: 1rem !important; + } + .mb-lg-3, + .my-lg-3 { + margin-bottom: 1rem !important; + } + .ml-lg-3, + .mx-lg-3 { + margin-left: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .mt-lg-4, + .my-lg-4 { + margin-top: 1.5rem !important; + } + .mr-lg-4, + .mx-lg-4 { + margin-right: 1.5rem !important; + } + .mb-lg-4, + .my-lg-4 { + margin-bottom: 1.5rem !important; + } + .ml-lg-4, + .mx-lg-4 { + margin-left: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .mt-lg-5, + .my-lg-5 { + margin-top: 3rem !important; + } + .mr-lg-5, + .mx-lg-5 { + margin-right: 3rem !important; + } + .mb-lg-5, + .my-lg-5 { + margin-bottom: 3rem !important; + } + .ml-lg-5, + .mx-lg-5 { + margin-left: 3rem !important; + } + .p-lg-0 { + padding: 0 !important; + } + .pt-lg-0, + .py-lg-0 { + padding-top: 0 !important; + } + .pr-lg-0, + .px-lg-0 { + padding-right: 0 !important; + } + .pb-lg-0, + .py-lg-0 { + padding-bottom: 0 !important; + } + .pl-lg-0, + .px-lg-0 { + padding-left: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .pt-lg-1, + .py-lg-1 { + padding-top: 0.25rem !important; + } + .pr-lg-1, + .px-lg-1 { + padding-right: 0.25rem !important; + } + .pb-lg-1, + .py-lg-1 { + padding-bottom: 0.25rem !important; + } + .pl-lg-1, + .px-lg-1 { + padding-left: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .pt-lg-2, + .py-lg-2 { + padding-top: 0.5rem !important; + } + .pr-lg-2, + .px-lg-2 { + padding-right: 0.5rem !important; + } + .pb-lg-2, + .py-lg-2 { + padding-bottom: 0.5rem !important; + } + .pl-lg-2, + .px-lg-2 { + padding-left: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .pt-lg-3, + .py-lg-3 { + padding-top: 1rem !important; + } + .pr-lg-3, + .px-lg-3 { + padding-right: 1rem !important; + } + .pb-lg-3, + .py-lg-3 { + padding-bottom: 1rem !important; + } + .pl-lg-3, + .px-lg-3 { + padding-left: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .pt-lg-4, + .py-lg-4 { + padding-top: 1.5rem !important; + } + .pr-lg-4, + .px-lg-4 { + padding-right: 1.5rem !important; + } + .pb-lg-4, + .py-lg-4 { + padding-bottom: 1.5rem !important; + } + .pl-lg-4, + .px-lg-4 { + padding-left: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .pt-lg-5, + .py-lg-5 { + padding-top: 3rem !important; + } + .pr-lg-5, + .px-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-5, + .py-lg-5 { + padding-bottom: 3rem !important; + } + .pl-lg-5, + .px-lg-5 { + padding-left: 3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mt-lg-auto, + .my-lg-auto { + margin-top: auto !important; + } + .mr-lg-auto, + .mx-lg-auto { + margin-right: auto !important; + } + .mb-lg-auto, + .my-lg-auto { + margin-bottom: auto !important; + } + .ml-lg-auto, + .mx-lg-auto { + margin-left: auto !important; + } +} + +@media (min-width: 1200px) { + .m-xl-0 { + margin: 0 !important; + } + .mt-xl-0, + .my-xl-0 { + margin-top: 0 !important; + } + .mr-xl-0, + .mx-xl-0 { + margin-right: 0 !important; + } + .mb-xl-0, + .my-xl-0 { + margin-bottom: 0 !important; + } + .ml-xl-0, + .mx-xl-0 { + margin-left: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .mt-xl-1, + .my-xl-1 { + margin-top: 0.25rem !important; + } + .mr-xl-1, + .mx-xl-1 { + margin-right: 0.25rem !important; + } + .mb-xl-1, + .my-xl-1 { + margin-bottom: 0.25rem !important; + } + .ml-xl-1, + .mx-xl-1 { + margin-left: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .mt-xl-2, + .my-xl-2 { + margin-top: 0.5rem !important; + } + .mr-xl-2, + .mx-xl-2 { + margin-right: 0.5rem !important; + } + .mb-xl-2, + .my-xl-2 { + margin-bottom: 0.5rem !important; + } + .ml-xl-2, + .mx-xl-2 { + margin-left: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .mt-xl-3, + .my-xl-3 { + margin-top: 1rem !important; + } + .mr-xl-3, + .mx-xl-3 { + margin-right: 1rem !important; + } + .mb-xl-3, + .my-xl-3 { + margin-bottom: 1rem !important; + } + .ml-xl-3, + .mx-xl-3 { + margin-left: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .mt-xl-4, + .my-xl-4 { + margin-top: 1.5rem !important; + } + .mr-xl-4, + .mx-xl-4 { + margin-right: 1.5rem !important; + } + .mb-xl-4, + .my-xl-4 { + margin-bottom: 1.5rem !important; + } + .ml-xl-4, + .mx-xl-4 { + margin-left: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .mt-xl-5, + .my-xl-5 { + margin-top: 3rem !important; + } + .mr-xl-5, + .mx-xl-5 { + margin-right: 3rem !important; + } + .mb-xl-5, + .my-xl-5 { + margin-bottom: 3rem !important; + } + .ml-xl-5, + .mx-xl-5 { + margin-left: 3rem !important; + } + .p-xl-0 { + padding: 0 !important; + } + .pt-xl-0, + .py-xl-0 { + padding-top: 0 !important; + } + .pr-xl-0, + .px-xl-0 { + padding-right: 0 !important; + } + .pb-xl-0, + .py-xl-0 { + padding-bottom: 0 !important; + } + .pl-xl-0, + .px-xl-0 { + padding-left: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .pt-xl-1, + .py-xl-1 { + padding-top: 0.25rem !important; + } + .pr-xl-1, + .px-xl-1 { + padding-right: 0.25rem !important; + } + .pb-xl-1, + .py-xl-1 { + padding-bottom: 0.25rem !important; + } + .pl-xl-1, + .px-xl-1 { + padding-left: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .pt-xl-2, + .py-xl-2 { + padding-top: 0.5rem !important; + } + .pr-xl-2, + .px-xl-2 { + padding-right: 0.5rem !important; + } + .pb-xl-2, + .py-xl-2 { + padding-bottom: 0.5rem !important; + } + .pl-xl-2, + .px-xl-2 { + padding-left: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .pt-xl-3, + .py-xl-3 { + padding-top: 1rem !important; + } + .pr-xl-3, + .px-xl-3 { + padding-right: 1rem !important; + } + .pb-xl-3, + .py-xl-3 { + padding-bottom: 1rem !important; + } + .pl-xl-3, + .px-xl-3 { + padding-left: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .pt-xl-4, + .py-xl-4 { + padding-top: 1.5rem !important; + } + .pr-xl-4, + .px-xl-4 { + padding-right: 1.5rem !important; + } + .pb-xl-4, + .py-xl-4 { + padding-bottom: 1.5rem !important; + } + .pl-xl-4, + .px-xl-4 { + padding-left: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .pt-xl-5, + .py-xl-5 { + padding-top: 3rem !important; + } + .pr-xl-5, + .px-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-5, + .py-xl-5 { + padding-bottom: 3rem !important; + } + .pl-xl-5, + .px-xl-5 { + padding-left: 3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mt-xl-auto, + .my-xl-auto { + margin-top: auto !important; + } + .mr-xl-auto, + .mx-xl-auto { + margin-right: auto !important; + } + .mb-xl-auto, + .my-xl-auto { + margin-bottom: auto !important; + } + .ml-xl-auto, + .mx-xl-auto { + margin-left: auto !important; + } +} + +.text-justify { + text-align: justify !important; +} + +.text-nowrap { + white-space: nowrap !important; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.text-left { + text-align: left !important; +} + +.text-right { + text-align: right !important; +} + +.text-center { + text-align: center !important; +} + +@media (min-width: 576px) { + .text-sm-left { + text-align: left !important; + } + .text-sm-right { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } +} + +@media (min-width: 768px) { + .text-md-left { + text-align: left !important; + } + .text-md-right { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } +} + +@media (min-width: 992px) { + .text-lg-left { + text-align: left !important; + } + .text-lg-right { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } +} + +@media (min-width: 1200px) { + .text-xl-left { + text-align: left !important; + } + .text-xl-right { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.font-weight-light { + font-weight: 300 !important; +} + +.font-weight-normal { + font-weight: 400 !important; +} + +.font-weight-bold { + font-weight: 700 !important; +} + +.font-italic { + font-style: italic !important; +} + +.text-white { + color: #fff !important; +} + +.text-primary { + color: #007bff !important; +} + +a.text-primary:focus, a.text-primary:hover { + color: #0062cc !important; +} + +.text-secondary { + color: #868e96 !important; +} + +a.text-secondary:focus, a.text-secondary:hover { + color: #6c757d !important; +} + +.text-success { + color: #28a745 !important; +} + +a.text-success:focus, a.text-success:hover { + color: #1e7e34 !important; +} + +.text-info { + color: #17a2b8 !important; +} + +a.text-info:focus, a.text-info:hover { + color: #117a8b !important; +} + +.text-warning { + color: #ffc107 !important; +} + +a.text-warning:focus, a.text-warning:hover { + color: #d39e00 !important; +} + +.text-danger { + color: #dc3545 !important; +} + +a.text-danger:focus, a.text-danger:hover { + color: #bd2130 !important; +} + +.text-light { + color: #f8f9fa !important; +} + +a.text-light:focus, a.text-light:hover { + color: #dae0e5 !important; +} + +.text-dark { + color: #343a40 !important; +} + +a.text-dark:focus, a.text-dark:hover { + color: #1d2124 !important; +} + +.text-muted { + color: #868e96 !important; +} + +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} +/*# sourceMappingURL=bootstrap.css.map */ \ No newline at end of file diff --git a/workspace/public/css/bootstrap.css.map b/workspace/public/css/bootstrap.css.map new file mode 100644 index 0000000..77a5c8e --- /dev/null +++ b/workspace/public/css/bootstrap.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_print.scss","bootstrap.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/mixins/_transition.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_functions.scss","../../scss/_forms.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/mixins/_gradients.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/mixins/_clearfix.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss"],"names":[],"mappings":"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JwBY;EIvBZ,0BAjCuK;EAqCvK,sBArC+M;EA2C7M,kDnB/BY;CmBiCf;;ADGD;EC/CA,YJuDc;EKvDZ,0BpBqCa;EmBnCf,sBnBmCe;CkBYd;;AjB5CC;EkBCA,YJiDY;EKvDZ,0BDDoF;EASpF,sBATyH;ClBMnG;;AkBMxB;EAMI,gDnBoBW;CmBlBd;;AAGD;EAEE,0BnBaa;EmBZb,sBnBYa;CmBXd;;AAED;;EAGE,YJwBY;EIvBZ,0BAjCuK;EAqCvK,sBArC+M;EA2C7M,gDnBLW;CmBOd;;ADGD;EC/CA,YJuDc;EKvDZ,0BpBuCa;EmBrCf,sBnBqCe;CkBUd;;AjB5CC;EkBCA,YJiDY;EKvDZ,0BDDoF;EASpF,sBATyH;ClBMnG;;AkBMxB;EAMI,iDnBsBW;CmBpBd;;AAGD;EAEE,0BnBea;EmBdb,sBnBca;CmBbd;;AAED;;EAGE,YJwBY;EIvBZ,0BAjCuK;EAqCvK,sBArC+M;EA2C7M,iDnBHW;CmBKd;;ADGD;EC/CA,YJqDc;EKrDZ,0BpBoCa;EmBlCf,sBnBkCe;CkBad;;AjB5CC;EkBCA,YJ+CY;EKrDZ,0BDDoF;EASpF,sBATyH;ClBMnG;;AkBMxB;EAMI,gDnBmBW;CmBjBd;;AAGD;EAEE,0BnBYa;EmBXb,sBnBWa;CmBVd;;AAED;;EAGE,YJsBY;EIrBZ,0BAjCuK;EAqCvK,sBArC+M;EA2C7M,gDnBNW;CmBQd;;ADGD;EC/CA,YJuDc;EKvDZ,0BpBkCa;EmBhCf,sBnBgCe;CkBed;;AjB5CC;EkBCA,YJiDY;EKvDZ,0BDDoF;EASpF,sBATyH;ClBMnG;;AkBMxB;EAMI,gDnBiBW;CmBfd;;AAGD;EAEE,0BnBUa;EmBTb,sBnBSa;CmBRd;;AAED;;EAGE,YJwBY;EIvBZ,0BAjCuK;EAqCvK,sBArC+M;EA2C7M,gDnBRW;CmBUd;;ADGD;EC/CA,YJqDc;EKrDZ,0BpBMc;EmBJhB,sBnBIgB;CkB2Cf;;AjB5CC;EkBCA,YJ+CY;EKrDZ,0BDDoF;EASpF,sBATyH;ClBMnG;;AkBMxB;EAMI,kDnBXY;CmBaf;;AAGD;EAEE,0BnBlBc;EmBmBd,sBnBnBc;CmBoBf;;AAED;;EAGE,YJsBY;EIrBZ,0BAjCuK;EAqCvK,sBArC+M;EA2C7M,kDnBpCY;CmBsCf;;ADGD;EC/CA,YJuDc;EKvDZ,0BpBac;EmBXhB,sBnBWgB;CkBoCf;;AjB5CC;EkBCA,YJiDY;EKvDZ,0BDDoF;EASpF,sBATyH;ClBMnG;;AkBMxB;EAMI,+CnBJY;CmBMf;;AAGD;EAEE,0BnBXc;EmBYd,sBnBZc;CmBaf;;AAED;;EAGE,YJwBY;EIvBZ,0BAjCuK;EAqCvK,sBArC+M;EA2C7M,+CnB7BY;CmB+Bf;;ADSD;ECLA,enBlBe;EmBmBf,8BAA6B;EAC7B,uBAAsB;EACtB,sBnBrBe;CkB6Bd;;AjBtDC;EkBiDA,YnBjDW;EmBkDX,0BnBzBa;EmB0Bb,sBnB1Ba;CCzBS;;AkBsDxB;EAEE,gDnB/Ba;CmBgCd;;AAED;EAEE,enBpCa;EmBqCb,8BAA6B;CAC9B;;AAED;;EAGE,YnBpEW;EmBqEX,0BnB5Ca;EmB6Cb,sBnB7Ca;EmB+Cb,gDnB/Ca;CmBgDd;;ADzBD;ECLA,enBrCgB;EmBsChB,8BAA6B;EAC7B,uBAAsB;EACtB,sBnBxCgB;CkBgDf;;AjBtDC;EkBiDA,YnBjDW;EmBkDX,0BnB5Cc;EmB6Cd,sBnB7Cc;CCNQ;;AkBsDxB;EAEE,kDnBlDc;CmBmDf;;AAED;EAEE,enBvDc;EmBwDd,8BAA6B;CAC9B;;AAED;;EAGE,YnBpEW;EmBqEX,0BnB/Dc;EmBgEd,sBnBhEc;EmBkEd,kDnBlEc;CmBmEf;;ADzBD;ECLA,enBXe;EmBYf,8BAA6B;EAC7B,uBAAsB;EACtB,sBnBde;CkBsBd;;AjBtDC;EkBiDA,YnBjDW;EmBkDX,0BnBlBa;EmBmBb,sBnBnBa;CChCS;;AkBsDxB;EAEE,gDnBxBa;CmByBd;;AAED;EAEE,enB7Ba;EmB8Bb,8BAA6B;CAC9B;;AAED;;EAGE,YnBpEW;EmBqEX,0BnBrCa;EmBsCb,sBnBtCa;EmBwCb,gDnBxCa;CmByCd;;ADzBD;ECLA,enBTe;EmBUf,8BAA6B;EAC7B,uBAAsB;EACtB,sBnBZe;CkBoBd;;AjBtDC;EkBiDA,YnBjDW;EmBkDX,0BnBhBa;EmBiBb,sBnBjBa;CClCS;;AkBsDxB;EAEE,iDnBtBa;CmBuBd;;AAED;EAEE,enB3Ba;EmB4Bb,8BAA6B;CAC9B;;AAED;;EAGE,YnBpEW;EmBqEX,0BnBnCa;EmBoCb,sBnBpCa;EmBsCb,iDnBtCa;CmBuCd;;ADzBD;ECLA,enBZe;EmBaf,8BAA6B;EAC7B,uBAAsB;EACtB,sBnBfe;CkBuBd;;AjBtDC;EkBiDA,YnBjDW;EmBkDX,0BnBnBa;EmBoBb,sBnBpBa;CC/BS;;AkBsDxB;EAEE,gDnBzBa;CmB0Bd;;AAED;EAEE,enB9Ba;EmB+Bb,8BAA6B;CAC9B;;AAED;;EAGE,YnBpEW;EmBqEX,0BnBtCa;EmBuCb,sBnBvCa;EmByCb,gDnBzCa;CmB0Cd;;ADzBD;ECLA,enBde;EmBef,8BAA6B;EAC7B,uBAAsB;EACtB,sBnBjBe;CkByBd;;AjBtDC;EkBiDA,YnBjDW;EmBkDX,0BnBrBa;EmBsBb,sBnBtBa;CC7BS;;AkBsDxB;EAEE,gDnB3Ba;CmB4Bd;;AAED;EAEE,enBhCa;EmBiCb,8BAA6B;CAC9B;;AAED;;EAGE,YnBpEW;EmBqEX,0BnBxCa;EmByCb,sBnBzCa;EmB2Cb,gDnB3Ca;CmB4Cd;;ADzBD;ECLA,enB1CgB;EmB2ChB,8BAA6B;EAC7B,uBAAsB;EACtB,sBnB7CgB;CkBqDf;;AjBtDC;EkBiDA,enBxCc;EmByCd,0BnBjDc;EmBkDd,sBnBlDc;CCDQ;;AkBsDxB;EAEE,kDnBvDc;CmBwDf;;AAED;EAEE,enB5Dc;EmB6Dd,8BAA6B;CAC9B;;AAED;;EAGE,enB3Dc;EmB4Dd,0BnBpEc;EmBqEd,sBnBrEc;EmBuEd,kDnBvEc;CmBwEf;;ADzBD;ECLA,enBnCgB;EmBoChB,8BAA6B;EAC7B,uBAAsB;EACtB,sBnBtCgB;CkB8Cf;;AjBtDC;EkBiDA,YnBjDW;EmBkDX,0BnB1Cc;EmB2Cd,sBnB3Cc;CCRQ;;AkBsDxB;EAEE,+CnBhDc;CmBiDf;;AAED;EAEE,enBrDc;EmBsDd,8BAA6B;CAC9B;;AAED;;EAGE,YnBpEW;EmBqEX,0BnB7Dc;EmB8Dd,sBnB9Dc;EmBgEd,+CnBhEc;CmBiEf;;ADVH;EACE,iBlB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;G8ByB3B;EAtDT;IxBhKI,gCN6LgC;IM5LhC,iCN4LgC;G8BqBzB;EAlDX;IxBlJI,oCN+KgC;IM9KhC,mCN8KgC;G8BwBzB;EArDX;IAyDU,iBAAgB;GAMjB;EA/DT;;IA6DY,iBAAgB;GACjB;ChC2qHV;;AgC/pHD;EAEI,uB9BoWsC;C8BnWvC;;AnB/LC;EmB4LJ;IAMI,wB9B8WiC;Y8B9WjC,gB9B8WiC;I8B7WjC,4B9B8WuC;Y8B9WvC,oB9B8WuC;G8BvW1C;EAdD;IAUM,sBAAqB;IACrB,YAAW;GACZ;ChCkqHJ;;AiCl6HD;EACE,qBAAa;EAAb,cAAa;EACb,oBAAe;MAAf,gBAAe;EACf,sB/BowBsC;E+BnwBtC,oB/BswBsC;E+BrwBtC,iBAAgB;EAChB,0B/BOgB;EMTd,uBNmMgC;C+B/LnC;;AAED;EAGI,sBAAqB;EACrB,sB/B0vBqC;E+BzvBrC,qB/ByvBqC;E+BxvBrC,e/BCc;E+BAd,aAAiC;CAClC;;AARH;EAiBI,2BAA0B;CAC3B;;AAlBH;EAqBI,sBAAqB;CACtB;;AAtBH;EAyBI,e/BlBc;C+BmBf;;ACpCH;EACE,qBAAa;EAAb,cAAa;E7BGb,gBAAe;EACf,iBAAgB;EGDd,uBNmMgC;CgCnMnC;;AAED;EAGM,eAAc;E1BsBhB,gCNwKgC;EMvKhC,mCNuKgC;CgC5L/B;;AALL;E1BWI,iCNsLgC;EMrLhC,oCNqLgC;CgCvL/B;;AAVL;EAcI,WAAU;EACV,YhCVW;EgCWX,0BhCca;EgCbb,sBhCaa;CgCZd;;AAlBH;EAqBI,ehCVc;EgCWd,qBAAoB;EACpB,uBhClBW;EgCmBX,mBhCijBoC;CgChjBrC;;AAGH;EACE,mBAAkB;EAClB,eAAc;EACd,wBhCohBwC;EgCnhBxC,kBhC8J+B;EgC7J/B,kBhCuhBsC;EgCthBtC,ehCJe;EgCKf,uBhC9Ba;EgC+Bb,uBhCyhBsC;CgCjhBvC;;A/B3BG;E+BsBA,ehCgGgD;EgC/FhD,sBAAqB;EACrB,0BhClCc;EgCmCd,mBhCuhBoC;CC7iBnC;;AgCvBH;EACE,wBjCyjBsC;EiCxjBtC,mBjC2NkD;EiC1NlD,iBjC2L6B;CiC1L9B;;AAIG;E3BoBF,+BNyK+B;EMxK/B,kCNwK+B;CiC3L5B;;AAGD;E3BCF,gCNuL+B;EMtL/B,mCNsL+B;CiCtL5B;;AAfL;EACE,wBjCujBqC;EiCtjBrC,oBjC4NkD;EiC3NlD,iBjC4L6B;CiC3L9B;;AAIG;E3BoBF,+BN0K+B;EMzK/B,kCNyK+B;CiC5L5B;;AAGD;E3BCF,gCNwL+B;EMvL/B,mCNuL+B;CiCvL5B;;ACbP;EACE,sBAAqB;EACrB,sBlCmpBsC;EkClpBtC,elC+oBqC;EkC9oBrC,iBlC4N+B;EkC3N/B,eAAc;EACd,mBAAkB;EAClB,oBAAmB;EACnB,yBAAwB;E5BTtB,uBNmMgC;CkCnLnC;;AAfD;EAaI,cAAa;CACd;;AAIH;EACE,mBAAkB;EAClB,UAAS;CACV;;AAMD;EACE,qBlC4nBsC;EkC3nBtC,oBlC2nBsC;EMzpBpC,qBN4pBqC;CkC5nBxC;;AAOC;EC1CA,YpB4Dc;EoB3Dd,0BnCkCe;CkCSd;;AjCtBC;EkCjBE,YpBuDU;EoBtDV,sBAAqB;EACrB,0BAAkC;ClCkBnC;;AiCiBH;EC1CA,YpB4Dc;EoB3Dd,0BnCegB;CkC4Bf;;AjCtBC;EkCjBE,YpBuDU;EoBtDV,sBAAqB;EACrB,0BAAkC;ClCkBnC;;AiCiBH;EC1CA,YpB4Dc;EoB3Dd,0BnCyCe;CkCEd;;AjCtBC;EkCjBE,YpBuDU;EoBtDV,sBAAqB;EACrB,0BAAkC;ClCkBnC;;AiCiBH;EC1CA,YpB4Dc;EoB3Dd,0BnC2Ce;CkCAd;;AjCtBC;EkCjBE,YpBuDU;EoBtDV,sBAAqB;EACrB,0BAAkC;ClCkBnC;;AiCiBH;EC1CA,YpB0Dc;EoBzDd,0BnCwCe;CkCGd;;AjCtBC;EkCjBE,YpBqDU;EoBpDV,sBAAqB;EACrB,0BAAkC;ClCkBnC;;AiCiBH;EC1CA,YpB4Dc;EoB3Dd,0BnCsCe;CkCKd;;AjCtBC;EkCjBE,YpBuDU;EoBtDV,sBAAqB;EACrB,0BAAkC;ClCkBnC;;AiCiBH;EC1CA,YpB0Dc;EoBzDd,0BnCUgB;CkCiCf;;AjCtBC;EkCjBE,YpBqDU;EoBpDV,sBAAqB;EACrB,0BAAkC;ClCkBnC;;AiCiBH;EC1CA,YpB4Dc;EoB3Dd,0BnCiBgB;CkC0Bf;;AjCtBC;EkCjBE,YpBuDU;EoBtDV,sBAAqB;EACrB,0BAAkC;ClCkBnC;;AmC1BL;EACE,mBAAoD;EACpD,oBpCklBsC;EoCjlBtC,0BpCUgB;EMTd,sBNoM+B;CoC/LlC;;AzB+CG;EyBxDJ;IAOI,mBpC6kBoC;GoC3kBvC;CtCyoIA;;AsCvoID;EACE,iBAAgB;EAChB,gBAAe;E9BTb,iB8BUsB;CACzB;;ACXD;EACE,mBAAkB;EAClB,yBrCisByC;EqChsBzC,oBrCisBsC;EqChsBtC,8BAA6C;E/BJ3C,uBNmMgC;CqC7LnC;;AAGD;EAEE,eAAc;CACf;;AAGD;EACE,iBrCiN+B;CqChNhC;;AAOD;EAGI,mBAAkB;EAClB,OAAM;EACN,SAAQ;EACR,yBrCqqBuC;EqCpqBvC,eAAc;CACf;;AASD;EC5CA,evBmFgE;EK9E9D,0BL8E8D;EuBjFhE,sBvBiFgE;CsBrC/D;;AC1CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADkCD;EC5CA,evBmFgE;EK9E9D,0BL8E8D;EuBjFhE,sBvBiFgE;CsBrC/D;;AC1CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADkCD;EC5CA,evBmFgE;EK9E9D,0BL8E8D;EuBjFhE,sBvBiFgE;CsBrC/D;;AC1CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADkCD;EC5CA,evBmFgE;EK9E9D,0BL8E8D;EuBjFhE,sBvBiFgE;CsBrC/D;;AC1CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADkCD;EC5CA,evBmFgE;EK9E9D,0BL8E8D;EuBjFhE,sBvBiFgE;CsBrC/D;;AC1CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADkCD;EC5CA,evBmFgE;EK9E9D,0BL8E8D;EuBjFhE,sBvBiFgE;CsBrC/D;;AC1CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADkCD;EC5CA,evBmFgE;EK9E9D,0BL8E8D;EuBjFhE,sBvBiFgE;CsBrC/D;;AC1CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADkCD;EC5CA,evBmFgE;EK9E9D,0BL8E8D;EuBjFhE,sBvBiFgE;CsBrC/D;;AC1CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ACXH;EACE;IAAO,4BAAuC;GzCoyI7C;EyCnyID;IAAK,yBAAwB;GzCsyI5B;CACF;;AyCzyID;EACE;IAAO,4BAAuC;GzCoyI7C;EyCnyID;IAAK,yBAAwB;GzCsyI5B;CACF;;AyCpyID;EACE,qBAAa;EAAb,cAAa;EACb,avCysBsC;EuCxsBtC,iBAAgB;EAChB,mBvCwsByD;EuCvsBzD,0BvCGgB;EMTd,uBNmMgC;CuC3LnC;;AAED;EACE,qBAAa;EAAb,cAAa;EACb,uBAAmB;MAAnB,oBAAmB;EACnB,sBAAuB;MAAvB,wBAAuB;EACvB,YvCPa;EuCQb,0BvCiBe;CuChBhB;;AAED;EnBqBE,sMAA6I;EmBnB7I,2BvCwrBsC;CuCvrBvC;;AAED;EACE,2DvC2rBoD;UuC3rBpD,mDvC2rBoD;CuC1rBrD;;AC7BD;EACE,qBAAa;EAAb,cAAa;EACb,sBAAuB;MAAvB,wBAAuB;CACxB;;AAED;EACE,YAAO;MAAP,QAAO;CACR;;ACHD;EACE,qBAAa;EAAb,cAAa;EACb,2BAAsB;MAAtB,uBAAsB;EAGtB,gBAAe;EACf,iBAAgB;CACjB;;AAQD;EACE,YAAW;EACX,ezCHgB;EyCIhB,oBAAmB;CAapB;;AxCZG;EwCGA,ezCRc;EyCSd,sBAAqB;EACrB,0BzChBc;CCcb;;AwCPL;EAaI,ezCZc;EyCad,0BzCpBc;CyCqBf;;AAQH;EACE,mBAAkB;EAClB,eAAc;EACd,yBzCqrByC;EyCnrBzC,oBzCqJ+B;EyCpJ/B,uBzCrCa;EyCsCb,uCzC5Ba;CyCwDd;;AAnCD;EnChCI,gCN6LgC;EM5LhC,iCN4LgC;CyClJjC;;AAXH;EAcI,iBAAgB;EnChChB,oCN+KgC;EM9KhC,mCN8KgC;CyC7IjC;;AxCnCC;EwCsCA,sBAAqB;CxCnCpB;;AwCgBL;EAwBI,ezCjDc;EyCkDd,uBzCxDW;CyCyDZ;;AA1BH;EA8BI,WAAU;EACV,YzC9DW;EyC+DX,0BzCtCa;EyCuCb,sBzCvCa;CyCwCd;;AASH;EAEI,gBAAe;EACf,eAAc;EACd,iBAAgB;CACjB;;AALH;EASM,cAAa;CACd;;AAVL;EAeM,iBAAgB;CACjB;;AClGH;EACE,e3BgF8D;E2B/E9D,0B3B+E8D;C2B9E/D;;AAED;;EAEE,e3B0E8D;C2B9D/D;;AzCCC;;;EyCVE,e3BuE4D;E2BtE5D,0BAAyC;CzCY1C;;AyClBH;;EAUI,YAAW;EACX,0B3BiE4D;E2BhE5D,sB3BgE4D;C2B/D7D;;AAlBH;EACE,e3BgF8D;E2B/E9D,0B3B+E8D;C2B9E/D;;AAED;;EAEE,e3B0E8D;C2B9D/D;;AzCCC;;;EyCVE,e3BuE4D;E2BtE5D,0BAAyC;CzCY1C;;AyClBH;;EAUI,YAAW;EACX,0B3BiE4D;E2BhE5D,sB3BgE4D;C2B/D7D;;AAlBH;EACE,e3BgF8D;E2B/E9D,0B3B+E8D;C2B9E/D;;AAED;;EAEE,e3B0E8D;C2B9D/D;;AzCCC;;;EyCVE,e3BuE4D;E2BtE5D,0BAAyC;CzCY1C;;AyClBH;;EAUI,YAAW;EACX,0B3BiE4D;E2BhE5D,sB3BgE4D;C2B/D7D;;AAlBH;EACE,e3BgF8D;E2B/E9D,0B3B+E8D;C2B9E/D;;AAED;;EAEE,e3B0E8D;C2B9D/D;;AzCCC;;;EyCVE,e3BuE4D;E2BtE5D,0BAAyC;CzCY1C;;AyClBH;;EAUI,YAAW;EACX,0B3BiE4D;E2BhE5D,sB3BgE4D;C2B/D7D;;AAlBH;EACE,e3BgF8D;E2B/E9D,0B3B+E8D;C2B9E/D;;AAED;;EAEE,e3B0E8D;C2B9D/D;;AzCCC;;;EyCVE,e3BuE4D;E2BtE5D,0BAAyC;CzCY1C;;AyClBH;;EAUI,YAAW;EACX,0B3BiE4D;E2BhE5D,sB3BgE4D;C2B/D7D;;AAlBH;EACE,e3BgF8D;E2B/E9D,0B3B+E8D;C2B9E/D;;AAED;;EAEE,e3B0E8D;C2B9D/D;;AzCCC;;;EyCVE,e3BuE4D;E2BtE5D,0BAAyC;CzCY1C;;AyClBH;;EAUI,YAAW;EACX,0B3BiE4D;E2BhE5D,sB3BgE4D;C2B/D7D;;AAlBH;EACE,e3BgF8D;E2B/E9D,0B3B+E8D;C2B9E/D;;AAED;;EAEE,e3B0E8D;C2B9D/D;;AzCCC;;;EyCVE,e3BuE4D;E2BtE5D,0BAAyC;CzCY1C;;AyClBH;;EAUI,YAAW;EACX,0B3BiE4D;E2BhE5D,sB3BgE4D;C2B/D7D;;AAlBH;EACE,e3BgF8D;E2B/E9D,0B3B+E8D;C2B9E/D;;AAED;;EAEE,e3B0E8D;C2B9D/D;;AzCCC;;;EyCVE,e3BuE4D;E2BtE5D,0BAAyC;CzCY1C;;AyClBH;;EAUI,YAAW;EACX,0B3BiE4D;E2BhE5D,sB3BgE4D;C2B/D7D;;ACrBL;EACE,aAAY;EACZ,kB3CwyBuD;E2CvyBvD,iB3CkO+B;E2CjO/B,eAAc;EACd,Y3CgBa;E2Cfb,0B3CKa;E2CJb,YAAW;CAOZ;;A1CSG;E0CbA,Y3CWW;E2CVX,sBAAqB;EACrB,aAAY;C1CcX;;A0CJL;EACE,WAAU;EACV,wBAAuB;EACvB,UAAS;EACT,yBAAwB;CACzB;;ACpBD;EACE,iBAAgB;CACjB;;AAGD;EACE,gBAAe;EACf,OAAM;EACN,SAAQ;EACR,UAAS;EACT,QAAO;EACP,c5CgfsC;E4C/etC,cAAa;EACb,iBAAgB;EAGhB,WAAU;CAWX;;AAtBD;ErCPM,4CP0rBoD;EO1rBpD,oCP0rBoD;EO1rBpD,qEP0rBoD;E4ChqBtD,sCAA6B;UAA7B,8BAA6B;CAC9B;;AApBH;EAqByB,mCAA0B;UAA1B,2BAA0B;CAAI;;AAEvD;EACE,mBAAkB;EAClB,iBAAgB;CACjB;;AAGD;EACE,mBAAkB;EAClB,YAAW;EACX,a5C4nBsC;E4C1nBtC,qBAAoB;CACrB;;AAGD;EACE,mBAAkB;EAClB,qBAAa;EAAb,cAAa;EACb,2BAAsB;MAAtB,uBAAsB;EAEtB,qBAAoB;EACpB,uB5C7Ca;E4C8Cb,6BAA4B;EAC5B,qC5CrCa;EMjBX,sBNoM+B;E4C1IjC,WAAU;CACX;;AAGD;EACE,gBAAe;EACf,OAAM;EACN,SAAQ;EACR,UAAS;EACT,QAAO;EACP,c5CybsC;E4CxbtC,uB5CpDa;C4CyDd;;AAZD;EAUW,WAAU;CAAK;;AAV1B;EAWW,a5CumB2B;C4CvmBS;;AAK/C;EACE,qBAAa;EAAb,cAAa;EACb,sBAAuB;MAAvB,wBAAuB;EACvB,uBAA8B;MAA9B,+BAA8B;EAC9B,c5CmmBsC;E4ClmBtC,iC5C1EgB;EMHd,+BN8L+B;EM7L/B,gCN6L+B;C4CzGlC;;AAbD;EASI,c5C8lBoC;E4C5lBpC,+BAAuF;CACxF;;AAIH;EACE,iBAAgB;EAChB,iB5CoI+B;C4CnIhC;;AAID;EACE,mBAAkB;EAGlB,mBAAc;MAAd,eAAc;EACd,c5CwjBsC;C4CvjBvC;;AAGD;EACE,qBAAa;EAAb,cAAa;EACb,uBAAmB;MAAnB,oBAAmB;EACnB,mBAAyB;MAAzB,0BAAyB;EACzB,c5CgjBsC;E4C/iBtC,8B5C1GgB;C4C+GjB;;AAVD;EAQyB,oBAAmB;CAAK;;AARjD;EASwB,qBAAoB;CAAK;;AAIjD;EACE,mBAAkB;EAClB,aAAY;EACZ,YAAW;EACX,aAAY;EACZ,iBAAgB;CACjB;;AjC7EG;EiCkFF;IACE,iB5CijBqC;I4ChjBrC,kBAAyC;GAC1C;EAMD;IAAY,iB5C0iB2B;G4C1iBH;C9CylJrC;;AaprJG;EiC+FF;IAAY,iB5CoiB2B;G4CpiBH;C9C2lJrC;;A+CjvJD;EACE,mBAAkB;EAClB,c7CigBsC;E6ChgBtC,eAAc;EACd,U7CgnBmC;E8CpnBnC,kK9CyNgL;E8CvNhL,mBAAkB;EAClB,iB9CgO+B;E8C/N/B,iB9CmO+B;E8ClO/B,iBAAgB;EAChB,kBAAiB;EACjB,sBAAqB;EACrB,kBAAiB;EACjB,qBAAoB;EACpB,uBAAsB;EACtB,mBAAkB;EAClB,qBAAoB;EACpB,oBAAmB;EACnB,iBAAgB;EDNhB,oB7CwNoD;E6CtNpD,sBAAqB;EACrB,WAAU;CAoFX;;AA/FD;EAaW,a7ComB2B;C6CpmBE;;AAbxC;EAgBI,mBAAkB;EAClB,eAAc;EACd,W7CqmBmC;E6CpmBnC,Y7CqmBmC;C6CpmBpC;;AApBH;EAuBI,mBAAkB;EAClB,0BAAyB;EACzB,oBAAmB;CACpB;;AA1BH;EA6BI,eAA+B;CAWhC;;AAxCH;EA+BM,UAAS;CACV;;AAhCL;EAmCM,kBAAuC;EACvC,YAAW;EACX,wBAAyD;EACzD,uB7ClBS;C6CmBV;;AAvCL;EA0CI,e7C6kBmC;C6ClkBpC;;AArDH;EA4CM,QAAO;CACR;;AA7CL;EAgDM,iBAAsC;EACtC,YAAW;EACX,4BAA8E;EAC9E,yB7C/BS;C6CgCV;;AApDL;EAuDI,eAA+B;CAWhC;;AAlEH;EAyDM,OAAM;CACP;;AA1DL;EA6DM,kBAAuC;EACvC,YAAW;EACX,wB7CwjBiC;E6CvjBjC,0B7C5CS;C6C6CV;;AAjEL;EAoEI,e7CmjBmC;C6CviBpC;;AAhFH;EAsEM,SAAQ;CACT;;AAvEL;EA0EM,SAAQ;EACR,iBAAsC;EACtC,YAAW;EACX,4B7C0iBiC;E6CziBjC,wB7C1DS;C6C2DV;;AAmBL;EACE,iB7C2gBuC;E6C1gBvC,iB7C+gBqC;E6C9gBrC,Y7C3Fa;E6C4Fb,mBAAkB;EAClB,uB7CnFa;EMjBX,uBNmMgC;C6C7FnC;;AE1GD;EACE,mBAAkB;EAClB,OAAM;EACN,QAAO;EACP,c/C+fsC;E+C9ftC,eAAc;EACd,iB/C0nBuC;E8C/nBvC,kK9CyNgL;E8CvNhL,mBAAkB;EAClB,iB9CgO+B;E8C/N/B,iB9CmO+B;E8ClO/B,iBAAgB;EAChB,kBAAiB;EACjB,sBAAqB;EACrB,kBAAiB;EACjB,qBAAoB;EACpB,uBAAsB;EACtB,mBAAkB;EAClB,qBAAoB;EACpB,oBAAmB;EACnB,iBAAgB;ECLhB,oB/CuNoD;E+CrNpD,sBAAqB;EACrB,uB/CFa;E+CGb,6BAA4B;EAC5B,qC/CMa;EMjBX,sBNoM+B;C+C7BlC;;AA3KD;EAwBI,mBAAkB;EAClB,eAAc;EACd,c/ConBqC;E+CnnBrC,e/ConBqC;C+CnnBtC;;AA5BH;;EAgCI,mBAAkB;EAClB,eAAc;EACd,0BAAyB;EACzB,oBAAmB;CACpB;;AApCH;EAuCI,YAAW;EACX,qB/CsmBqC;C+CrmBtC;;AAzCH;EA2CI,YAAW;EACX,qB/CkmBqC;C+CjmBtC;;AA7CH;EAkDI,sB/C4lBqC;C+CtkBtC;;AAxEH;EAqDM,UAAS;CACV;;AAtDL;;EA0DM,uBAAsB;CACvB;;AA3DL;EA8DM,gB/CglBmC;E+C/kBnC,qB/C+kBmC;E+C9kBnC,sC/CklBiE;C+CjlBlE;;AAjEL;EAoEM,kCAAuE;EACvE,qB/CykBmC;E+CxkBnC,uB/C3DS;C+C4DV;;AAvEL;EA2EI,oB/CmkBqC;C+C9iBtC;;AAhGH;EA8EM,QAAO;CACR;;AA/EL;;EAmFM,oB/C2jBmC;E+C1jBnC,qBAAoB;CACrB;;AArFL;EAwFM,c/CsjBmC;E+CrjBnC,wC/CyjBiE;C+CxjBlE;;AA1FL;EA6FM,gCAAqE;EACrE,yB/CnFS;C+CoFV;;AA/FL;EAmGI,mB/C2iBqC;C+C1gBtC;;AApIH;EAsGM,OAAM;CACP;;AAvGL;;EA2GM,qB/CmiBmC;E+CliBnC,oBAAmB;CACpB;;AA7GL;EAgHM,a/C8hBmC;E+C7hBnC,yC/CiiBiE;C+ChiBlE;;AAlHL;EAqHM,+BAAoE;EACpE,0B/C3GS;C+C4GV;;AAvHL;EA2HM,mBAAkB;EAClB,OAAM;EACN,UAAS;EACT,eAAc;EACd,YAAW;EACX,mBAAkB;EAClB,YAAW;EACX,iC/CmgBqD;C+ClgBtD;;AAnIL;EAuII,qB/CugBqC;C+ClftC;;AA5JH;EA0IM,SAAQ;CACT;;AA3IL;;EA+IM,oB/C+fmC;E+C9fnC,sBAAqB;CACtB;;AAjJL;EAoJM,e/C0fmC;E+CzfnC,uC/C6fiE;C+C5flE;;AAtJL;EAyJM,iCAAsE;EACtE,wB/C/IS;C+CgJV;;AAoBL;EACE,wB/CwdwC;E+CvdxC,iBAAgB;EAChB,gB/C6CgC;E+C5ChC,e/CkEmC;E+CjEnC,0B/CidyD;E+ChdzD,iCAAyE;EzC3KvE,2CyC4KyE;EzC3KzE,4CyC2KyE;CAM5E;;AAbD;EAWI,cAAa;CACd;;AAGH;EACE,wB/CycwC;E+CxcxC,e/C5KgB;C+C6KjB;;AChMD;EACE,mBAAkB;CACnB;;AAED;EACE,mBAAkB;EAClB,YAAW;EACX,iBAAgB;CACjB;;AAED;EACE,mBAAkB;EAClB,cAAa;EACb,uBAAmB;MAAnB,oBAAmB;EACnB,YAAW;EzCVP,wCPgyBgD;EOhyBhD,gCPgyBgD;EOhyBhD,6DPgyBgD;EgDpxBpD,oCAA2B;UAA3B,4BAA2B;EAC3B,4BAAmB;UAAnB,oBAAmB;CACpB;;AAED;;;EAGE,eAAc;CACf;;AAED;;EAEE,mBAAkB;EAClB,OAAM;CACP;;AAGD;;EAEE,iCAAwB;UAAxB,yBAAwB;CAKzB;;AAHyC;EAJ1C;;IAKI,wCAA+B;YAA/B,gCAA+B;GAElC;ClD0hKA;;AkDxhKD;;EAEE,oCAA2B;UAA3B,4BAA2B;CAK5B;;AAHyC;EAJ1C;;IAKI,2CAAkC;YAAlC,mCAAkC;GAErC;ClD6hKA;;AkD3hKD;;EAEE,qCAA4B;UAA5B,6BAA4B;CAK7B;;AAHyC;EAJ1C;;IAKI,4CAAmC;YAAnC,oCAAmC;GAEtC;ClDgiKA;;AkDzhKD;;EAEE,mBAAkB;EAClB,OAAM;EACN,UAAS;EAET,qBAAa;EAAb,cAAa;EACb,uBAAmB;MAAnB,oBAAmB;EACnB,sBAAuB;MAAvB,wBAAuB;EACvB,WhD0sBqC;EgDzsBrC,YhDjEa;EgDkEb,mBAAkB;EAClB,ahDwsBoC;CgD7rBrC;;A/ClEG;;;E+C6DA,YhDzEW;EgD0EX,sBAAqB;EACrB,WAAU;EACV,YAAW;C/C7DV;;A+CgEL;EACE,QAAO;CAIR;;AACD;EACE,SAAQ;CAIT;;AAGD;;EAEE,sBAAqB;EACrB,YhDqrBsC;EgDprBtC,ahDorBsC;EgDnrBtC,gDAA+C;EAC/C,2BAA0B;CAC3B;;AACD;EACE,iNjCrEyI;CiCsE1I;;AACD;EACE,iNjCxEyI;CiCyE1I;;AAQD;EACE,mBAAkB;EAClB,SAAQ;EACR,aAAY;EACZ,QAAO;EACP,YAAW;EACX,qBAAa;EAAb,cAAa;EACb,sBAAuB;MAAvB,wBAAuB;EACvB,gBAAe;EAEf,kBhD8oBqC;EgD7oBrC,iBhD6oBqC;EgD5oBrC,iBAAgB;CAoCjB;;AAhDD;EAeI,mBAAkB;EAClB,mBAAc;MAAd,eAAc;EACd,YhD0oBoC;EgDzoBpC,YhD0oBmC;EgDzoBnC,kBhD0oBmC;EgDzoBnC,iBhDyoBmC;EgDxoBnC,oBAAmB;EACnB,2ChDxIW;CgD6JZ;;AA3CH;EA0BM,mBAAkB;EAClB,WAAU;EACV,QAAO;EACP,sBAAqB;EACrB,YAAW;EACX,aAAY;EACZ,YAAW;CACZ;;AAjCL;EAmCM,mBAAkB;EAClB,cAAa;EACb,QAAO;EACP,sBAAqB;EACrB,YAAW;EACX,aAAY;EACZ,YAAW;CACZ;;AA1CL;EA8CI,uBhDhKW;CgDiKZ;;AAQH;EACE,mBAAkB;EAClB,WAA6C;EAC7C,aAAY;EACZ,UAA4C;EAC5C,YAAW;EACX,kBAAiB;EACjB,qBAAoB;EACpB,YhDjLa;EgDkLb,mBAAkB;CACnB;;AC5LD;EAAqB,oCAAmC;CAAK;;AAC7D;EAAqB,+BAA8B;CAAK;;AACxD;EAAqB,kCAAiC;CAAK;;AAC3D;EAAqB,kCAAiC;CAAK;;AAC3D;EAAqB,uCAAsC;CAAK;;AAChE;EAAqB,oCAAmC;CAAK;;ACF3D;EACE,qCAAmC;CACpC;;AjDgBC;EiDbE,qCAAgD;CjDgBjD;;AiDrBH;EACE,qCAAmC;CACpC;;AjDgBC;EiDbE,qCAAgD;CjDgBjD;;AiDrBH;EACE,qCAAmC;CACpC;;AjDgBC;EiDbE,qCAAgD;CjDgBjD;;AiDrBH;EACE,qCAAmC;CACpC;;AjDgBC;EiDbE,qCAAgD;CjDgBjD;;AiDrBH;EACE,qCAAmC;CACpC;;AjDgBC;EiDbE,qCAAgD;CjDgBjD;;AiDrBH;EACE,qCAAmC;CACpC;;AjDgBC;EiDbE,qCAAgD;CjDgBjD;;AiDrBH;EACE,qCAAmC;CACpC;;AjDgBC;EiDbE,qCAAgD;CjDgBjD;;AiDrBH;EACE,qCAAmC;CACpC;;AjDgBC;EiDbE,qCAAgD;CjDgBjD;;AkDdL;EACE,kCAAmC;CACpC;;AAED;EACE,yCAAwC;CACzC;;ACZD;EAAmB,qCAAoD;CAAI;;AAC3E;EAAmB,qBAAoB;CAAK;;AAC5C;EAAmB,yBAAwB;CAAK;;AAChD;EAAmB,2BAA0B;CAAK;;AAClD;EAAmB,4BAA2B;CAAK;;AACnD;EAAmB,0BAAyB;CAAK;;AAG/C;EACE,iCAA+B;CAChC;;AAFD;EACE,iCAA+B;CAChC;;AAFD;EACE,iCAA+B;CAChC;;AAFD;EACE,iCAA+B;CAChC;;AAFD;EACE,iCAA+B;CAChC;;AAFD;EACE,iCAA+B;CAChC;;AAFD;EACE,iCAA+B;CAChC;;AAFD;EACE,iCAA+B;CAChC;;AAGH;EACE,8BAA+B;CAChC;;AAMD;EACE,kCAAwC;CACzC;;AACD;EACE,2CAAiD;EACjD,4CAAkD;CACnD;;AACD;EACE,4CAAkD;EAClD,+CAAqD;CACtD;;AACD;EACE,+CAAqD;EACrD,8CAAoD;CACrD;;AACD;EACE,2CAAiD;EACjD,8CAAoD;CACrD;;AAED;EACE,8BAA6B;CAC9B;;AAED;EACE,4BAA2B;CAC5B;;ACpDC;EACE,eAAc;EACd,YAAW;EACX,YAAW;CACZ;;ACKC;EAA2B,yBAAwB;CAAK;;AACxD;EAA2B,2BAA0B;CAAK;;AAC1D;EAA2B,iCAAgC;CAAK;;AAChE;EAA2B,0BAAyB;CAAK;;AACzD;EAA2B,0BAAyB;CAAK;;AACzD;EAA2B,8BAA6B;CAAK;;AAC7D;EAA2B,+BAA8B;CAAK;;AAC9D;EAA2B,gCAAwB;EAAxB,yBAAwB;CAAK;;AACxD;EAA2B,uCAA+B;EAA/B,gCAA+B;CAAK;;A3CsC/D;E2C9CA;IAA2B,yBAAwB;GAAK;EACxD;IAA2B,2BAA0B;GAAK;EAC1D;IAA2B,iCAAgC;GAAK;EAChE;IAA2B,0BAAyB;GAAK;EACzD;IAA2B,0BAAyB;GAAK;EACzD;IAA2B,8BAA6B;GAAK;EAC7D;IAA2B,+BAA8B;GAAK;EAC9D;IAA2B,gCAAwB;IAAxB,yBAAwB;GAAK;EACxD;IAA2B,uCAA+B;IAA/B,gCAA+B;GAAK;CxD07KlE;;Aap5KG;E2C9CA;IAA2B,yBAAwB;GAAK;EACxD;IAA2B,2BAA0B;GAAK;EAC1D;IAA2B,iCAAgC;GAAK;EAChE;IAA2B,0BAAyB;GAAK;EACzD;IAA2B,0BAAyB;GAAK;EACzD;IAA2B,8BAA6B;GAAK;EAC7D;IAA2B,+BAA8B;GAAK;EAC9D;IAA2B,gCAAwB;IAAxB,yBAAwB;GAAK;EACxD;IAA2B,uCAA+B;IAA/B,gCAA+B;GAAK;CxDw9KlE;;Aal7KG;E2C9CA;IAA2B,yBAAwB;GAAK;EACxD;IAA2B,2BAA0B;GAAK;EAC1D;IAA2B,iCAAgC;GAAK;EAChE;IAA2B,0BAAyB;GAAK;EACzD;IAA2B,0BAAyB;GAAK;EACzD;IAA2B,8BAA6B;GAAK;EAC7D;IAA2B,+BAA8B;GAAK;EAC9D;IAA2B,gCAAwB;IAAxB,yBAAwB;GAAK;EACxD;IAA2B,uCAA+B;IAA/B,gCAA+B;GAAK;CxDs/KlE;;Aah9KG;E2C9CA;IAA2B,yBAAwB;GAAK;EACxD;IAA2B,2BAA0B;GAAK;EAC1D;IAA2B,iCAAgC;GAAK;EAChE;IAA2B,0BAAyB;GAAK;EACzD;IAA2B,0BAAyB;GAAK;EACzD;IAA2B,8BAA6B;GAAK;EAC7D;IAA2B,+BAA8B;GAAK;EAC9D;IAA2B,gCAAwB;IAAxB,yBAAwB;GAAK;EACxD;IAA2B,uCAA+B;IAA/B,gCAA+B;GAAK;CxDohLlE;;AwD3gLD;EACE,yBAAwB;CAKzB;;AAHC;EAHF;IAII,0BAAyB;GAE5B;CxD+gLA;;AwD7gLD;EACE,yBAAwB;CAKzB;;AAHC;EAHF;IAII,2BAA0B;GAE7B;CxDihLA;;AwD/gLD;EACE,yBAAwB;CAKzB;;AAHC;EAHF;IAII,iCAAgC;GAEnC;CxDmhLA;;AwDhhLC;EADF;IAEI,yBAAwB;GAE3B;CxDmhLA;;AyDxkLD;EACE,mBAAkB;EAClB,eAAc;EACd,YAAW;EACX,WAAU;EACV,iBAAgB;CAoBjB;;AAzBD;EAQI,eAAc;EACd,YAAW;CACZ;;AAVH;;;;;EAiBI,mBAAkB;EAClB,OAAM;EACN,UAAS;EACT,QAAO;EACP,YAAW;EACX,aAAY;EACZ,UAAS;CACV;;AAGH;EAEI,wBAA+B;CAChC;;AAGH;EAEI,oBAA+B;CAChC;;AAGH;EAEI,iBAA8B;CAC/B;;AAGH;EAEI,kBAA8B;CAC/B;;ACxCC;EAAgC,mCAA8B;MAA9B,+BAA8B;CAAK;;AACnE;EAAgC,sCAAiC;MAAjC,kCAAiC;CAAK;;AACtE;EAAgC,2CAAsC;MAAtC,uCAAsC;CAAK;;AAC3E;EAAgC,8CAAyC;MAAzC,0CAAyC;CAAK;;AAE9E;EAA8B,+BAA0B;MAA1B,2BAA0B;CAAK;;AAC7D;EAA8B,iCAA4B;MAA5B,6BAA4B;CAAK;;AAC/D;EAA8B,uCAAkC;MAAlC,mCAAkC;CAAK;;AAErE;EAAoC,gCAAsC;MAAtC,uCAAsC;CAAK;;AAC/E;EAAoC,8BAAoC;MAApC,qCAAoC;CAAK;;AAC7E;EAAoC,iCAAkC;MAAlC,mCAAkC;CAAK;;AAC3E;EAAoC,kCAAyC;MAAzC,0CAAyC;CAAK;;AAClF;EAAoC,qCAAwC;MAAxC,yCAAwC;CAAK;;AAEjF;EAAiC,iCAAkC;MAAlC,mCAAkC;CAAK;;AACxE;EAAiC,+BAAgC;MAAhC,iCAAgC;CAAK;;AACtE;EAAiC,kCAA8B;MAA9B,+BAA8B;CAAK;;AACpE;EAAiC,oCAAgC;MAAhC,iCAAgC;CAAK;;AACtE;EAAiC,mCAA+B;MAA/B,gCAA+B;CAAK;;AAErE;EAAkC,qCAAoC;MAApC,qCAAoC;CAAK;;AAC3E;EAAkC,mCAAkC;MAAlC,mCAAkC;CAAK;;AACzE;EAAkC,sCAAgC;MAAhC,iCAAgC;CAAK;;AACvE;EAAkC,uCAAuC;MAAvC,wCAAuC;CAAK;;AAC9E;EAAkC,0CAAsC;MAAtC,uCAAsC;CAAK;;AAC7E;EAAkC,uCAAiC;MAAjC,kCAAiC;CAAK;;AAExE;EAAgC,qCAA2B;MAA3B,4BAA2B;CAAK;;AAChE;EAAgC,sCAAiC;MAAjC,kCAAiC;CAAK;;AACtE;EAAgC,oCAA+B;MAA/B,gCAA+B;CAAK;;AACpE;EAAgC,uCAA6B;MAA7B,8BAA6B;CAAK;;AAClE;EAAgC,yCAA+B;MAA/B,gCAA+B;CAAK;;AACpE;EAAgC,wCAA8B;MAA9B,+BAA8B;CAAK;;A7CanE;E6C9CA;IAAgC,mCAA8B;QAA9B,+BAA8B;GAAK;EACnE;IAAgC,sCAAiC;QAAjC,kCAAiC;GAAK;EACtE;IAAgC,2CAAsC;QAAtC,uCAAsC;GAAK;EAC3E;IAAgC,8CAAyC;QAAzC,0CAAyC;GAAK;EAE9E;IAA8B,+BAA0B;QAA1B,2BAA0B;GAAK;EAC7D;IAA8B,iCAA4B;QAA5B,6BAA4B;GAAK;EAC/D;IAA8B,uCAAkC;QAAlC,mCAAkC;GAAK;EAErE;IAAoC,gCAAsC;QAAtC,uCAAsC;GAAK;EAC/E;IAAoC,8BAAoC;QAApC,qCAAoC;GAAK;EAC7E;IAAoC,iCAAkC;QAAlC,mCAAkC;GAAK;EAC3E;IAAoC,kCAAyC;QAAzC,0CAAyC;GAAK;EAClF;IAAoC,qCAAwC;QAAxC,yCAAwC;GAAK;EAEjF;IAAiC,iCAAkC;QAAlC,mCAAkC;GAAK;EACxE;IAAiC,+BAAgC;QAAhC,iCAAgC;GAAK;EACtE;IAAiC,kCAA8B;QAA9B,+BAA8B;GAAK;EACpE;IAAiC,oCAAgC;QAAhC,iCAAgC;GAAK;EACtE;IAAiC,mCAA+B;QAA/B,gCAA+B;GAAK;EAErE;IAAkC,qCAAoC;QAApC,qCAAoC;GAAK;EAC3E;IAAkC,mCAAkC;QAAlC,mCAAkC;GAAK;EACzE;IAAkC,sCAAgC;QAAhC,iCAAgC;GAAK;EACvE;IAAkC,uCAAuC;QAAvC,wCAAuC;GAAK;EAC9E;IAAkC,0CAAsC;QAAtC,uCAAsC;GAAK;EAC7E;IAAkC,uCAAiC;QAAjC,kCAAiC;GAAK;EAExE;IAAgC,qCAA2B;QAA3B,4BAA2B;GAAK;EAChE;IAAgC,sCAAiC;QAAjC,kCAAiC;GAAK;EACtE;IAAgC,oCAA+B;QAA/B,gCAA+B;GAAK;EACpE;IAAgC,uCAA6B;QAA7B,8BAA6B;GAAK;EAClE;IAAgC,yCAA+B;QAA/B,gCAA+B;GAAK;EACpE;IAAgC,wCAA8B;QAA9B,+BAA8B;GAAK;C1DwxLtE;;Aa3wLG;E6C9CA;IAAgC,mCAA8B;QAA9B,+BAA8B;GAAK;EACnE;IAAgC,sCAAiC;QAAjC,kCAAiC;GAAK;EACtE;IAAgC,2CAAsC;QAAtC,uCAAsC;GAAK;EAC3E;IAAgC,8CAAyC;QAAzC,0CAAyC;GAAK;EAE9E;IAA8B,+BAA0B;QAA1B,2BAA0B;GAAK;EAC7D;IAA8B,iCAA4B;QAA5B,6BAA4B;GAAK;EAC/D;IAA8B,uCAAkC;QAAlC,mCAAkC;GAAK;EAErE;IAAoC,gCAAsC;QAAtC,uCAAsC;GAAK;EAC/E;IAAoC,8BAAoC;QAApC,qCAAoC;GAAK;EAC7E;IAAoC,iCAAkC;QAAlC,mCAAkC;GAAK;EAC3E;IAAoC,kCAAyC;QAAzC,0CAAyC;GAAK;EAClF;IAAoC,qCAAwC;QAAxC,yCAAwC;GAAK;EAEjF;IAAiC,iCAAkC;QAAlC,mCAAkC;GAAK;EACxE;IAAiC,+BAAgC;QAAhC,iCAAgC;GAAK;EACtE;IAAiC,kCAA8B;QAA9B,+BAA8B;GAAK;EACpE;IAAiC,oCAAgC;QAAhC,iCAAgC;GAAK;EACtE;IAAiC,mCAA+B;QAA/B,gCAA+B;GAAK;EAErE;IAAkC,qCAAoC;QAApC,qCAAoC;GAAK;EAC3E;IAAkC,mCAAkC;QAAlC,mCAAkC;GAAK;EACzE;IAAkC,sCAAgC;QAAhC,iCAAgC;GAAK;EACvE;IAAkC,uCAAuC;QAAvC,wCAAuC;GAAK;EAC9E;IAAkC,0CAAsC;QAAtC,uCAAsC;GAAK;EAC7E;IAAkC,uCAAiC;QAAjC,kCAAiC;GAAK;EAExE;IAAgC,qCAA2B;QAA3B,4BAA2B;GAAK;EAChE;IAAgC,sCAAiC;QAAjC,kCAAiC;GAAK;EACtE;IAAgC,oCAA+B;QAA/B,gCAA+B;GAAK;EACpE;IAAgC,uCAA6B;QAA7B,8BAA6B;GAAK;EAClE;IAAgC,yCAA+B;QAA/B,gCAA+B;GAAK;EACpE;IAAgC,wCAA8B;QAA9B,+BAA8B;GAAK;C1Dk3LtE;;Aar2LG;E6C9CA;IAAgC,mCAA8B;QAA9B,+BAA8B;GAAK;EACnE;IAAgC,sCAAiC;QAAjC,kCAAiC;GAAK;EACtE;IAAgC,2CAAsC;QAAtC,uCAAsC;GAAK;EAC3E;IAAgC,8CAAyC;QAAzC,0CAAyC;GAAK;EAE9E;IAA8B,+BAA0B;QAA1B,2BAA0B;GAAK;EAC7D;IAA8B,iCAA4B;QAA5B,6BAA4B;GAAK;EAC/D;IAA8B,uCAAkC;QAAlC,mCAAkC;GAAK;EAErE;IAAoC,gCAAsC;QAAtC,uCAAsC;GAAK;EAC/E;IAAoC,8BAAoC;QAApC,qCAAoC;GAAK;EAC7E;IAAoC,iCAAkC;QAAlC,mCAAkC;GAAK;EAC3E;IAAoC,kCAAyC;QAAzC,0CAAyC;GAAK;EAClF;IAAoC,qCAAwC;QAAxC,yCAAwC;GAAK;EAEjF;IAAiC,iCAAkC;QAAlC,mCAAkC;GAAK;EACxE;IAAiC,+BAAgC;QAAhC,iCAAgC;GAAK;EACtE;IAAiC,kCAA8B;QAA9B,+BAA8B;GAAK;EACpE;IAAiC,oCAAgC;QAAhC,iCAAgC;GAAK;EACtE;IAAiC,mCAA+B;QAA/B,gCAA+B;GAAK;EAErE;IAAkC,qCAAoC;QAApC,qCAAoC;GAAK;EAC3E;IAAkC,mCAAkC;QAAlC,mCAAkC;GAAK;EACzE;IAAkC,sCAAgC;QAAhC,iCAAgC;GAAK;EACvE;IAAkC,uCAAuC;QAAvC,wCAAuC;GAAK;EAC9E;IAAkC,0CAAsC;QAAtC,uCAAsC;GAAK;EAC7E;IAAkC,uCAAiC;QAAjC,kCAAiC;GAAK;EAExE;IAAgC,qCAA2B;QAA3B,4BAA2B;GAAK;EAChE;IAAgC,sCAAiC;QAAjC,kCAAiC;GAAK;EACtE;IAAgC,oCAA+B;QAA/B,gCAA+B;GAAK;EACpE;IAAgC,uCAA6B;QAA7B,8BAA6B;GAAK;EAClE;IAAgC,yCAA+B;QAA/B,gCAA+B;GAAK;EACpE;IAAgC,wCAA8B;QAA9B,+BAA8B;GAAK;C1D48LtE;;Aa/7LG;E6C9CA;IAAgC,mCAA8B;QAA9B,+BAA8B;GAAK;EACnE;IAAgC,sCAAiC;QAAjC,kCAAiC;GAAK;EACtE;IAAgC,2CAAsC;QAAtC,uCAAsC;GAAK;EAC3E;IAAgC,8CAAyC;QAAzC,0CAAyC;GAAK;EAE9E;IAA8B,+BAA0B;QAA1B,2BAA0B;GAAK;EAC7D;IAA8B,iCAA4B;QAA5B,6BAA4B;GAAK;EAC/D;IAA8B,uCAAkC;QAAlC,mCAAkC;GAAK;EAErE;IAAoC,gCAAsC;QAAtC,uCAAsC;GAAK;EAC/E;IAAoC,8BAAoC;QAApC,qCAAoC;GAAK;EAC7E;IAAoC,iCAAkC;QAAlC,mCAAkC;GAAK;EAC3E;IAAoC,kCAAyC;QAAzC,0CAAyC;GAAK;EAClF;IAAoC,qCAAwC;QAAxC,yCAAwC;GAAK;EAEjF;IAAiC,iCAAkC;QAAlC,mCAAkC;GAAK;EACxE;IAAiC,+BAAgC;QAAhC,iCAAgC;GAAK;EACtE;IAAiC,kCAA8B;QAA9B,+BAA8B;GAAK;EACpE;IAAiC,oCAAgC;QAAhC,iCAAgC;GAAK;EACtE;IAAiC,mCAA+B;QAA/B,gCAA+B;GAAK;EAErE;IAAkC,qCAAoC;QAApC,qCAAoC;GAAK;EAC3E;IAAkC,mCAAkC;QAAlC,mCAAkC;GAAK;EACzE;IAAkC,sCAAgC;QAAhC,iCAAgC;GAAK;EACvE;IAAkC,uCAAuC;QAAvC,wCAAuC;GAAK;EAC9E;IAAkC,0CAAsC;QAAtC,uCAAsC;GAAK;EAC7E;IAAkC,uCAAiC;QAAjC,kCAAiC;GAAK;EAExE;IAAgC,qCAA2B;QAA3B,4BAA2B;GAAK;EAChE;IAAgC,sCAAiC;QAAjC,kCAAiC;GAAK;EACtE;IAAgC,oCAA+B;QAA/B,gCAA+B;GAAK;EACpE;IAAgC,uCAA6B;QAA7B,8BAA6B;GAAK;EAClE;IAAgC,yCAA+B;QAA/B,gCAA+B;GAAK;EACpE;IAAgC,wCAA8B;QAA9B,+BAA8B;GAAK;C1DsiMtE;;A2D7kMG;ECDF,uBAAsB;CDC2B;;AAC/C;ECCF,wBAAuB;CDD2B;;AAChD;ECGF,uBAAsB;CDH2B;;A9CkD/C;E8CpDA;ICDF,uBAAsB;GDC2B;EAC/C;ICCF,wBAAuB;GDD2B;EAChD;ICGF,uBAAsB;GDH2B;C3DmmMlD;;AajjMG;E8CpDA;ICDF,uBAAsB;GDC2B;EAC/C;ICCF,wBAAuB;GDD2B;EAChD;ICGF,uBAAsB;GDH2B;C3D+mMlD;;Aa7jMG;E8CpDA;ICDF,uBAAsB;GDC2B;EAC/C;ICCF,wBAAuB;GDD2B;EAChD;ICGF,uBAAsB;GDH2B;C3D2nMlD;;AazkMG;E8CpDA;ICDF,uBAAsB;GDC2B;EAC/C;ICCF,wBAAuB;GDD2B;EAChD;ICGF,uBAAsB;GDH2B;C3DuoMlD;;A6DroMC;EAAyB,4BAA8B;CAAI;;AAA3D;EAAyB,8BAA8B;CAAI;;AAA3D;EAAyB,8BAA8B;CAAI;;AAA3D;EAAyB,2BAA8B;CAAI;;AAA3D;EAAyB,oCAA8B;EAA9B,4BAA8B;CAAI;;AAK7D;EACE,gBAAe;EACf,OAAM;EACN,SAAQ;EACR,QAAO;EACP,c3D8esC;C2D7evC;;AAED;EACE,gBAAe;EACf,SAAQ;EACR,UAAS;EACT,QAAO;EACP,c3DsesC;C2DrevC;;AAG6B;EAD9B;IAEI,yBAAgB;IAAhB,iBAAgB;IAChB,OAAM;IACN,c3D8doC;G2D5dvC;C7DspMA;;A8DrrMD;ECEE,mBAAkB;EAClB,WAAU;EACV,YAAW;EACX,WAAU;EACV,iBAAgB;EAChB,uBAAmB;EACnB,oBAAmB;EACnB,8BAAqB;UAArB,sBAAqB;EACrB,UAAS;CDRV;;ACkBC;EAEE,iBAAgB;EAChB,YAAW;EACX,aAAY;EACZ,kBAAiB;EACjB,WAAU;EACV,oBAAmB;EACnB,wBAAe;UAAf,gBAAe;CAChB;;AC3BC;EAAuB,sBAA4B;CAAI;;AAAvD;EAAuB,sBAA4B;CAAI;;AAAvD;EAAuB,sBAA4B;CAAI;;AAAvD;EAAuB,uBAA4B;CAAI;;AAAvD;EAAuB,uBAA4B;CAAI;;AAAvD;EAAuB,uBAA4B;CAAI;;AAAvD;EAAuB,uBAA4B;CAAI;;AAAvD;EAAuB,wBAA4B;CAAI;;AAI3D;EAAU,2BAA0B;CAAK;;AACzC;EAAU,4BAA2B;CAAK;;ACAlC;EAAgC,qBAA4B;CAAI;;AAChE;;EAEE,yBAAoC;CACrC;;AACD;;EAEE,2BAAwC;CACzC;;AACD;;EAEE,4BAA0C;CAC3C;;AACD;;EAEE,0BAAsC;CACvC;;AAhBD;EAAgC,2BAA4B;CAAI;;AAChE;;EAEE,+BAAoC;CACrC;;AACD;;EAEE,iCAAwC;CACzC;;AACD;;EAEE,kCAA0C;CAC3C;;AACD;;EAEE,gCAAsC;CACvC;;AAhBD;EAAgC,0BAA4B;CAAI;;AAChE;;EAEE,8BAAoC;CACrC;;AACD;;EAEE,gCAAwC;CACzC;;AACD;;EAEE,iCAA0C;CAC3C;;AACD;;EAEE,+BAAsC;CACvC;;AAhBD;EAAgC,wBAA4B;CAAI;;AAChE;;EAEE,4BAAoC;CACrC;;AACD;;EAEE,8BAAwC;CACzC;;AACD;;EAEE,+BAA0C;CAC3C;;AACD;;EAEE,6BAAsC;CACvC;;AAhBD;EAAgC,0BAA4B;CAAI;;AAChE;;EAEE,8BAAoC;CACrC;;AACD;;EAEE,gCAAwC;CACzC;;AACD;;EAEE,iCAA0C;CAC3C;;AACD;;EAEE,+BAAsC;CACvC;;AAhBD;EAAgC,wBAA4B;CAAI;;AAChE;;EAEE,4BAAoC;CACrC;;AACD;;EAEE,8BAAwC;CACzC;;AACD;;EAEE,+BAA0C;CAC3C;;AACD;;EAEE,6BAAsC;CACvC;;AAhBD;EAAgC,sBAA4B;CAAI;;AAChE;;EAEE,0BAAoC;CACrC;;AACD;;EAEE,4BAAwC;CACzC;;AACD;;EAEE,6BAA0C;CAC3C;;AACD;;EAEE,2BAAsC;CACvC;;AAhBD;EAAgC,4BAA4B;CAAI;;AAChE;;EAEE,gCAAoC;CACrC;;AACD;;EAEE,kCAAwC;CACzC;;AACD;;EAEE,mCAA0C;CAC3C;;AACD;;EAEE,iCAAsC;CACvC;;AAhBD;EAAgC,2BAA4B;CAAI;;AAChE;;EAEE,+BAAoC;CACrC;;AACD;;EAEE,iCAAwC;CACzC;;AACD;;EAEE,kCAA0C;CAC3C;;AACD;;EAEE,gCAAsC;CACvC;;AAhBD;EAAgC,yBAA4B;CAAI;;AAChE;;EAEE,6BAAoC;CACrC;;AACD;;EAEE,+BAAwC;CACzC;;AACD;;EAEE,gCAA0C;CAC3C;;AACD;;EAEE,8BAAsC;CACvC;;AAhBD;EAAgC,2BAA4B;CAAI;;AAChE;;EAEE,+BAAoC;CACrC;;AACD;;EAEE,iCAAwC;CACzC;;AACD;;EAEE,kCAA0C;CAC3C;;AACD;;EAEE,gCAAsC;CACvC;;AAhBD;EAAgC,yBAA4B;CAAI;;AAChE;;EAEE,6BAAoC;CACrC;;AACD;;EAEE,+BAAwC;CACzC;;AACD;;EAEE,gCAA0C;CAC3C;;AACD;;EAEE,8BAAsC;CACvC;;AAKL;EAAmB,wBAAuB;CAAK;;AAC/C;;EAEE,4BAA2B;CAC5B;;AACD;;EAEE,8BAA6B;CAC9B;;AACD;;EAEE,+BAA8B;CAC/B;;AACD;;EAEE,6BAA4B;CAC7B;;ApDQD;EoD7CI;IAAgC,qBAA4B;GAAI;EAChE;;IAEE,yBAAoC;GACrC;EACD;;IAEE,2BAAwC;GACzC;EACD;;IAEE,4BAA0C;GAC3C;EACD;;IAEE,0BAAsC;GACvC;EAhBD;IAAgC,2BAA4B;GAAI;EAChE;;IAEE,+BAAoC;GACrC;EACD;;IAEE,iCAAwC;GACzC;EACD;;IAEE,kCAA0C;GAC3C;EACD;;IAEE,gCAAsC;GACvC;EAhBD;IAAgC,0BAA4B;GAAI;EAChE;;IAEE,8BAAoC;GACrC;EACD;;IAEE,gCAAwC;GACzC;EACD;;IAEE,iCAA0C;GAC3C;EACD;;IAEE,+BAAsC;GACvC;EAhBD;IAAgC,wBAA4B;GAAI;EAChE;;IAEE,4BAAoC;GACrC;EACD;;IAEE,8BAAwC;GACzC;EACD;;IAEE,+BAA0C;GAC3C;EACD;;IAEE,6BAAsC;GACvC;EAhBD;IAAgC,0BAA4B;GAAI;EAChE;;IAEE,8BAAoC;GACrC;EACD;;IAEE,gCAAwC;GACzC;EACD;;IAEE,iCAA0C;GAC3C;EACD;;IAEE,+BAAsC;GACvC;EAhBD;IAAgC,wBAA4B;GAAI;EAChE;;IAEE,4BAAoC;GACrC;EACD;;IAEE,8BAAwC;GACzC;EACD;;IAEE,+BAA0C;GAC3C;EACD;;IAEE,6BAAsC;GACvC;EAhBD;IAAgC,sBAA4B;GAAI;EAChE;;IAEE,0BAAoC;GACrC;EACD;;IAEE,4BAAwC;GACzC;EACD;;IAEE,6BAA0C;GAC3C;EACD;;IAEE,2BAAsC;GACvC;EAhBD;IAAgC,4BAA4B;GAAI;EAChE;;IAEE,gCAAoC;GACrC;EACD;;IAEE,kCAAwC;GACzC;EACD;;IAEE,mCAA0C;GAC3C;EACD;;IAEE,iCAAsC;GACvC;EAhBD;IAAgC,2BAA4B;GAAI;EAChE;;IAEE,+BAAoC;GACrC;EACD;;IAEE,iCAAwC;GACzC;EACD;;IAEE,kCAA0C;GAC3C;EACD;;IAEE,gCAAsC;GACvC;EAhBD;IAAgC,yBAA4B;GAAI;EAChE;;IAEE,6BAAoC;GACrC;EACD;;IAEE,+BAAwC;GACzC;EACD;;IAEE,gCAA0C;GAC3C;EACD;;IAEE,8BAAsC;GACvC;EAhBD;IAAgC,2BAA4B;GAAI;EAChE;;IAEE,+BAAoC;GACrC;EACD;;IAEE,iCAAwC;GACzC;EACD;;IAEE,kCAA0C;GAC3C;EACD;;IAEE,gCAAsC;GACvC;EAhBD;IAAgC,yBAA4B;GAAI;EAChE;;IAEE,6BAAoC;GACrC;EACD;;IAEE,+BAAwC;GACzC;EACD;;IAEE,gCAA0C;GAC3C;EACD;;IAEE,8BAAsC;GACvC;EAKL;IAAmB,wBAAuB;GAAK;EAC/C;;IAEE,4BAA2B;GAC5B;EACD;;IAEE,8BAA6B;GAC9B;EACD;;IAEE,+BAA8B;GAC/B;EACD;;IAEE,6BAA4B;GAC7B;CjEyvNJ;;AajvNG;EoD7CI;IAAgC,qBAA4B;GAAI;EAChE;;IAEE,yBAAoC;GACrC;EACD;;IAEE,2BAAwC;GACzC;EACD;;IAEE,4BAA0C;GAC3C;EACD;;IAEE,0BAAsC;GACvC;EAhBD;IAAgC,2BAA4B;GAAI;EAChE;;IAEE,+BAAoC;GACrC;EACD;;IAEE,iCAAwC;GACzC;EACD;;IAEE,kCAA0C;GAC3C;EACD;;IAEE,gCAAsC;GACvC;EAhBD;IAAgC,0BAA4B;GAAI;EAChE;;IAEE,8BAAoC;GACrC;EACD;;IAEE,gCAAwC;GACzC;EACD;;IAEE,iCAA0C;GAC3C;EACD;;IAEE,+BAAsC;GACvC;EAhBD;IAAgC,wBAA4B;GAAI;EAChE;;IAEE,4BAAoC;GACrC;EACD;;IAEE,8BAAwC;GACzC;EACD;;IAEE,+BAA0C;GAC3C;EACD;;IAEE,6BAAsC;GACvC;EAhBD;IAAgC,0BAA4B;GAAI;EAChE;;IAEE,8BAAoC;GACrC;EACD;;IAEE,gCAAwC;GACzC;EACD;;IAEE,iCAA0C;GAC3C;EACD;;IAEE,+BAAsC;GACvC;EAhBD;IAAgC,wBAA4B;GAAI;EAChE;;IAEE,4BAAoC;GACrC;EACD;;IAEE,8BAAwC;GACzC;EACD;;IAEE,+BAA0C;GAC3C;EACD;;IAEE,6BAAsC;GACvC;EAhBD;IAAgC,sBAA4B;GAAI;EAChE;;IAEE,0BAAoC;GACrC;EACD;;IAEE,4BAAwC;GACzC;EACD;;IAEE,6BAA0C;GAC3C;EACD;;IAEE,2BAAsC;GACvC;EAhBD;IAAgC,4BAA4B;GAAI;EAChE;;IAEE,gCAAoC;GACrC;EACD;;IAEE,kCAAwC;GACzC;EACD;;IAEE,mCAA0C;GAC3C;EACD;;IAEE,iCAAsC;GACvC;EAhBD;IAAgC,2BAA4B;GAAI;EAChE;;IAEE,+BAAoC;GACrC;EACD;;IAEE,iCAAwC;GACzC;EACD;;IAEE,kCAA0C;GAC3C;EACD;;IAEE,gCAAsC;GACvC;EAhBD;IAAgC,yBAA4B;GAAI;EAChE;;IAEE,6BAAoC;GACrC;EACD;;IAEE,+BAAwC;GACzC;EACD;;IAEE,gCAA0C;GAC3C;EACD;;IAEE,8BAAsC;GACvC;EAhBD;IAAgC,2BAA4B;GAAI;EAChE;;IAEE,+BAAoC;GACrC;EACD;;IAEE,iCAAwC;GACzC;EACD;;IAEE,kCAA0C;GAC3C;EACD;;IAEE,gCAAsC;GACvC;EAhBD;IAAgC,yBAA4B;GAAI;EAChE;;IAEE,6BAAoC;GACrC;EACD;;IAEE,+BAAwC;GACzC;EACD;;IAEE,gCAA0C;GAC3C;EACD;;IAEE,8BAAsC;GACvC;EAKL;IAAmB,wBAAuB;GAAK;EAC/C;;IAEE,4BAA2B;GAC5B;EACD;;IAEE,8BAA6B;GAC9B;EACD;;IAEE,+BAA8B;GAC/B;EACD;;IAEE,6BAA4B;GAC7B;CjEm/NJ;;Aa3+NG;EoD7CI;IAAgC,qBAA4B;GAAI;EAChE;;IAEE,yBAAoC;GACrC;EACD;;IAEE,2BAAwC;GACzC;EACD;;IAEE,4BAA0C;GAC3C;EACD;;IAEE,0BAAsC;GACvC;EAhBD;IAAgC,2BAA4B;GAAI;EAChE;;IAEE,+BAAoC;GACrC;EACD;;IAEE,iCAAwC;GACzC;EACD;;IAEE,kCAA0C;GAC3C;EACD;;IAEE,gCAAsC;GACvC;EAhBD;IAAgC,0BAA4B;GAAI;EAChE;;IAEE,8BAAoC;GACrC;EACD;;IAEE,gCAAwC;GACzC;EACD;;IAEE,iCAA0C;GAC3C;EACD;;IAEE,+BAAsC;GACvC;EAhBD;IAAgC,wBAA4B;GAAI;EAChE;;IAEE,4BAAoC;GACrC;EACD;;IAEE,8BAAwC;GACzC;EACD;;IAEE,+BAA0C;GAC3C;EACD;;IAEE,6BAAsC;GACvC;EAhBD;IAAgC,0BAA4B;GAAI;EAChE;;IAEE,8BAAoC;GACrC;EACD;;IAEE,gCAAwC;GACzC;EACD;;IAEE,iCAA0C;GAC3C;EACD;;IAEE,+BAAsC;GACvC;EAhBD;IAAgC,wBAA4B;GAAI;EAChE;;IAEE,4BAAoC;GACrC;EACD;;IAEE,8BAAwC;GACzC;EACD;;IAEE,+BAA0C;GAC3C;EACD;;IAEE,6BAAsC;GACvC;EAhBD;IAAgC,sBAA4B;GAAI;EAChE;;IAEE,0BAAoC;GACrC;EACD;;IAEE,4BAAwC;GACzC;EACD;;IAEE,6BAA0C;GAC3C;EACD;;IAEE,2BAAsC;GACvC;EAhBD;IAAgC,4BAA4B;GAAI;EAChE;;IAEE,gCAAoC;GACrC;EACD;;IAEE,kCAAwC;GACzC;EACD;;IAEE,mCAA0C;GAC3C;EACD;;IAEE,iCAAsC;GACvC;EAhBD;IAAgC,2BAA4B;GAAI;EAChE;;IAEE,+BAAoC;GACrC;EACD;;IAEE,iCAAwC;GACzC;EACD;;IAEE,kCAA0C;GAC3C;EACD;;IAEE,gCAAsC;GACvC;EAhBD;IAAgC,yBAA4B;GAAI;EAChE;;IAEE,6BAAoC;GACrC;EACD;;IAEE,+BAAwC;GACzC;EACD;;IAEE,gCAA0C;GAC3C;EACD;;IAEE,8BAAsC;GACvC;EAhBD;IAAgC,2BAA4B;GAAI;EAChE;;IAEE,+BAAoC;GACrC;EACD;;IAEE,iCAAwC;GACzC;EACD;;IAEE,kCAA0C;GAC3C;EACD;;IAEE,gCAAsC;GACvC;EAhBD;IAAgC,yBAA4B;GAAI;EAChE;;IAEE,6BAAoC;GACrC;EACD;;IAEE,+BAAwC;GACzC;EACD;;IAEE,gCAA0C;GAC3C;EACD;;IAEE,8BAAsC;GACvC;EAKL;IAAmB,wBAAuB;GAAK;EAC/C;;IAEE,4BAA2B;GAC5B;EACD;;IAEE,8BAA6B;GAC9B;EACD;;IAEE,+BAA8B;GAC/B;EACD;;IAEE,6BAA4B;GAC7B;CjE6uOJ;;AaruOG;EoD7CI;IAAgC,qBAA4B;GAAI;EAChE;;IAEE,yBAAoC;GACrC;EACD;;IAEE,2BAAwC;GACzC;EACD;;IAEE,4BAA0C;GAC3C;EACD;;IAEE,0BAAsC;GACvC;EAhBD;IAAgC,2BAA4B;GAAI;EAChE;;IAEE,+BAAoC;GACrC;EACD;;IAEE,iCAAwC;GACzC;EACD;;IAEE,kCAA0C;GAC3C;EACD;;IAEE,gCAAsC;GACvC;EAhBD;IAAgC,0BAA4B;GAAI;EAChE;;IAEE,8BAAoC;GACrC;EACD;;IAEE,gCAAwC;GACzC;EACD;;IAEE,iCAA0C;GAC3C;EACD;;IAEE,+BAAsC;GACvC;EAhBD;IAAgC,wBAA4B;GAAI;EAChE;;IAEE,4BAAoC;GACrC;EACD;;IAEE,8BAAwC;GACzC;EACD;;IAEE,+BAA0C;GAC3C;EACD;;IAEE,6BAAsC;GACvC;EAhBD;IAAgC,0BAA4B;GAAI;EAChE;;IAEE,8BAAoC;GACrC;EACD;;IAEE,gCAAwC;GACzC;EACD;;IAEE,iCAA0C;GAC3C;EACD;;IAEE,+BAAsC;GACvC;EAhBD;IAAgC,wBAA4B;GAAI;EAChE;;IAEE,4BAAoC;GACrC;EACD;;IAEE,8BAAwC;GACzC;EACD;;IAEE,+BAA0C;GAC3C;EACD;;IAEE,6BAAsC;GACvC;EAhBD;IAAgC,sBAA4B;GAAI;EAChE;;IAEE,0BAAoC;GACrC;EACD;;IAEE,4BAAwC;GACzC;EACD;;IAEE,6BAA0C;GAC3C;EACD;;IAEE,2BAAsC;GACvC;EAhBD;IAAgC,4BAA4B;GAAI;EAChE;;IAEE,gCAAoC;GACrC;EACD;;IAEE,kCAAwC;GACzC;EACD;;IAEE,mCAA0C;GAC3C;EACD;;IAEE,iCAAsC;GACvC;EAhBD;IAAgC,2BAA4B;GAAI;EAChE;;IAEE,+BAAoC;GACrC;EACD;;IAEE,iCAAwC;GACzC;EACD;;IAEE,kCAA0C;GAC3C;EACD;;IAEE,gCAAsC;GACvC;EAhBD;IAAgC,yBAA4B;GAAI;EAChE;;IAEE,6BAAoC;GACrC;EACD;;IAEE,+BAAwC;GACzC;EACD;;IAEE,gCAA0C;GAC3C;EACD;;IAEE,8BAAsC;GACvC;EAhBD;IAAgC,2BAA4B;GAAI;EAChE;;IAEE,+BAAoC;GACrC;EACD;;IAEE,iCAAwC;GACzC;EACD;;IAEE,kCAA0C;GAC3C;EACD;;IAEE,gCAAsC;GACvC;EAhBD;IAAgC,yBAA4B;GAAI;EAChE;;IAEE,6BAAoC;GACrC;EACD;;IAEE,+BAAwC;GACzC;EACD;;IAEE,gCAA0C;GAC3C;EACD;;IAEE,8BAAsC;GACvC;EAKL;IAAmB,wBAAuB;GAAK;EAC/C;;IAEE,4BAA2B;GAC5B;EACD;;IAEE,8BAA6B;GAC9B;EACD;;IAEE,+BAA8B;GAC/B;EACD;;IAEE,6BAA4B;GAC7B;CjEu+OJ;;AkE/gPD;EAAiB,+BAA8B;CAAK;;AACpD;EAAiB,+BAA8B;CAAK;;AACpD;ECNE,iBAAgB;EAChB,wBAAuB;EACvB,oBAAmB;CDIsB;;AAQvC;EAAwB,4BAA2B;CAAK;;AACxD;EAAwB,6BAA4B;CAAK;;AACzD;EAAwB,8BAA6B;CAAK;;ArDoC1D;EqDtCA;IAAwB,4BAA2B;GAAK;EACxD;IAAwB,6BAA4B;GAAK;EACzD;IAAwB,8BAA6B;GAAK;ClEyiP7D;;AargPG;EqDtCA;IAAwB,4BAA2B;GAAK;EACxD;IAAwB,6BAA4B;GAAK;EACzD;IAAwB,8BAA6B;GAAK;ClEqjP7D;;AajhPG;EqDtCA;IAAwB,4BAA2B;GAAK;EACxD;IAAwB,6BAA4B;GAAK;EACzD;IAAwB,8BAA6B;GAAK;ClEikP7D;;Aa7hPG;EqDtCA;IAAwB,4BAA2B;GAAK;EACxD;IAAwB,6BAA4B;GAAK;EACzD;IAAwB,8BAA6B;GAAK;ClE6kP7D;;AkEvkPD;EAAmB,qCAAoC;CAAK;;AAC5D;EAAmB,qCAAoC;CAAK;;AAC5D;EAAmB,sCAAqC;CAAK;;AAI7D;EAAsB,4BAA0C;CAAI;;AACpE;EAAsB,4BAA2C;CAAI;;AACrE;EAAsB,4BAAyC;CAAI;;AACnE;EAAsB,8BAA6B;CAAK;;AAIxD;EAAc,uBAAsB;CAAK;;AElCvC;EACE,0BAAwB;CACzB;;AjEgBC;EiEbE,0BAAqC;CjEgBtC;;AiErBH;EACE,0BAAwB;CACzB;;AjEgBC;EiEbE,0BAAqC;CjEgBtC;;AiErBH;EACE,0BAAwB;CACzB;;AjEgBC;EiEbE,0BAAqC;CjEgBtC;;AiErBH;EACE,0BAAwB;CACzB;;AjEgBC;EiEbE,0BAAqC;CjEgBtC;;AiErBH;EACE,0BAAwB;CACzB;;AjEgBC;EiEbE,0BAAqC;CjEgBtC;;AiErBH;EACE,0BAAwB;CACzB;;AjEgBC;EiEbE,0BAAqC;CjEgBtC;;AiErBH;EACE,0BAAwB;CACzB;;AjEgBC;EiEbE,0BAAqC;CjEgBtC;;AiErBH;EACE,0BAAwB;CACzB;;AjEgBC;EiEbE,0BAAqC;CjEgBtC;;A+DmBL;EAAc,0BAA6B;CAAI;;AAI/C;EG/CE,YAAW;EACX,mBAAkB;EAClB,kBAAiB;EACjB,8BAA6B;EAC7B,UAAS;CH6CV;;AI/CD;ECCE,+BAAkC;CDCnC;;AAED;ECHE,8BAAkC;CDKnC","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"print\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"utilities\";\n",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type\n\n// Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request:\n// http://www.phpied.com/delay-loading-your-print-css/\n// ==========================================================================\n\n@if $enable-print-styles {\n @media print {\n *,\n *::before,\n *::after {\n // Bootstrap specific; comment out `color` and `background`\n //color: #000 !important; // Black prints faster: http://www.sanbeiji.com/archives/953\n text-shadow: none !important;\n //background: transparent !important;\n box-shadow: none !important;\n }\n\n a,\n a:visited {\n text-decoration: underline;\n }\n\n // Bootstrap specific; comment the following selector out\n //a[href]::after {\n // content: \" (\" attr(href) \")\";\n //}\n\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n\n // Bootstrap specific; comment the following selector out\n //\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n //\n\n //a[href^=\"#\"]::after,\n //a[href^=\"javascript:\"]::after {\n // content: \"\";\n //}\n\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: $border-width solid #999; // Bootstrap custom code; using `$border-width` instead of 1px\n page-break-inside: avoid;\n }\n\n //\n // Printing Tables:\n // http://css-discuss.incutio.com/wiki/Printing_Tables\n //\n\n thead {\n display: table-header-group;\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .badge {\n border: $border-width solid #000;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: #fff !important;\n }\n }\n .table-bordered {\n th,\n td {\n border: 1px solid #ddd !important;\n }\n }\n\n // Bootstrap specific changes end\n }\n}\n","/*!\n * Bootstrap v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #868e96;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #868e96;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n --font-family-monospace: \"SFMono-Regular\", Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput:not([type=\"range\"]),\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #868e96;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.2;\n color: inherit;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 5px;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #868e96;\n}\n\n.blockquote-footer::before {\n content: \"\\2014 \\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 0.25rem;\n transition: all 0.2s ease-in-out;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #868e96;\n}\n\ncode,\nkbd,\npre,\nsamp {\n font-family: \"SFMono-Regular\", Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\ncode {\n padding: 0.2rem 0.4rem;\n font-size: 90%;\n color: #bd4147;\n background-color: #f8f9fa;\n border-radius: 0.25rem;\n}\n\na > code {\n padding: 0;\n color: inherit;\n background-color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 90%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n font-size: 90%;\n color: #212529;\n}\n\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n background-color: transparent;\n border-radius: 0;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n background-color: transparent;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #e9ecef;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #e9ecef;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #e9ecef;\n}\n\n.table .table {\n background-color: #fff;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #e9ecef;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #e9ecef;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #dddfe2;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #cfd2d6;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #cfd2d6;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #212529;\n border-color: #32383e;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #e9ecef;\n}\n\n.table-dark {\n color: #fff;\n background-color: #212529;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #32383e;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-sm.table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-md.table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-lg.table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-xl.table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n.table-responsive.table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-image: none;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: none;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::placeholder {\n color: #868e96;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\nselect.form-control:not([size]):not([multiple]) {\n height: calc(2.25rem + 2px);\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.col-form-legend {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n margin-bottom: 0;\n font-size: 1rem;\n}\n\n.form-control-plaintext {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n margin-bottom: 0;\n line-height: 1.5;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .input-group-sm > .form-control-plaintext.form-control,\n.input-group-sm > .form-control-plaintext.input-group-addon,\n.input-group-sm > .input-group-btn > .form-control-plaintext.btn, .form-control-plaintext.form-control-lg, .input-group-lg > .form-control-plaintext.form-control,\n.input-group-lg > .form-control-plaintext.input-group-addon,\n.input-group-lg > .input-group-btn > .form-control-plaintext.btn {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm, .input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\nselect.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),\n.input-group-sm > select.input-group-addon:not([size]):not([multiple]),\n.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) {\n height: calc(1.8125rem + 2px);\n}\n\n.form-control-lg, .input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),\n.input-group-lg > select.input-group-addon:not([size]):not([multiple]),\n.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) {\n height: calc(2.875rem + 2px);\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n margin-bottom: 0.5rem;\n}\n\n.form-check.disabled .form-check-label {\n color: #868e96;\n}\n\n.form-check-label {\n padding-left: 1.25rem;\n margin-bottom: 0;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.25rem;\n margin-left: -1.25rem;\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-label {\n vertical-align: middle;\n}\n\n.valid-feedback {\n display: none;\n margin-top: .25rem;\n font-size: .875rem;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n width: 250px;\n padding: .5rem;\n margin-top: .1rem;\n font-size: .875rem;\n line-height: 1;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.8);\n border-radius: .2rem;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid, .was-validated\n.custom-select:valid,\n.custom-select.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated\n.custom-select:valid:focus,\n.custom-select.is-valid:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-control:valid ~ .valid-feedback,\n.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n.form-control.is-valid ~ .valid-tooltip, .was-validated\n.custom-select:valid ~ .valid-feedback,\n.was-validated\n.custom-select:valid ~ .valid-tooltip,\n.custom-select.is-valid ~ .valid-feedback,\n.custom-select.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:valid + .form-check-label, .form-check-input.is-valid + .form-check-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-indicator, .custom-control-input.is-valid ~ .custom-control-indicator {\n background-color: rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-description, .custom-control-input.is-valid ~ .custom-control-description {\n color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-control, .custom-file-input.is-valid ~ .custom-file-control {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-control::before, .custom-file-input.is-valid ~ .custom-file-control::before {\n border-color: inherit;\n}\n\n.was-validated .custom-file-input:valid:focus, .custom-file-input.is-valid:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n margin-top: .25rem;\n font-size: .875rem;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n width: 250px;\n padding: .5rem;\n margin-top: .1rem;\n font-size: .875rem;\n line-height: 1;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.8);\n border-radius: .2rem;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated\n.custom-select:invalid,\n.custom-select.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated\n.custom-select:invalid:focus,\n.custom-select.is-invalid:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-control:invalid ~ .invalid-feedback,\n.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n.form-control.is-invalid ~ .invalid-tooltip, .was-validated\n.custom-select:invalid ~ .invalid-feedback,\n.was-validated\n.custom-select:invalid ~ .invalid-tooltip,\n.custom-select.is-invalid ~ .invalid-feedback,\n.custom-select.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:invalid + .form-check-label, .form-check-input.is-invalid + .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-indicator, .custom-control-input.is-invalid ~ .custom-control-indicator {\n background-color: rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-description, .custom-control-input.is-invalid ~ .custom-control-description {\n color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-control, .custom-file-input.is-invalid ~ .custom-file-control {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-control::before, .custom-file-input.is-invalid ~ .custom-file-control::before {\n border-color: inherit;\n}\n\n.was-validated .custom-file-input:invalid:focus, .custom-file-input.is-invalid:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n margin-top: 0;\n margin-bottom: 0;\n }\n .form-inline .form-check-label {\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: 0;\n }\n .form-inline .custom-control-indicator {\n position: static;\n display: inline-block;\n margin-right: 0.25rem;\n vertical-align: text-bottom;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n.btn:focus, .btn:hover {\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: .65;\n}\n\n.btn:not([disabled]):not(.disabled):active, .btn:not([disabled]):not(.disabled).active {\n background-image: none;\n}\n\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not([disabled]):not(.disabled):active, .btn-primary:not([disabled]):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #868e96;\n border-color: #868e96;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #727b84;\n border-color: #6c757d;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n background-color: #868e96;\n border-color: #868e96;\n}\n\n.btn-secondary:not([disabled]):not(.disabled):active, .btn-secondary:not([disabled]):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #666e76;\n box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not([disabled]):not(.disabled):active, .btn-success:not([disabled]):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not([disabled]):not(.disabled):active, .btn-info:not([disabled]):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-warning {\n color: #111;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #111;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not([disabled]):not(.disabled):active, .btn-warning:not([disabled]):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #111;\n background-color: #d39e00;\n border-color: #c69500;\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not([disabled]):not(.disabled):active, .btn-danger:not([disabled]):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-light {\n color: #111;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #111;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not([disabled]):not(.disabled):active, .btn-light:not([disabled]):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #111;\n background-color: #dae0e5;\n border-color: #d3d9df;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not([disabled]):not(.disabled):active, .btn-dark:not([disabled]):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n background-color: transparent;\n background-image: none;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not([disabled]):not(.disabled):active, .btn-outline-primary:not([disabled]):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #868e96;\n background-color: transparent;\n background-image: none;\n border-color: #868e96;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #868e96;\n border-color: #868e96;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #868e96;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not([disabled]):not(.disabled):active, .btn-outline-secondary:not([disabled]):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #868e96;\n border-color: #868e96;\n box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n background-color: transparent;\n background-image: none;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not([disabled]):not(.disabled):active, .btn-outline-success:not([disabled]):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n background-color: transparent;\n background-image: none;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not([disabled]):not(.disabled):active, .btn-outline-info:not([disabled]):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n background-color: transparent;\n background-image: none;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #fff;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not([disabled]):not(.disabled):active, .btn-outline-warning:not([disabled]):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #fff;\n background-color: #ffc107;\n border-color: #ffc107;\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n background-color: transparent;\n background-image: none;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not([disabled]):not(.disabled):active, .btn-outline-danger:not([disabled]):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n background-color: transparent;\n background-image: none;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not([disabled]):not(.disabled):active, .btn-outline-light:not([disabled]):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n background-color: transparent;\n background-image: none;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not([disabled]):not(.disabled):active, .btn-outline-dark:not([disabled]):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n background-color: transparent;\n border-color: transparent;\n}\n\n.btn-link:focus, .btn-link.focus {\n border-color: transparent;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #868e96;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n opacity: 0;\n transition: opacity 0.15s linear;\n}\n\n.fade.show {\n opacity: 1;\n}\n\n.collapse {\n display: none;\n}\n\n.collapse.show {\n display: block;\n}\n\ntr.collapse.show {\n display: table-row;\n}\n\ntbody.collapse.show {\n display: table-row-group;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n.dropup,\n.dropdown {\n position: relative;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropup .dropdown-menu {\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background: none;\n border: 0;\n}\n\n.dropdown-item:focus, .dropdown-item:hover {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #868e96;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #868e96;\n white-space: nowrap;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 0 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 2;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group,\n.btn-group-vertical .btn + .btn,\n.btn-group-vertical .btn + .btn-group,\n.btn-group-vertical .btn-group + .btn,\n.btn-group-vertical .btn-group + .btn-group {\n margin-left: -1px;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group > .btn-group {\n float: left;\n}\n\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn + .dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.btn + .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical .btn,\n.btn-group-vertical .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group .form-control {\n position: relative;\n z-index: 2;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0;\n}\n\n.input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover {\n z-index: 3;\n}\n\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: flex;\n align-items: center;\n}\n\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n\n.input-group-addon,\n.input-group-btn {\n white-space: nowrap;\n}\n\n.input-group-addon {\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-addon.form-control-sm,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .input-group-addon.btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-addon.form-control-lg,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .input-group-addon.btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group .form-control:not(:last-child),\n.input-group-addon:not(:last-child),\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group > .btn,\n.input-group-btn:not(:last-child) > .dropdown-toggle,\n.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group-addon:not(:last-child) {\n border-right: 0;\n}\n\n.input-group .form-control:not(:first-child),\n.input-group-addon:not(:first-child),\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group > .btn,\n.input-group-btn:not(:first-child) > .dropdown-toggle,\n.input-group-btn:not(:last-child) > .btn:not(:first-child),\n.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.form-control + .input-group-addon:not(:first-child) {\n border-left: 0;\n}\n\n.input-group-btn {\n position: relative;\n align-items: stretch;\n font-size: 0;\n white-space: nowrap;\n}\n\n.input-group-btn > .btn {\n position: relative;\n}\n\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n\n.input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover {\n z-index: 3;\n}\n\n.input-group-btn:first-child > .btn + .btn {\n margin-left: 0;\n}\n\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group {\n margin-right: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group {\n z-index: 2;\n margin-left: 0;\n}\n\n.input-group-btn:not(:first-child) > .btn:first-child,\n.input-group-btn:not(:first-child) > .btn-group:first-child {\n margin-left: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover,\n.input-group-btn:not(:first-child) > .btn-group:focus,\n.input-group-btn:not(:first-child) > .btn-group:active,\n.input-group-btn:not(:first-child) > .btn-group:hover {\n z-index: 3;\n}\n\n.custom-control {\n position: relative;\n display: inline-flex;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-indicator {\n color: #fff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-indicator {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:active ~ .custom-control-indicator {\n color: #fff;\n background-color: #b3d7ff;\n}\n\n.custom-control-input:disabled ~ .custom-control-indicator {\n background-color: #e9ecef;\n}\n\n.custom-control-input:disabled ~ .custom-control-description {\n color: #868e96;\n}\n\n.custom-control-indicator {\n position: absolute;\n top: 0.25rem;\n left: 0;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n user-select: none;\n background-color: #ddd;\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 50% 50%;\n}\n\n.custom-checkbox .custom-control-indicator {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator {\n background-color: #007bff;\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\");\n}\n\n.custom-radio .custom-control-indicator {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-indicator {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\");\n}\n\n.custom-controls-stacked {\n display: flex;\n flex-direction: column;\n}\n\n.custom-controls-stacked .custom-control {\n margin-bottom: 0.25rem;\n}\n\n.custom-controls-stacked .custom-control + .custom-control {\n margin-left: 0;\n}\n\n.custom-select {\n display: inline-block;\n max-width: 100%;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right 0.75rem center;\n background-size: 8px 10px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: none;\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple] {\n height: auto;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #868e96;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n opacity: 0;\n}\n\n.custom-select-sm {\n height: calc(1.8125rem + 2px);\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 75%;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n max-width: 100%;\n height: calc(2.25rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n min-width: 14rem;\n max-width: 100%;\n height: calc(2.25rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-control {\n box-shadow: 0 0 0 0.075rem #fff, 0 0 0 0.2rem #007bff;\n}\n\n.custom-file-control {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 5;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n pointer-events: none;\n user-select: none;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-control:lang(en):empty::after {\n content: \"Choose file...\";\n}\n\n.custom-file-control::before {\n position: absolute;\n top: -1px;\n right: -1px;\n bottom: -1px;\n z-index: 6;\n display: block;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-file-control:lang(en)::before {\n content: \"Browse\";\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:focus, .nav-link:hover {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #868e96;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {\n border-color: #e9ecef #e9ecef #ddd;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #868e96;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #ddd #ddd #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:focus, .navbar-brand:hover {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:focus, .navbar-toggler:hover {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n .navbar-expand-sm .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n@media (max-width: 767px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n .navbar-expand-md .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n@media (max-width: 991px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n .navbar-expand-lg .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n@media (max-width: 1199px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n .navbar-expand-xl .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-expand .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:focus, .navbar-light .navbar-text a:hover {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:focus, .navbar-dark .navbar-brand:hover {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:focus, .navbar-dark .navbar-text a:hover {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img {\n width: 100%;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-top {\n width: 100%;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n width: 100%;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck {\n display: flex;\n flex-direction: column;\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n display: flex;\n flex: 1 0 0%;\n flex-direction: column;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group {\n display: flex;\n flex-direction: column;\n}\n\n.card-group .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n flex-flow: row wrap;\n }\n .card-group .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group .card:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group .card:first-child .card-img-top {\n border-top-right-radius: 0;\n }\n .card-group .card:first-child .card-img-bottom {\n border-bottom-right-radius: 0;\n }\n .card-group .card:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group .card:last-child .card-img-top {\n border-top-left-radius: 0;\n }\n .card-group .card:last-child .card-img-bottom {\n border-bottom-left-radius: 0;\n }\n .card-group .card:only-child {\n border-radius: 0.25rem;\n }\n .card-group .card:only-child .card-img-top {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n }\n .card-group .card:only-child .card-img-bottom {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n }\n .card-group .card:not(:first-child):not(:last-child):not(:only-child) {\n border-radius: 0;\n }\n .card-group .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top,\n .card-group .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom {\n border-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n color: #868e96;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #868e96;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #868e96;\n pointer-events: none;\n background-color: #fff;\n border-color: #ddd;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n\n.page-link:focus, .page-link:hover {\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #ddd;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\n.badge-primary[href]:focus, .badge-primary[href]:hover {\n color: #fff;\n text-decoration: none;\n background-color: #0062cc;\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #868e96;\n}\n\n.badge-secondary[href]:focus, .badge-secondary[href]:hover {\n color: #fff;\n text-decoration: none;\n background-color: #6c757d;\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\n.badge-success[href]:focus, .badge-success[href]:hover {\n color: #fff;\n text-decoration: none;\n background-color: #1e7e34;\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\n.badge-info[href]:focus, .badge-info[href]:hover {\n color: #fff;\n text-decoration: none;\n background-color: #117a8b;\n}\n\n.badge-warning {\n color: #111;\n background-color: #ffc107;\n}\n\n.badge-warning[href]:focus, .badge-warning[href]:hover {\n color: #111;\n text-decoration: none;\n background-color: #d39e00;\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\n.badge-danger[href]:focus, .badge-danger[href]:hover {\n color: #fff;\n text-decoration: none;\n background-color: #bd2130;\n}\n\n.badge-light {\n color: #111;\n background-color: #f8f9fa;\n}\n\n.badge-light[href]:focus, .badge-light[href]:hover {\n color: #111;\n text-decoration: none;\n background-color: #dae0e5;\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.badge-dark[href]:focus, .badge-dark[href]:hover {\n color: #fff;\n text-decoration: none;\n background-color: #1d2124;\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #464a4e;\n background-color: #e7e8ea;\n border-color: #dddfe2;\n}\n\n.alert-secondary hr {\n border-top-color: #cfd2d6;\n}\n\n.alert-secondary .alert-link {\n color: #2e3133;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n align-items: center;\n justify-content: center;\n color: #fff;\n background-color: #007bff;\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:focus, .list-group-item-action:hover {\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item:focus, .list-group-item:hover {\n text-decoration: none;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #868e96;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\na.list-group-item-primary,\nbutton.list-group-item-primary {\n color: #004085;\n}\n\na.list-group-item-primary:focus, a.list-group-item-primary:hover,\nbutton.list-group-item-primary:focus,\nbutton.list-group-item-primary:hover {\n color: #004085;\n background-color: #9fcdff;\n}\n\na.list-group-item-primary.active,\nbutton.list-group-item-primary.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #464a4e;\n background-color: #dddfe2;\n}\n\na.list-group-item-secondary,\nbutton.list-group-item-secondary {\n color: #464a4e;\n}\n\na.list-group-item-secondary:focus, a.list-group-item-secondary:hover,\nbutton.list-group-item-secondary:focus,\nbutton.list-group-item-secondary:hover {\n color: #464a4e;\n background-color: #cfd2d6;\n}\n\na.list-group-item-secondary.active,\nbutton.list-group-item-secondary.active {\n color: #fff;\n background-color: #464a4e;\n border-color: #464a4e;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #155724;\n}\n\na.list-group-item-success:focus, a.list-group-item-success:hover,\nbutton.list-group-item-success:focus,\nbutton.list-group-item-success:hover {\n color: #155724;\n background-color: #b1dfbb;\n}\n\na.list-group-item-success.active,\nbutton.list-group-item-success.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #0c5460;\n}\n\na.list-group-item-info:focus, a.list-group-item-info:hover,\nbutton.list-group-item-info:focus,\nbutton.list-group-item-info:hover {\n color: #0c5460;\n background-color: #abdde5;\n}\n\na.list-group-item-info.active,\nbutton.list-group-item-info.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #856404;\n}\n\na.list-group-item-warning:focus, a.list-group-item-warning:hover,\nbutton.list-group-item-warning:focus,\nbutton.list-group-item-warning:hover {\n color: #856404;\n background-color: #ffe8a1;\n}\n\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #721c24;\n}\n\na.list-group-item-danger:focus, a.list-group-item-danger:hover,\nbutton.list-group-item-danger:focus,\nbutton.list-group-item-danger:hover {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\na.list-group-item-light,\nbutton.list-group-item-light {\n color: #818182;\n}\n\na.list-group-item-light:focus, a.list-group-item-light:hover,\nbutton.list-group-item-light:focus,\nbutton.list-group-item-light:hover {\n color: #818182;\n background-color: #ececf6;\n}\n\na.list-group-item-light.active,\nbutton.list-group-item-light.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\na.list-group-item-dark,\nbutton.list-group-item-dark {\n color: #1b1e21;\n}\n\na.list-group-item-dark:focus, a.list-group-item-dark:hover,\nbutton.list-group-item-dark:focus,\nbutton.list-group-item-dark:hover {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\na.list-group-item-dark.active,\nbutton.list-group-item-dark.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:focus, .close:hover {\n color: #000;\n text-decoration: none;\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n outline: 0;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -25%);\n}\n\n.modal.show .modal-dialog {\n transform: translate(0, 0);\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n pointer-events: none;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 15px;\n border-bottom: 1px solid #e9ecef;\n border-top-left-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n}\n\n.modal-header .close {\n padding: 15px;\n margin: -15px -15px -15px auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 15px;\n}\n\n.modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 15px;\n border-top: 1px solid #e9ecef;\n}\n\n.modal-footer > :not(:first-child) {\n margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 30px auto;\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg {\n max-width: 800px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 5px;\n height: 5px;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n border-color: transparent;\n border-style: solid;\n}\n\n.tooltip.bs-tooltip-top, .tooltip.bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 5px 0;\n}\n\n.tooltip.bs-tooltip-top .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.tooltip.bs-tooltip-top .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n margin-left: -3px;\n content: \"\";\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n\n.tooltip.bs-tooltip-right, .tooltip.bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 5px;\n}\n\n.tooltip.bs-tooltip-right .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n}\n\n.tooltip.bs-tooltip-right .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n margin-top: -3px;\n content: \"\";\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n\n.tooltip.bs-tooltip-bottom, .tooltip.bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 5px 0;\n}\n\n.tooltip.bs-tooltip-bottom .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.tooltip.bs-tooltip-bottom .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n margin-left: -3px;\n content: \"\";\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n\n.tooltip.bs-tooltip-left, .tooltip.bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 5px;\n}\n\n.tooltip.bs-tooltip-left .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n}\n\n.tooltip.bs-tooltip-left .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n right: 0;\n margin-top: -3px;\n content: \"\";\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.popover .arrow::before,\n.popover .arrow::after {\n position: absolute;\n display: block;\n border-color: transparent;\n border-style: solid;\n}\n\n.popover .arrow::before {\n content: \"\";\n border-width: 0.8rem;\n}\n\n.popover .arrow::after {\n content: \"\";\n border-width: 0.8rem;\n}\n\n.popover.bs-popover-top, .popover.bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.8rem;\n}\n\n.popover.bs-popover-top .arrow, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.popover.bs-popover-top .arrow::before, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::before,\n.popover.bs-popover-top .arrow::after, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n border-bottom-width: 0;\n}\n\n.popover.bs-popover-top .arrow::before, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::before {\n bottom: -0.8rem;\n margin-left: -0.8rem;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-top .arrow::after, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n bottom: calc((0.8rem - 1px) * -1);\n margin-left: -0.8rem;\n border-top-color: #fff;\n}\n\n.popover.bs-popover-right, .popover.bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.8rem;\n}\n\n.popover.bs-popover-right .arrow, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n}\n\n.popover.bs-popover-right .arrow::before, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::before,\n.popover.bs-popover-right .arrow::after, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n margin-top: -0.8rem;\n border-left-width: 0;\n}\n\n.popover.bs-popover-right .arrow::before, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::before {\n left: -0.8rem;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-right .arrow::after, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n left: calc((0.8rem - 1px) * -1);\n border-right-color: #fff;\n}\n\n.popover.bs-popover-bottom, .popover.bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.8rem;\n}\n\n.popover.bs-popover-bottom .arrow, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.popover.bs-popover-bottom .arrow::before, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::before,\n.popover.bs-popover-bottom .arrow::after, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n margin-left: -0.8rem;\n border-top-width: 0;\n}\n\n.popover.bs-popover-bottom .arrow::before, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::before {\n top: -0.8rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-bottom .arrow::after, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n top: calc((0.8rem - 1px) * -1);\n border-bottom-color: #fff;\n}\n\n.popover.bs-popover-bottom .popover-header::before, .popover.bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 20px;\n margin-left: -10px;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.popover.bs-popover-left, .popover.bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.8rem;\n}\n\n.popover.bs-popover-left .arrow, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n}\n\n.popover.bs-popover-left .arrow::before, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::before,\n.popover.bs-popover-left .arrow::after, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n margin-top: -0.8rem;\n border-right-width: 0;\n}\n\n.popover.bs-popover-left .arrow::before, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::before {\n right: -0.8rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-left .arrow::after, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n right: calc((0.8rem - 1px) * -1);\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n color: inherit;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n align-items: center;\n width: 100%;\n transition: transform 0.6s ease;\n backface-visibility: hidden;\n perspective: 1000px;\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n.carousel-item-next.carousel-item-left,\n.carousel-item-prev.carousel-item-right {\n transform: translateX(0);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n transform: translate3d(0, 0, 0);\n }\n}\n\n.carousel-item-next,\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-next,\n .active.carousel-item-right {\n transform: translate3d(100%, 0, 0);\n }\n}\n\n.carousel-item-prev,\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-prev,\n .active.carousel-item-left {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n}\n\n.carousel-control-prev:focus, .carousel-control-prev:hover,\n.carousel-control-next:focus,\n.carousel-control-next:hover {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: .9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n position: relative;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n background-color: rgba(255, 255, 255, 0.5);\n}\n\n.carousel-indicators li::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators li::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators .active {\n background-color: #fff;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:focus, a.bg-primary:hover {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #868e96 !important;\n}\n\na.bg-secondary:focus, a.bg-secondary:hover {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:focus, a.bg-success:hover {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:focus, a.bg-info:hover {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:focus, a.bg-warning:hover {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:focus, a.bg-danger:hover {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:focus, a.bg-light:hover {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:focus, a.bg-dark:hover {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #e9ecef !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #868e96 !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.d-print-block {\n display: none !important;\n}\n\n@media print {\n .d-print-block {\n display: block !important;\n }\n}\n\n.d-print-inline {\n display: none !important;\n}\n\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n}\n\n.d-print-inline-block {\n display: none !important;\n}\n\n@media print {\n .d-print-inline-block {\n display: inline-block !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n clip-path: inset(50%);\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n clip-path: none;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:focus, a.text-primary:hover {\n color: #0062cc !important;\n}\n\n.text-secondary {\n color: #868e96 !important;\n}\n\na.text-secondary:focus, a.text-secondary:hover {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:focus, a.text-success:hover {\n color: #1e7e34 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:focus, a.text-info:hover {\n color: #117a8b !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:focus, a.text-warning:hover {\n color: #d39e00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:focus, a.text-danger:hover {\n color: #bd2130 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:focus, a.text-light:hover {\n color: #dae0e5 !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:focus, a.text-dark:hover {\n color: #1d2124 !important;\n}\n\n.text-muted {\n color: #868e96 !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n// we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -ms-text-size-adjust: 100%; // 4\n -ms-overflow-style: scrollbar; // 5\n -webkit-tap-highlight-color: rgba(0,0,0,0); // 6\n}\n\n// IE10+ doesn't honor `<meta name=\"viewport\">` in some cases.\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n font-size: $font-size-base;\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\n// stylelint-disable font-family-no-duplicate-names\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n// stylelint-enable font-family-no-duplicate-names\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg:not(:root) {\n overflow: hidden; // Hide the overflow in IE\n}\n\n\n// Avoid 300ms click delay on touch devices that support the `touch-action` CSS property.\n//\n// In particular, unlike most other browsers, IE11+Edge on Windows 10 on touch devices and IE Mobile 10-11\n// DON'T remove the click delay when `<meta name=\"viewport\" content=\"width=device-width\">` is present.\n// However, they DO support removing the click delay via `touch-action: manipulation`.\n// See:\n// * https://getbootstrap.com/docs/4.0/content/reboot/#click-delay-optimization-for-touch\n// * https://caniuse.com/#feat=css-touch-action\n// * https://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput:not([type=\"range\"]),\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $text-muted;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `<td>` alignment by inheriting from the `<body>`, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: .5rem;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n\n//\n// Color system\n//\n\n// stylelint-disable\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #868e96 !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n$grays: map-merge((\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n), $grays);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge((\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n), $colors);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge((\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n), $theme-colors);\n// stylelint-enable\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-hover-media-query: false !default;\n$enable-grid-classes: true !default;\n$enable-print-styles: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n) !default;\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%\n) !default;\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints);\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-200 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n\n// Fonts\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !default;\n$font-family-monospace: \"SFMono-Regular\", Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: ($font-size-base * 1.25) !default;\n$font-size-sm: ($font-size-base * .875) !default;\n\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: ($spacer / 2) !default;\n$headings-font-family: inherit !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: ($font-size-base * 1.25) !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-font-size: ($font-size-base * 1.25) !default;\n\n$hr-border-color: rgba($black,.1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black,.25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: 5px !default;\n\n$mark-bg: #fcf8e3 !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-bg: transparent !default;\n$table-accent-bg: rgba($black,.05) !default;\n$table-hover-bg: rgba($black,.075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $gray-200 !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-bg: $gray-900 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($gray-900, 7.5%) !default;\n$table-dark-color: $body-bg !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background and border color.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba(theme-color(\"primary\"), .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white,.15), 0 1px 1px rgba($black,.075) !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black,.125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-btn-border-width: $border-width !default; // For form controls and buttons\n$input-box-shadow: inset 0 1px 1px rgba($black,.075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten(theme-color(\"primary\"), 25%) !default;\n$input-focus-color: $input-color !default;\n\n$input-placeholder-color: $gray-600 !default;\n\n$input-height-border: $input-btn-border-width * 2 !default;\n\n$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;\n$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;\n\n$input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;\n$input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;\n\n$input-height-inner-lg: ($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;\n$input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;\n\n$input-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-margin-bottom: .5rem !default;\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .25rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-control-gutter: 1.5rem !default;\n$custom-control-spacer-y: .25rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: #ddd !default;\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black,.1) !default;\n\n$custom-control-indicator-disabled-bg: $gray-200 !default;\n$custom-control-description-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $white !default;\n$custom-control-indicator-checked-bg: theme-color(\"primary\") !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n\n$custom-control-indicator-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n\n$custom-control-indicator-active-color: $white !default;\n$custom-control-indicator-active-bg: lighten(theme-color(\"primary\"), 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: theme-color(\"primary\") !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-select-padding-y: .375rem !default;\n$custom-select-padding-x: .75rem !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-line-height: $input-btn-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $white !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: #333 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-select-border-width: $input-btn-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n\n$custom-select-focus-border-color: lighten(theme-color(\"primary\"), 25%) !default;\n$custom-select-focus-box-shadow: inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;\n\n$custom-select-font-size-sm: 75% !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-width: 14rem !default;\n$custom-file-focus-box-shadow: 0 0 0 .075rem $white, 0 0 0 .2rem theme-color(\"primary\") !default;\n\n$custom-file-padding-y: $input-btn-padding-y !default;\n$custom-file-padding-x: $input-btn-padding-x !default;\n$custom-file-line-height: $input-btn-line-height !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-btn-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n placeholder: (\n en: \"Choose file...\"\n ),\n button-label: (\n en: \"Browse\"\n )\n) !default;\n\n\n// Form validation\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black,.15) !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black,.175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: #ddd !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: #ddd !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n// Navbar\n\n$navbar-padding-y: ($spacer / 2) !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white,.5) !default;\n$navbar-dark-hover-color: rgba($white,.75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white,.25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white,.1) !default;\n\n$navbar-light-color: rgba($black,.5) !default;\n$navbar-light-hover-color: rgba($black,.7) !default;\n$navbar-light-active-color: rgba($black,.9) !default;\n$navbar-light-disabled-color: rgba($black,.3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black,.1) !default;\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: #ddd !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: #ddd !default;\n\n$pagination-active-color: $white !default;\n$pagination-active-bg: theme-color(\"primary\") !default;\n$pagination-active-border-color: theme-color(\"primary\") !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: #ddd !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black,.125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: ($grid-gutter-width / 2) !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: 3px !default;\n$tooltip-padding-x: 8px !default;\n$tooltip-margin: 0 !default;\n\n\n$tooltip-arrow-width: 5px !default;\n$tooltip-arrow-height: 5px !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n\n// Popovers\n\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black,.2) !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black,.2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: .8rem !default;\n$popover-arrow-height: .4rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 15px !default;\n\n$modal-dialog-margin: 10px !default;\n$modal-dialog-margin-y-sm-up: 30px !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black,.2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-box-shadow-xs: 0 3px 9px rgba($black,.5) !default;\n$modal-content-box-shadow-sm-up: 0 5px 15px rgba($black,.5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $gray-200 !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding: 15px !default;\n\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: ($font-size-base * .75) !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black,.1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n// List group\n\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black,.125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: #ddd !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black,.075) !default;\n$thumbnail-transition: all .2s ease-in-out !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: \"/\" !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$carousel-transition: transform .6s ease !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n// Code\n\n$code-font-size: 90% !default;\n$code-padding-y: .2rem !default;\n$code-padding-x: .4rem !default;\n$code-color: #bd4147 !default;\n$code-bg: $gray-100 !default;\n\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n","// stylelint-disable indentation\n@mixin hover {\n // TODO: re-enable along with mq4-hover-shim\n// @if $enable-hover-media-query {\n// // See Media Queries Level 4: https://drafts.csswg.org/mediaqueries/#hover\n// // Currently shimmed by https://github.com/twbs/mq4-hover-shim\n// @media (hover: hover) {\n// &:hover { @content }\n// }\n// }\n// @else {\n &:hover { @content; }\n// }\n}\n\n\n@mixin hover-focus {\n @if $enable-hover-media-query {\n &:focus {\n @content;\n }\n @include hover { @content; }\n } @else {\n &:focus,\n &:hover {\n @content;\n }\n }\n}\n\n@mixin plain-hover-focus {\n @if $enable-hover-media-query {\n &,\n &:focus {\n @content;\n }\n @include hover { @content; }\n } @else {\n &,\n &:focus,\n &:hover {\n @content;\n }\n }\n}\n\n@mixin hover-focus-active {\n @if $enable-hover-media-query {\n &:focus,\n &:active {\n @content;\n }\n @include hover { @content; }\n } @else {\n &:focus,\n &:active,\n &:hover {\n @content;\n }\n }\n}\n","// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { font-size: $h1-font-size; }\nh2, .h2 { font-size: $h2-font-size; }\nh3, .h3 { font-size: $h3-font-size; }\nh4, .h4 { font-size: $h4-font-size; }\nh5, .h5 { font-size: $h5-font-size; }\nh6, .h6 { font-size: $h6-font-size; }\n\n.lead {\n font-size: $lead-font-size;\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n font-size: $display1-size;\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n font-size: $display2-size;\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n font-size: $display3-size;\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n font-size: $display4-size;\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n font-size: $small-font-size;\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled;\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n font-size: $blockquote-font-size;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%; // back to default font-size\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014 \\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid;\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include transition($thumbnail-transition);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid;\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: ($spacer / 2);\n line-height: 1;\n}\n\n.figure-caption {\n font-size: $figure-caption-font-size;\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n// stylelint-disable indentation, media-query-list-comma-newline-after\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn't convert dppx=>dpi.\n // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n}\n","// Single side border-radius\n\n@mixin border-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n","@mixin transition($transition...) {\n @if $enable-transitions {\n @if length($transition) == 0 {\n transition: $transition-base;\n } @else {\n transition: $transition;\n }\n }\n}\n","// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n font-family: $font-family-monospace;\n}\n\n// Inline code\ncode {\n padding: $code-padding-y $code-padding-x;\n font-size: $code-font-size;\n color: $code-color;\n background-color: $code-bg;\n @include border-radius($border-radius);\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n padding: 0;\n color: inherit;\n background-color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $code-padding-y $code-padding-x;\n font-size: $code-font-size;\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n font-size: 100%;\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n font-size: $code-font-size;\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n background-color: transparent;\n border-radius: 0;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n width: 100%;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.1.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - 1px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n min-height: 1px; // Prevent columns from collapsing when empty\n padding-right: ($gutter / 2);\n padding-left: ($gutter / 2);\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first {\n order: -1;\n }\n\n @for $i from 1 through $columns {\n .order#{$infix}-#{$i} {\n order: $i;\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: $spacer;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n\n .table {\n background-color: $body-bg;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: (2 * $table-border-width);\n }\n }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(odd) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover {\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, -9));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(odd) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover {\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar; // See https://github.com/twbs/bootstrap/pull/10057\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n &.table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","// Bootstrap functions\n//\n// Utility mixins and functions for evalutating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Another grid mixin that ensures the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map) {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in `$grid-breakpoints` must start at 0, but starts at #{$first-value}.\";\n }\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// Color contrast\n@function color-yiq($color) {\n $r: red($color);\n $g: green($color);\n $b: blue($color);\n\n $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;\n\n @if ($yiq >= 150) {\n @return #111;\n } @else {\n @return #fff;\n }\n}\n\n// Retreive color Sass maps\n@function color($key: \"blue\") {\n @return map-get($colors, $key);\n}\n\n@function theme-color($key: \"primary\") {\n @return map-get($theme-colors, $key);\n}\n\n@function gray($key: \"100\") {\n @return map-get($grays, $key);\n}\n\n// Request a theme color level\n@function theme-color-level($color-name: \"primary\", $level: 0) {\n $color: theme-color($color-name);\n $color-base: if($level > 0, #000, #fff);\n $level: abs($level);\n\n @return mix($color-base, $color, $level * $theme-color-interval);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n padding: $input-btn-padding-y $input-btn-padding-x;\n font-size: $font-size-base;\n line-height: $input-btn-line-height;\n color: $input-color;\n background-color: $input-bg;\n // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214.\n background-image: none;\n background-clip: padding-box;\n border: $input-btn-border-width solid $input-border-color;\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @if $enable-rounded {\n // Manually use the if/else instead of the mixin to account for iOS override\n border-radius: $input-border-radius;\n } @else {\n // Otherwise undo the iOS default\n border-radius: 0;\n }\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n background-color: transparent;\n border: 0;\n }\n\n // Customize the `:focus` state to imitate native WebKit styles.\n @include form-control-focus();\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled,\n &[readonly] {\n background-color: $input-disabled-bg;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\nselect.form-control {\n &:not([size]):not([multiple]) {\n height: $input-height;\n }\n\n &:focus::-ms-value {\n // Suppress the nested default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label text to\n// align with the form controls.\n.col-form-label {\n padding-top: calc(#{$input-btn-padding-y} + #{$input-btn-border-width});\n padding-bottom: calc(#{$input-btn-padding-y} + #{$input-btn-border-width});\n margin-bottom: 0; // Override the `<label>` default\n line-height: $input-btn-line-height;\n}\n\n.col-form-label-lg {\n padding-top: calc(#{$input-btn-padding-y-lg} + #{$input-btn-border-width});\n padding-bottom: calc(#{$input-btn-padding-y-lg} + #{$input-btn-border-width});\n font-size: $font-size-lg;\n line-height: $input-btn-line-height-lg;\n}\n\n.col-form-label-sm {\n padding-top: calc(#{$input-btn-padding-y-sm} + #{$input-btn-border-width});\n padding-bottom: calc(#{$input-btn-padding-y-sm} + #{$input-btn-border-width});\n font-size: $font-size-sm;\n line-height: $input-btn-line-height-sm;\n}\n\n\n//\n// Legends\n//\n\n// For use with horizontal and inline forms, when you need the legend text to\n// be the same size as regular labels, and to align with the form controls.\n.col-form-legend {\n padding-top: $input-btn-padding-y;\n padding-bottom: $input-btn-padding-y;\n margin-bottom: 0;\n font-size: $font-size-base;\n}\n\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n padding-top: $input-btn-padding-y;\n padding-bottom: $input-btn-padding-y;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n line-height: $input-btn-line-height;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-btn-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// The `.form-group-* form-control` variations are sadly duplicated to avoid the\n// issue documented in https://github.com/twbs/bootstrap/issues/15074.\n\n.form-control-sm {\n padding: $input-btn-padding-y-sm $input-btn-padding-x-sm;\n font-size: $font-size-sm;\n line-height: $input-btn-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\nselect.form-control-sm {\n &:not([size]):not([multiple]) {\n height: $input-height-sm;\n }\n}\n\n.form-control-lg {\n padding: $input-btn-padding-y-lg $input-btn-padding-x-lg;\n font-size: $font-size-lg;\n line-height: $input-btn-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\nselect.form-control-lg {\n &:not([size]):not([multiple]) {\n height: $input-height-lg;\n }\n}\n\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n margin-bottom: $form-group-margin-bottom;\n}\n\n.form-text {\n display: block;\n margin-top: $form-text-margin-top;\n}\n\n\n// Form grid\n//\n// Special replacement for our grid system's `.row` for tighter form layouts.\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n }\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.form-check {\n position: relative;\n display: block;\n margin-bottom: $form-check-margin-bottom;\n\n &.disabled {\n .form-check-label {\n color: $text-muted;\n }\n }\n}\n\n.form-check-label {\n padding-left: $form-check-input-gutter;\n margin-bottom: 0; // Override default `<label>` bottom margin\n}\n\n.form-check-input {\n position: absolute;\n margin-top: $form-check-input-margin-y;\n margin-left: -$form-check-input-gutter;\n}\n\n// Radios and checkboxes on same line\n.form-check-inline {\n display: inline-block;\n margin-right: $form-check-inline-margin-x;\n\n .form-check-label {\n vertical-align: middle;\n }\n}\n\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server side validation.\n\n@include form-validation-state(\"valid\", $form-feedback-valid-color);\n@include form-validation-state(\"invalid\", $form-feedback-invalid-color);\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)\n\n // Because we use flex, the initial sizing of checkboxes is collapsed and\n // doesn't occupy the full-width (which is what we want for xs grid tier),\n // so we force that here.\n .form-check {\n width: 100%;\n }\n\n // Kick in the inline\n @include media-breakpoint-up(sm) {\n label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n\n // Inline-block all the things for \"inline\"\n .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n\n // Allow folks to *not* use `.form-group`\n .form-control {\n display: inline-block;\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\n vertical-align: middle;\n }\n\n // Make static controls behave like regular ones\n .form-control-plaintext {\n display: inline-block;\n }\n\n .input-group {\n width: auto;\n }\n\n // Remove default margin on radios/checkboxes that were used for stacking, and\n // then undo the floating of radios and checkboxes to match.\n .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n margin-top: 0;\n margin-bottom: 0;\n }\n .form-check-label {\n padding-left: 0;\n }\n .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: $form-check-input-margin-x;\n margin-left: 0;\n }\n\n // Custom form controls\n .custom-control {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: 0;\n }\n .custom-control-indicator {\n position: static;\n display: inline-block;\n margin-right: $form-check-input-margin-x; // Flexbox alignment means we lose our HTML space here, so we compensate.\n vertical-align: text-bottom;\n }\n\n // Re-override the feedback icon.\n .has-feedback .form-control-feedback {\n top: 0;\n }\n }\n}\n","// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-focus-border-color` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus() {\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: none;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-btn-focus-box-shadow;\n } @else {\n box-shadow: $input-btn-focus-box-shadow;\n }\n }\n}\n\n\n@mixin form-validation-state($state, $color) {\n\n .#{$state}-feedback {\n display: none;\n margin-top: .25rem;\n font-size: .875rem;\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n width: 250px;\n padding: .5rem;\n margin-top: .1rem;\n font-size: .875rem;\n line-height: 1;\n color: #fff;\n background-color: rgba($color,.8);\n border-radius: .2rem;\n }\n\n .form-control,\n .custom-select {\n .was-validated &:#{$state},\n &.is-#{$state} {\n border-color: $color;\n\n &:focus {\n box-shadow: 0 0 0 .2rem rgba($color,.25);\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n\n // TODO: redo check markup lol crap\n .form-check-input {\n .was-validated &:#{$state},\n &.is-#{$state} {\n + .form-check-label {\n color: $color;\n }\n }\n }\n\n // custom radios and checks\n .custom-control-input {\n .was-validated &:#{$state},\n &.is-#{$state} {\n ~ .custom-control-indicator {\n background-color: rgba($color, .25);\n }\n ~ .custom-control-description {\n color: $color;\n }\n }\n }\n\n // custom file\n .custom-file-input {\n .was-validated &:#{$state},\n &.is-#{$state} {\n ~ .custom-file-control {\n border-color: $color;\n\n &::before { border-color: inherit; }\n }\n &:focus {\n box-shadow: 0 0 0 .2rem rgba($color,.25);\n }\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-weight: $btn-font-weight;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n border: $input-btn-border-width solid transparent;\n @include button-size($input-btn-padding-y, $input-btn-padding-x, $font-size-base, $input-btn-line-height, $btn-border-radius);\n @include transition($btn-transition);\n\n // Share hover and focus styles\n @include hover-focus {\n text-decoration: none;\n }\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: $input-btn-focus-box-shadow;\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n opacity: .65;\n @include box-shadow(none);\n }\n\n &:not([disabled]):not(.disabled):active,\n &:not([disabled]):not(.disabled).active {\n background-image: none;\n @include box-shadow($input-btn-focus-box-shadow, $btn-active-box-shadow);\n }\n}\n\n// Future-proof disabling of clicks on `<a>` elements\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @if $color == \"light\" {\n @include button-outline-variant($value, $gray-900);\n } @else {\n @include button-outline-variant($value, $white);\n }\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $link-color;\n background-color: transparent;\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n background-color: transparent;\n border-color: transparent;\n }\n\n &:focus,\n &.focus {\n border-color: transparent;\n box-shadow: none;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($input-btn-padding-y-lg, $input-btn-padding-x-lg, $font-size-lg, $input-btn-line-height-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($input-btn-padding-y-sm, $input-btn-padding-x-sm, $font-size-sm, $input-btn-line-height-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n// Vertically space out multiple block buttons\n.btn-block + .btn-block {\n margin-top: $btn-block-spacing-y;\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {\n color: color-yiq($background);\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n @include hover {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n &:focus,\n &.focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $btn-box-shadow, 0 0 0 $input-btn-focus-width rgba($border, .5);\n } @else {\n box-shadow: 0 0 0 $input-btn-focus-width rgba($border, .5);\n }\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n background-color: $background;\n border-color: $border;\n }\n\n &:not([disabled]):not(.disabled):active,\n &:not([disabled]):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n @if $enable-gradients {\n background-image: none; // Remove the gradient for the pressed/active state\n }\n border-color: $active-border;\n\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $btn-active-box-shadow, 0 0 0 $input-btn-focus-width rgba($border, .5);\n } @else {\n box-shadow: 0 0 0 $input-btn-focus-width rgba($border, .5);\n }\n }\n}\n\n@mixin button-outline-variant($color, $color-hover: #fff) {\n color: $color;\n background-color: transparent;\n background-image: none;\n border-color: $color;\n\n @include hover {\n color: $color-hover;\n background-color: $color;\n border-color: $color;\n }\n\n &:focus,\n &.focus {\n box-shadow: 0 0 0 $input-btn-focus-width rgba($color, .5);\n }\n\n &.disabled,\n &:disabled {\n color: $color;\n background-color: transparent;\n }\n\n &:not([disabled]):not(.disabled):active,\n &:not([disabled]):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: $color-hover;\n background-color: $color;\n border-color: $color;\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $input-btn-focus-width rgba($color, .5);\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n padding: $padding-y $padding-x;\n font-size: $font-size;\n line-height: $line-height;\n @include border-radius($border-radius);\n}\n","// Gradients\n\n@mixin gradient-bg($color) {\n @if $enable-gradients {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\n } @else {\n background-color: $color;\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n@mixin gradient-directional($start-color: #555, $end-color: #333, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n background-repeat: repeat-x;\n}\n@mixin gradient-x-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-y-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-radial($inner-color: #555, $outer-color: #333) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba(255,255,255,.15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n.fade {\n opacity: 0;\n @include transition($transition-fade);\n\n &.show {\n opacity: 1;\n }\n}\n\n.collapse {\n display: none;\n &.show {\n display: block;\n }\n}\n\ntr {\n &.collapse.show {\n display: table-row;\n }\n}\n\ntbody {\n &.collapse.show {\n display: table-row-group;\n }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n}\n","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropdown {\n position: relative;\n}\n\n.dropdown-toggle {\n // Generate the caret automatically\n @include caret;\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y 0;\n margin: $dropdown-spacer 0 0; // override default ul\n font-size: $font-size-base; // Redeclare because nesting can cause inheritance issues\n color: $body-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n @include nav-divider($dropdown-divider-bg);\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background: none; // For `<button>`s\n border: 0; // For `<button>`s\n\n @include hover-focus {\n color: $dropdown-link-hover-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-padding-y $dropdown-item-padding-x;\n margin-bottom: 0; // for use with heading elements\n font-size: $font-size-sm;\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n","@mixin caret-down {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: $caret-width * .85;\n vertical-align: $caret-width * .85;\n content: \"\";\n @if $direction == down {\n @include caret-down;\n } @else if $direction == up {\n @include caret-up;\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n@mixin nav-divider($color: #e5e5e5) {\n height: 0;\n margin: ($spacer / 2) 0;\n overflow: hidden;\n border-top: 1px solid $color;\n}\n","// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 0 1 auto;\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n @include hover {\n z-index: 2;\n }\n &:focus,\n &:active,\n &.active {\n z-index: 2;\n }\n }\n\n // Prevent double borders when buttons are next to each other\n .btn + .btn,\n .btn + .btn-group,\n .btn-group + .btn,\n .btn-group + .btn-group {\n margin-left: -$input-btn-border-width;\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n\n// Set corners individual because sometimes a single button can be in a .btn-group\n// and we need :first-child and :last-child to both match\n.btn-group > .btn:first-child {\n margin-left: 0;\n\n &:not(:last-child):not(.dropdown-toggle) {\n @include border-right-radius(0);\n }\n}\n// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu\n// immediately after it\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n @include border-left-radius(0);\n}\n\n// Custom edits for including btn-groups within btn-groups (useful for including\n// dropdown buttons within a btn-group)\n.btn-group > .btn-group {\n float: left;\n}\n\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n\n.btn-group > .btn-group:first-child:not(:last-child) {\n > .btn:last-child,\n > .dropdown-toggle {\n @include border-right-radius(0);\n }\n}\n\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n @include border-left-radius(0);\n}\n\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.btn + .dropdown-toggle-split {\n padding-right: $input-btn-padding-x * .75;\n padding-left: $input-btn-padding-x * .75;\n\n &::after {\n margin-left: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $input-btn-padding-x-sm * .75;\n padding-left: $input-btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $input-btn-padding-x-lg * .75;\n padding-left: $input-btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n .btn,\n .btn-group {\n width: 100%;\n }\n\n > .btn + .btn,\n > .btn + .btn-group,\n > .btn-group + .btn,\n > .btn-group + .btn-group {\n margin-top: -$input-btn-border-width;\n margin-left: 0;\n }\n\n > .btn {\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n\n &:first-child:not(:last-child) {\n @include border-bottom-radius(0);\n }\n\n &:last-child:not(:first-child) {\n @include border-top-radius(0);\n }\n }\n\n > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n }\n\n > .btn-group:first-child:not(:last-child) {\n > .btn:last-child,\n > .dropdown-toggle {\n @include border-bottom-radius(0);\n }\n }\n\n > .btn-group:last-child:not(:first-child) > .btn:first-child {\n @include border-top-radius(0);\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n[data-toggle=\"buttons\"] {\n > .btn,\n > .btn-group > .btn {\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0,0,0,0);\n pointer-events: none;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n align-items: stretch;\n width: 100%;\n\n .form-control {\n // Ensure that the input is always above the *appended* addon button for\n // proper border colors.\n position: relative;\n z-index: 2;\n flex: 1 1 auto;\n // Add width 1% and flex-basis auto to ensure that button will not wrap out\n // the column. Applies to IE Edge+ and Firefox. Chrome does not require this.\n width: 1%;\n margin-bottom: 0;\n\n // Bring the \"active\" form control to the front\n @include hover-focus-active {\n z-index: 3;\n }\n }\n}\n\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: flex;\n align-items: center;\n &:not(:first-child):not(:last-child) {\n @include border-radius(0);\n }\n}\n\n.input-group-addon,\n.input-group-btn {\n white-space: nowrap;\n}\n\n\n// Sizing options\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n @extend .form-control-lg;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n @extend .form-control-sm;\n}\n\n\n//\n// Text input groups\n//\n\n.input-group-addon {\n padding: $input-btn-padding-y $input-btn-padding-x;\n margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom\n font-size: $font-size-base; // Match inputs\n font-weight: $font-weight-normal;\n line-height: $input-btn-line-height;\n color: $input-group-addon-color;\n text-align: center;\n background-color: $input-group-addon-bg;\n border: $input-btn-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n\n // Sizing\n &.form-control-sm {\n padding: $input-btn-padding-y-sm $input-btn-padding-x-sm;\n font-size: $font-size-sm;\n @include border-radius($input-border-radius-sm);\n }\n\n &.form-control-lg {\n padding: $input-btn-padding-y-lg $input-btn-padding-x-lg;\n font-size: $font-size-lg;\n @include border-radius($input-border-radius-lg);\n }\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n\n//\n// Reset rounded corners\n//\n\n.input-group .form-control:not(:last-child),\n.input-group-addon:not(:last-child),\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group > .btn,\n.input-group-btn:not(:last-child) > .dropdown-toggle,\n.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n}\n.input-group-addon:not(:last-child) {\n border-right: 0;\n}\n.input-group .form-control:not(:first-child),\n.input-group-addon:not(:first-child),\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group > .btn,\n.input-group-btn:not(:first-child) > .dropdown-toggle,\n.input-group-btn:not(:last-child) > .btn:not(:first-child),\n.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n}\n.form-control + .input-group-addon:not(:first-child) {\n border-left: 0;\n}\n\n//\n// Button input groups\n//\n\n.input-group-btn {\n position: relative;\n align-items: stretch;\n // Jankily prevent input button groups from wrapping with `white-space` and\n // `font-size` in combination with `inline-block` on buttons.\n font-size: 0;\n white-space: nowrap;\n\n // Negative margin for spacing, position for bringing hovered/focused/actived\n // element above the siblings.\n > .btn {\n position: relative;\n\n + .btn {\n margin-left: (-$input-btn-border-width);\n }\n\n // Bring the \"active\" button to the front\n @include hover-focus-active {\n z-index: 3;\n }\n }\n\n &:first-child > .btn + .btn {\n margin-left: 0;\n }\n\n // Negative margin to only have a single, shared border between the two\n &:not(:last-child) {\n > .btn,\n > .btn-group {\n margin-right: (-$input-btn-border-width);\n }\n }\n &:not(:first-child) {\n > .btn,\n > .btn-group {\n z-index: 2;\n // remove nagative margin ($input-btn-border-width) to solve overlapping issue with button.\n margin-left: 0;\n\n // When input is first, overlap the right side of it with the button(-group)\n &:first-child {\n margin-left: (-$input-btn-border-width);\n }\n\n // Because specificity\n @include hover-focus-active {\n z-index: 3;\n }\n }\n }\n}\n","// Embedded icons from Open Iconic.\n// Released under MIT and copyright 2014 Waybury.\n// https://useiconic.com/open\n\n\n// Checkboxes and radios\n//\n// Base class takes care of all the key behavioral aspects.\n\n.custom-control {\n position: relative;\n display: inline-flex;\n min-height: (1rem * $line-height-base);\n padding-left: $custom-control-gutter;\n margin-right: $custom-control-spacer-x;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1; // Put the input behind the label so it doesn't overlay text\n opacity: 0;\n\n &:checked ~ .custom-control-indicator {\n color: $custom-control-indicator-checked-color;\n @include gradient-bg($custom-control-indicator-checked-bg);\n @include box-shadow($custom-control-indicator-checked-box-shadow);\n }\n\n &:focus ~ .custom-control-indicator {\n // the mixin is not used here to make sure there is feedback\n box-shadow: $custom-control-indicator-focus-box-shadow;\n }\n\n &:active ~ .custom-control-indicator {\n color: $custom-control-indicator-active-color;\n @include gradient-bg($custom-control-indicator-active-bg);\n @include box-shadow($custom-control-indicator-active-box-shadow);\n }\n\n &:disabled {\n ~ .custom-control-indicator {\n background-color: $custom-control-indicator-disabled-bg;\n }\n\n ~ .custom-control-description {\n color: $custom-control-description-disabled-color;\n }\n }\n}\n\n// Custom indicator\n//\n// Generates a shadow element to create our makeshift checkbox/radio background.\n\n.custom-control-indicator {\n position: absolute;\n top: (($line-height-base - $custom-control-indicator-size) / 2);\n left: 0;\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n pointer-events: none;\n user-select: none;\n background-color: $custom-control-indicator-bg;\n background-repeat: no-repeat;\n background-position: center center;\n background-size: $custom-control-indicator-bg-size;\n @include box-shadow($custom-control-indicator-box-shadow);\n}\n\n// Checkboxes\n//\n// Tweak just a few things for checkboxes.\n\n.custom-checkbox {\n .custom-control-indicator {\n @include border-radius($custom-checkbox-indicator-border-radius);\n }\n\n .custom-control-input:checked ~ .custom-control-indicator {\n background-image: $custom-checkbox-indicator-icon-checked;\n }\n\n .custom-control-input:indeterminate ~ .custom-control-indicator {\n background-color: $custom-checkbox-indicator-indeterminate-bg;\n background-image: $custom-checkbox-indicator-icon-indeterminate;\n @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);\n }\n}\n\n// Radios\n//\n// Tweak just a few things for radios.\n\n.custom-radio {\n .custom-control-indicator {\n border-radius: $custom-radio-indicator-border-radius;\n }\n\n .custom-control-input:checked ~ .custom-control-indicator {\n background-image: $custom-radio-indicator-icon-checked;\n }\n}\n\n\n// Layout options\n//\n// By default radios and checkboxes are `inline-block` with no additional spacing\n// set. Use these optional classes to tweak the layout.\n\n.custom-controls-stacked {\n display: flex;\n flex-direction: column;\n\n .custom-control {\n margin-bottom: $custom-control-spacer-y;\n\n + .custom-control {\n margin-left: 0;\n }\n }\n}\n\n\n// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// http://primercss.io.\n//\n\n.custom-select {\n display: inline-block;\n max-width: 100%;\n height: $input-height;\n padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;\n line-height: $custom-select-line-height;\n color: $custom-select-color;\n vertical-align: middle;\n background: $custom-select-bg $custom-select-indicator no-repeat right $custom-select-padding-x center;\n background-size: $custom-select-bg-size;\n border: $custom-select-border-width solid $custom-select-border-color;\n @if $enable-rounded {\n border-radius: $custom-select-border-radius;\n } @else {\n border-radius: 0;\n }\n appearance: none;\n\n &:focus {\n border-color: $custom-select-focus-border-color;\n outline: none;\n @include box-shadow($custom-select-focus-box-shadow);\n\n &::-ms-value {\n // For visual consistency with other platforms/browsers,\n // supress the default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n }\n\n &[multiple] {\n height: auto;\n background-image: none;\n }\n\n &:disabled {\n color: $custom-select-disabled-color;\n background-color: $custom-select-disabled-bg;\n }\n\n // Hides the default caret in IE11\n &::-ms-expand {\n opacity: 0;\n }\n}\n\n.custom-select-sm {\n height: $custom-select-height-sm;\n padding-top: $custom-select-padding-y;\n padding-bottom: $custom-select-padding-y;\n font-size: $custom-select-font-size-sm;\n}\n\n\n// File\n//\n// Custom file input.\n\n.custom-file {\n position: relative;\n display: inline-block;\n max-width: 100%;\n height: $custom-file-height;\n margin-bottom: 0;\n}\n\n.custom-file-input {\n min-width: $custom-file-width;\n max-width: 100%;\n height: $custom-file-height;\n margin: 0;\n opacity: 0;\n\n &:focus ~ .custom-file-control {\n box-shadow: $custom-file-focus-box-shadow;\n }\n}\n\n.custom-file-control {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 5;\n height: $custom-file-height;\n padding: $custom-file-padding-y $custom-file-padding-x;\n line-height: $custom-file-line-height;\n color: $custom-file-color;\n pointer-events: none;\n user-select: none;\n background-color: $custom-file-bg;\n border: $custom-file-border-width solid $custom-file-border-color;\n @include border-radius($custom-file-border-radius);\n @include box-shadow($custom-file-box-shadow);\n\n @each $lang, $text in map-get($custom-file-text, placeholder) {\n &:lang(#{$lang}):empty::after {\n content: $text;\n }\n }\n\n &::before {\n position: absolute;\n top: -$custom-file-border-width;\n right: -$custom-file-border-width;\n bottom: -$custom-file-border-width;\n z-index: 6;\n display: block;\n height: $custom-file-height;\n padding: $custom-file-padding-y $custom-file-padding-x;\n line-height: $custom-file-line-height;\n color: $custom-file-button-color;\n @include gradient-bg($custom-file-button-bg);\n border: $custom-file-border-width solid $custom-file-border-color;\n @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);\n }\n\n @each $lang, $text in map-get($custom-file-text, button-label) {\n &:lang(#{$lang})::before {\n content: $text;\n }\n }\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s or `<ul>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n\n @include hover-focus {\n text-decoration: none;\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-item {\n margin-bottom: -$nav-tabs-border-width;\n }\n\n .nav-link {\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n @include hover-focus {\n border-color: $nav-tabs-link-hover-border-color $nav-tabs-link-hover-border-color $nav-tabs-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color $nav-tabs-link-active-border-color $nav-tabs-link-active-bg;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n background-color: $nav-pills-link-active-bg;\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Navbar divider\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding: $navbar-padding-y $navbar-padding-x;\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properities so that content nested within behave properly.\n > .container,\n > .container-fluid {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n display: inline-block;\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-padding-x;\n font-size: $navbar-brand-font-size;\n line-height: inherit;\n white-space: nowrap;\n\n @include hover-focus {\n text-decoration: none;\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n float: none;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n display: inline-block;\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orienation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n font-size: $navbar-toggler-font-size;\n line-height: 1;\n background: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n\n @include hover-focus {\n text-decoration: none;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n > .container,\n > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n }\n\n @include media-breakpoint-up($next) {\n flex-flow: row nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .dropdown-menu-right {\n right: 0;\n left: auto; // Reset the default from `.dropdown-menu`\n }\n\n .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n }\n\n // For nesting containers, have to redeclare for alignment purposes\n > .container,\n > .container-fluid {\n flex-wrap: nowrap;\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n\n // Changes flex-bases to auto because of an IE10 bug\n flex-basis: auto;\n }\n\n .navbar-toggler {\n display: none;\n }\n\n .dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-active-color;\n\n @include hover-focus {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n @include hover-focus {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: $navbar-light-toggler-icon-bg;\n }\n\n .navbar-text {\n color: $navbar-light-color;\n a {\n color: $navbar-light-active-color;\n\n @include hover-focus {\n color: $navbar-light-active-color;\n }\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-active-color;\n\n @include hover-focus {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n @include hover-focus {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: $navbar-dark-toggler-icon-bg;\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a {\n color: $navbar-dark-active-color;\n\n @include hover-focus {\n color: $navbar-dark-active-color;\n }\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group:first-child {\n .list-group-item:first-child {\n @include border-top-radius($card-border-radius);\n }\n }\n\n > .list-group:last-child {\n .list-group-item:last-child {\n @include border-bottom-radius($card-border-radius);\n }\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n padding: $card-spacer-x;\n}\n\n.card-title {\n margin-bottom: $card-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -($card-spacer-y / 2);\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n @include hover {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-spacer-y $card-spacer-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n\n + .list-group {\n .list-group-item:first-child {\n border-top: 0;\n }\n }\n}\n\n.card-footer {\n padding: $card-spacer-y $card-spacer-x;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -($card-spacer-x / 2);\n margin-bottom: -$card-spacer-y;\n margin-left: -($card-spacer-x / 2);\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -($card-spacer-x / 2);\n margin-left: -($card-spacer-x / 2);\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n}\n\n.card-img {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n @include border-radius($card-inner-border-radius);\n}\n\n// Card image caps\n.card-img-top {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img-bottom {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n// Card deck\n\n.card-deck {\n display: flex;\n flex-direction: column;\n\n .card {\n margin-bottom: $card-deck-margin;\n }\n\n @include media-breakpoint-up(sm) {\n flex-flow: row wrap;\n margin-right: -$card-deck-margin;\n margin-left: -$card-deck-margin;\n\n .card {\n display: flex;\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#4-flex-shorthand-declarations-with-unitless-flex-basis-values-are-ignored\n flex: 1 0 0%;\n flex-direction: column;\n margin-right: $card-deck-margin;\n margin-bottom: 0; // Override the default\n margin-left: $card-deck-margin;\n }\n }\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n display: flex;\n flex-direction: column;\n\n .card {\n margin-bottom: $card-group-margin;\n }\n\n @include media-breakpoint-up(sm) {\n flex-flow: row wrap;\n\n .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#4-flex-shorthand-declarations-with-unitless-flex-basis-values-are-ignored\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:first-child {\n @include border-right-radius(0);\n\n .card-img-top {\n border-top-right-radius: 0;\n }\n .card-img-bottom {\n border-bottom-right-radius: 0;\n }\n }\n\n &:last-child {\n @include border-left-radius(0);\n\n .card-img-top {\n border-top-left-radius: 0;\n }\n .card-img-bottom {\n border-bottom-left-radius: 0;\n }\n }\n\n &:only-child {\n @include border-radius($card-border-radius);\n\n .card-img-top {\n @include border-top-radius($card-border-radius);\n }\n .card-img-bottom {\n @include border-bottom-radius($card-border-radius);\n }\n }\n\n &:not(:first-child):not(:last-child):not(:only-child) {\n border-radius: 0;\n\n .card-img-top,\n .card-img-bottom {\n border-radius: 0;\n }\n }\n }\n }\n }\n}\n\n\n//\n// Columns\n//\n\n.card-columns {\n .card {\n margin-bottom: $card-columns-margin;\n }\n\n @include media-breakpoint-up(sm) {\n column-count: $card-columns-count;\n column-gap: $card-columns-gap;\n\n .card {\n display: inline-block; // Don't let them vertically span multiple columns\n width: 100%; // Don't let their width change\n }\n }\n}\n",".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($border-radius);\n}\n\n.breadcrumb-item {\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item::before {\n display: inline-block; // Suppress underlining of the separator in modern browsers\n padding-right: $breadcrumb-item-padding;\n padding-left: $breadcrumb-item-padding;\n color: $breadcrumb-divider-color;\n content: \"#{$breadcrumb-divider}\";\n }\n\n // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built\n // without `<ul>`s. The `::before` pseudo-element generates an element\n // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.\n //\n // To trick IE into suppressing the underline, we give the pseudo-element an\n // underline and then immediately remove it.\n + .breadcrumb-item:hover::before {\n text-decoration: underline;\n }\n // stylelint-disable-next-line no-duplicate-selectors\n + .breadcrumb-item:hover::before {\n text-decoration: none;\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n",".pagination {\n display: flex;\n @include list-unstyled();\n @include border-radius();\n}\n\n.page-item {\n &:first-child {\n .page-link {\n margin-left: 0;\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n\n &.active .page-link {\n z-index: 2;\n color: $pagination-active-color;\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: $pagination-padding-y $pagination-padding-x;\n margin-left: -$pagination-border-width;\n line-height: $pagination-line-height;\n color: $pagination-color;\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n\n @include hover-focus {\n color: $pagination-hover-color;\n text-decoration: none;\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm);\n}\n","// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n font-size: $font-size;\n line-height: $line-height;\n }\n\n .page-item {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n font-size: $badge-font-size;\n font-weight: $badge-font-weight;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n// Pill badges\n//\n// Make them extra rounded with a modifier to replace v3's badges.\n\n.badge-pill {\n padding-right: $badge-pill-padding-x;\n padding-left: $badge-pill-padding-x;\n @include border-radius($badge-pill-border-radius);\n}\n\n// Colors\n//\n// Contextual variations (linked badges get darker on :hover).\n\n@each $color, $value in $theme-colors {\n .badge-#{$color} {\n @include badge-variant($value);\n }\n}\n","@mixin badge-variant($bg) {\n color: color-yiq($bg);\n background-color: $bg;\n\n &[href] {\n @include hover-focus {\n color: color-yiq($bg);\n text-decoration: none;\n background-color: darken($bg, 10%);\n }\n }\n}\n",".jumbotron {\n padding: $jumbotron-padding ($jumbotron-padding / 2);\n margin-bottom: $jumbotron-padding;\n background-color: $jumbotron-bg;\n @include border-radius($border-radius-lg);\n\n @include media-breakpoint-up(sm) {\n padding: ($jumbotron-padding * 2) $jumbotron-padding;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n @include border-radius(0);\n}\n","//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\n }\n}\n\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(theme-color-level($color, -10), theme-color-level($color, -9), theme-color-level($color, 6));\n }\n}\n","@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n hr {\n border-top-color: darken($border, 5%);\n }\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n","@keyframes progress-bar-stripes {\n from { background-position: $progress-height 0; }\n to { background-position: 0 0; }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n font-size: $progress-font-size;\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n}\n\n.progress-bar {\n display: flex;\n align-items: center;\n justify-content: center;\n color: $progress-bar-color;\n background-color: $progress-bar-bg;\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes $progress-bar-animation-timing;\n}\n",".media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n @include hover-focus {\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: $list-group-item-padding-y $list-group-item-padding-x;\n // Place the border on the list items and negative margin up for better styling\n margin-bottom: -$list-group-border-width;\n background-color: $list-group-bg;\n border: $list-group-border-width solid $list-group-border-color;\n\n &:first-child {\n @include border-top-radius($list-group-border-radius);\n }\n\n &:last-child {\n margin-bottom: 0;\n @include border-bottom-radius($list-group-border-radius);\n }\n\n @include hover-focus {\n text-decoration: none;\n }\n\n &.disabled,\n &:disabled {\n color: $list-group-disabled-color;\n background-color: $list-group-disabled-bg;\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n }\n\n &:first-child {\n .list-group-item:first-child {\n border-top: 0;\n }\n }\n\n &:last-child {\n .list-group-item:last-child {\n border-bottom: 0;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, theme-color-level($color, -9), theme-color-level($color, 6));\n}\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n }\n\n a.list-group-item-#{$state},\n button.list-group-item-#{$state} {\n color: $color;\n\n @include hover-focus {\n color: $color;\n background-color: darken($background, 5%);\n }\n\n &.active {\n color: #fff;\n background-color: $color;\n border-color: $color;\n }\n }\n}\n",".close {\n float: right;\n font-size: $close-font-size;\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n @include hover-focus {\n color: $close-color;\n text-decoration: none;\n opacity: .75;\n }\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n// stylelint-disable property-no-vendor-prefix, selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n// stylelint-enable\n","// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n// Kill the scroll on the body\n.modal-open {\n overflow: hidden;\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n\n // When fading in the modal, animate it to slide down\n &.fade .modal-dialog {\n @include transition($modal-transition);\n transform: translate(0, -25%);\n }\n &.show .modal-dialog { transform: translate(0, 0); }\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n // counteract the pointer-events: none; in the .modal-dialog\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($border-radius-lg);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n align-items: flex-start; // so the close btn always stays on the upper right corner\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($border-radius-lg);\n\n .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding) (-$modal-header-padding) (-$modal-header-padding) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when should there be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n\n // Easily place margin between footer elements\n > :not(:first-child) { margin-left: .25rem; }\n > :not(:last-child) { margin-right: .25rem; }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg { max-width: $modal-lg; }\n}\n","// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n font-size: $font-size-sm;\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: $tooltip-opacity; }\n\n .arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $tooltip-arrow-height;\n }\n\n .arrow::before {\n position: absolute;\n border-color: transparent;\n border-style: solid;\n }\n\n &.bs-tooltip-top {\n padding: $tooltip-arrow-width 0;\n .arrow {\n bottom: 0;\n }\n\n .arrow::before {\n margin-left: -($tooltip-arrow-width - 2);\n content: \"\";\n border-width: $tooltip-arrow-width $tooltip-arrow-width 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n &.bs-tooltip-right {\n padding: 0 $tooltip-arrow-width;\n .arrow {\n left: 0;\n }\n\n .arrow::before {\n margin-top: -($tooltip-arrow-width - 2);\n content: \"\";\n border-width: $tooltip-arrow-width $tooltip-arrow-width $tooltip-arrow-width 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n &.bs-tooltip-bottom {\n padding: $tooltip-arrow-width 0;\n .arrow {\n top: 0;\n }\n\n .arrow::before {\n margin-left: -($tooltip-arrow-width - 2);\n content: \"\";\n border-width: 0 $tooltip-arrow-width $tooltip-arrow-width;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n &.bs-tooltip-left {\n padding: 0 $tooltip-arrow-width;\n .arrow {\n right: 0;\n }\n\n .arrow::before {\n right: 0;\n margin-top: -($tooltip-arrow-width - 2);\n content: \"\";\n border-width: $tooltip-arrow-width 0 $tooltip-arrow-width $tooltip-arrow-width;\n border-left-color: $tooltip-arrow-color;\n }\n }\n &.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($border-radius);\n}\n","@mixin reset-text {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start; // stylelint-disable-line declaration-block-no-duplicate-properties\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n",".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n font-size: $font-size-sm;\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($border-radius-lg);\n @include box-shadow($popover-box-shadow);\n\n // Arrows\n //\n // .arrow is outer, .arrow::after is inner\n\n .arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n }\n\n .arrow::before,\n .arrow::after {\n position: absolute;\n display: block;\n border-color: transparent;\n border-style: solid;\n }\n\n .arrow::before {\n content: \"\";\n border-width: $popover-arrow-width;\n }\n .arrow::after {\n content: \"\";\n border-width: $popover-arrow-width;\n }\n\n // Popover directions\n\n &.bs-popover-top {\n margin-bottom: $popover-arrow-width;\n\n .arrow {\n bottom: 0;\n }\n\n .arrow::before,\n .arrow::after {\n border-bottom-width: 0;\n }\n\n .arrow::before {\n bottom: -$popover-arrow-width;\n margin-left: -$popover-arrow-width;\n border-top-color: $popover-arrow-outer-color;\n }\n\n .arrow::after {\n bottom: calc((#{$popover-arrow-width} - #{$popover-border-width}) * -1);\n margin-left: -$popover-arrow-width;\n border-top-color: $popover-arrow-color;\n }\n }\n\n &.bs-popover-right {\n margin-left: $popover-arrow-width;\n\n .arrow {\n left: 0;\n }\n\n .arrow::before,\n .arrow::after {\n margin-top: -$popover-arrow-width;\n border-left-width: 0;\n }\n\n .arrow::before {\n left: -$popover-arrow-width;\n border-right-color: $popover-arrow-outer-color;\n }\n\n .arrow::after {\n left: calc((#{$popover-arrow-width} - #{$popover-border-width}) * -1);\n border-right-color: $popover-arrow-color;\n }\n }\n\n &.bs-popover-bottom {\n margin-top: $popover-arrow-width;\n\n .arrow {\n top: 0;\n }\n\n .arrow::before,\n .arrow::after {\n margin-left: -$popover-arrow-width;\n border-top-width: 0;\n }\n\n .arrow::before {\n top: -$popover-arrow-width;\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n .arrow::after {\n top: calc((#{$popover-arrow-width} - #{$popover-border-width}) * -1);\n border-bottom-color: $popover-arrow-color;\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 20px;\n margin-left: -10px;\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n }\n\n &.bs-popover-left {\n margin-right: $popover-arrow-width;\n\n .arrow {\n right: 0;\n }\n\n .arrow::before,\n .arrow::after {\n margin-top: -$popover-arrow-width;\n border-right-width: 0;\n }\n\n .arrow::before {\n right: -$popover-arrow-width;\n border-left-color: $popover-arrow-outer-color;\n }\n\n .arrow::after {\n right: calc((#{$popover-arrow-width} - #{$popover-border-width}) * -1);\n border-left-color: $popover-arrow-color;\n }\n }\n &.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n font-size: $font-size-base;\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n $offset-border-width: calc(#{$border-radius-lg} - #{$popover-border-width});\n @include border-top-radius($offset-border-width);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n","// Wrapper for the slide container and indicators\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n align-items: center;\n width: 100%;\n @include transition($carousel-transition);\n backface-visibility: hidden;\n perspective: 1000px;\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n// CSS3 transforms when supported by the browser\n.carousel-item-next.carousel-item-left,\n.carousel-item-prev.carousel-item-right {\n transform: translateX(0);\n\n @supports (transform-style: preserve-3d) {\n transform: translate3d(0, 0, 0);\n }\n}\n\n.carousel-item-next,\n.active.carousel-item-right {\n transform: translateX(100%);\n\n @supports (transform-style: preserve-3d) {\n transform: translate3d(100%, 0, 0);\n }\n}\n\n.carousel-item-prev,\n.active.carousel-item-left {\n transform: translateX(-100%);\n\n @supports (transform-style: preserve-3d) {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n color: $carousel-control-color;\n text-align: center;\n opacity: $carousel-control-opacity;\n // We can't have a transition here because WebKit cancels the carousel\n // animation if you trip this while in the middle of another animation.\n\n // Hover/focus state\n @include hover-focus {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: .9;\n }\n}\n.carousel-control-prev {\n left: 0;\n @if $enable-gradients {\n background: linear-gradient(90deg, rgba(0,0,0,.25), rgba(0,0,0,.001));\n }\n}\n.carousel-control-next {\n right: 0;\n @if $enable-gradients {\n background: linear-gradient(270deg, rgba(0,0,0,.25), rgba(0,0,0,.001));\n }\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: $carousel-control-prev-icon-bg;\n}\n.carousel-control-next-icon {\n background-image: $carousel-control-next-icon-bg;\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n position: relative;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n background-color: rgba($carousel-indicator-active-bg, .5);\n\n // Use pseudo classes to increase the hit area by 10px on top and bottom.\n &::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n }\n &::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n }\n }\n\n .active {\n background-color: $carousel-indicator-active-bg;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: ((100% - $carousel-caption-width) / 2);\n bottom: 20px;\n left: ((100% - $carousel-caption-width) / 2);\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: $carousel-caption-color;\n text-align: center;\n}\n","// stylelint-disable declaration-no-important\n\n.align-baseline { vertical-align: baseline !important; } // Browser default\n.align-top { vertical-align: top !important; }\n.align-middle { vertical-align: middle !important; }\n.align-bottom { vertical-align: bottom !important; }\n.align-text-bottom { vertical-align: text-bottom !important; }\n.align-text-top { vertical-align: text-top !important; }\n","// stylelint-disable declaration-no-important\n\n// Contextual backgrounds\n\n@mixin bg-variant($parent, $color) {\n #{$parent} {\n background-color: $color !important;\n }\n a#{$parent} {\n @include hover-focus {\n background-color: darken($color, 10%) !important;\n }\n }\n}\n\n@mixin bg-gradient-variant($parent, $color) {\n #{$parent} {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;\n }\n}\n","// stylelint-disable declaration-no-important\n\n@each $color, $value in $theme-colors {\n @include bg-variant(\".bg-#{$color}\", $value);\n}\n\n@if $enable-gradients {\n @each $color, $value in $theme-colors {\n @include bg-gradient-variant(\".bg-gradient-#{$color}\", $value);\n }\n}\n\n.bg-white {\n background-color: $white !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Border\n//\n\n.border { border: $border-width solid $border-color !important; }\n.border-0 { border: 0 !important; }\n.border-top-0 { border-top: 0 !important; }\n.border-right-0 { border-right: 0 !important; }\n.border-bottom-0 { border-bottom: 0 !important; }\n.border-left-0 { border-left: 0 !important; }\n\n@each $color, $value in $theme-colors {\n .border-#{$color} {\n border-color: $value !important;\n }\n}\n\n.border-white {\n border-color: $white !important;\n}\n\n//\n// Border-radius\n//\n\n.rounded {\n border-radius: $border-radius !important;\n}\n.rounded-top {\n border-top-left-radius: $border-radius !important;\n border-top-right-radius: $border-radius !important;\n}\n.rounded-right {\n border-top-right-radius: $border-radius !important;\n border-bottom-right-radius: $border-radius !important;\n}\n.rounded-bottom {\n border-bottom-right-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n.rounded-left {\n border-top-left-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n","@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .d#{$infix}-none { display: none !important; }\n .d#{$infix}-inline { display: inline !important; }\n .d#{$infix}-inline-block { display: inline-block !important; }\n .d#{$infix}-block { display: block !important; }\n .d#{$infix}-table { display: table !important; }\n .d#{$infix}-table-row { display: table-row !important; }\n .d#{$infix}-table-cell { display: table-cell !important; }\n .d#{$infix}-flex { display: flex !important; }\n .d#{$infix}-inline-flex { display: inline-flex !important; }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n.d-print-block {\n display: none !important;\n\n @media print {\n display: block !important;\n }\n}\n\n.d-print-inline {\n display: none !important;\n\n @media print {\n display: inline !important;\n }\n}\n\n.d-print-inline-block {\n display: none !important;\n\n @media print {\n display: inline-block !important;\n }\n}\n\n.d-print-none {\n @media print {\n display: none !important;\n }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n\n &::before {\n display: block;\n content: \"\";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n.embed-responsive-21by9 {\n &::before {\n padding-top: percentage(9 / 21);\n }\n}\n\n.embed-responsive-16by9 {\n &::before {\n padding-top: percentage(9 / 16);\n }\n}\n\n.embed-responsive-4by3 {\n &::before {\n padding-top: percentage(3 / 4);\n }\n}\n\n.embed-responsive-1by1 {\n &::before {\n padding-top: percentage(1 / 1);\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .float#{$infix}-left { @include float-left; }\n .float#{$infix}-right { @include float-right; }\n .float#{$infix}-none { @include float-none; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n@mixin float-left {\n float: left !important;\n}\n@mixin float-right {\n float: right !important;\n}\n@mixin float-none {\n float: none !important;\n}\n","// stylelint-disable declaration-no-important\n\n// Common values\n\n// Sass list not in variables since it's not intended for customization.\n$positions: static, relative, absolute, fixed, sticky;\n\n@each $position in $positions {\n .position-#{$position} { position: $position !important; }\n}\n\n// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.sticky-top {\n @supports (position: sticky) {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n}\n","//\n// Screenreaders\n//\n\n.sr-only {\n @include sr-only();\n}\n\n.sr-only-focusable {\n @include sr-only-focusable();\n}\n","// Only display content to screen readers\n//\n// See: http://a11yproject.com/posts/how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0,0,0,0);\n white-space: nowrap;\n clip-path: inset(50%);\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n//\n// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n clip-path: none;\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Width and height\n\n@each $prop, $abbrev in (width: w, height: h) {\n @each $size, $length in $sizes {\n .#{$abbrev}-#{$size} { #{$prop}: $length !important; }\n }\n}\n\n.mw-100 { max-width: 100% !important; }\n.mh-100 { max-height: 100% !important; }\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Text\n//\n\n// Alignment\n\n.text-justify { text-align: justify !important; }\n.text-nowrap { white-space: nowrap !important; }\n.text-truncate { @include text-truncate; }\n\n// Responsive alignment\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .text#{$infix}-left { text-align: left !important; }\n .text#{$infix}-right { text-align: right !important; }\n .text#{$infix}-center { text-align: center !important; }\n }\n}\n\n// Transformation\n\n.text-lowercase { text-transform: lowercase !important; }\n.text-uppercase { text-transform: uppercase !important; }\n.text-capitalize { text-transform: capitalize !important; }\n\n// Weight and italics\n\n.font-weight-light { font-weight: $font-weight-light !important; }\n.font-weight-normal { font-weight: $font-weight-normal !important; }\n.font-weight-bold { font-weight: $font-weight-bold !important; }\n.font-italic { font-style: italic !important; }\n\n// Contextual colors\n\n.text-white { color: #fff !important; }\n\n@each $color, $value in $theme-colors {\n @include text-emphasis-variant(\".text-#{$color}\", $value);\n}\n\n.text-muted { color: $text-muted !important; }\n\n// Misc\n\n.text-hide {\n @include text-hide();\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","// stylelint-disable declaration-no-important\n\n// Typography\n\n@mixin text-emphasis-variant($parent, $color) {\n #{$parent} {\n color: $color !important;\n }\n a#{$parent} {\n @include hover-focus {\n color: darken($color, 10%) !important;\n }\n }\n}\n","// CSS image replacement\n@mixin text-hide() {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n","//\n// Visibility utilities\n//\n\n.visible {\n @include invisible(visible);\n}\n\n.invisible {\n @include invisible(hidden);\n}\n","// stylelint-disable declaration-no-important\n\n// Visibility\n\n@mixin invisible($visibility) {\n visibility: $visibility !important;\n}\n"]} \ No newline at end of file diff --git a/workspace/public/css/bootstrap.min.css b/workspace/public/css/bootstrap.min.css new file mode 100644 index 0000000..ad65b4e --- /dev/null +++ b/workspace/public/css/bootstrap.min.css @@ -0,0 +1,7 @@ +/*! + * Bootstrap v4.0.0-beta.2 (https://getbootstrap.com) + * Copyright 2011-2017 The Bootstrap Authors + * Copyright 2011-2017 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#868e96;--gray-dark:#343a40;--primary:#007bff;--secondary:#868e96;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-family-monospace:"SFMono-Regular",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.badge{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}}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#868e96;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:5px}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#868e96}.blockquote-footer::before{content:"\2014 \00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #ddd;border-radius:.25rem;transition:all .2s ease-in-out;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#868e96}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}code{padding:.2rem .4rem;font-size:90%;color:#bd4147;background-color:#f8f9fa;border-radius:.25rem}a>code{padding:0;color:inherit;background-color:inherit}kbd{padding:.2rem .4rem;font-size:90%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;margin-top:0;margin-bottom:1rem;font-size:90%;color:#212529}pre code{padding:0;font-size:inherit;color:inherit;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.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-lg-auto,.col-md,.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-md-auto,.col-sm,.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-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;max-width:100%;margin-bottom:1rem;background-color:transparent}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #e9ecef}.table thead th{vertical-align:bottom;border-bottom:2px solid #e9ecef}.table tbody+tbody{border-top:2px solid #e9ecef}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #e9ecef}.table-bordered td,.table-bordered th{border:1px solid #e9ecef}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#dddfe2}.table-hover .table-secondary:hover{background-color:#cfd2d6}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#cfd2d6}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#212529;border-color:#32383e}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#e9ecef}.table-dark{color:#fff;background-color:#212529}.table-dark td,.table-dark th,.table-dark thead th{border-color:#32383e}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{background-color:rgba(255,255,255,.075)}@media (max-width:575px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-sm.table-bordered{border:0}}@media (max-width:767px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-md.table-bordered{border:0}}@media (max-width:991px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-lg.table-bordered{border:0}}@media (max-width:1199px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-xl.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive.table-bordered{border:0}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-image:none;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#868e96;opacity:1}.form-control:-ms-input-placeholder{color:#868e96;opacity:1}.form-control::-ms-input-placeholder{color:#868e96;opacity:1}.form-control::placeholder{color:#868e96;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:not([size]):not([multiple]){height:calc(2.25rem + 2px)}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.col-form-legend{padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;font-size:1rem}.form-control-plaintext{padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm,.input-group-lg>.form-control-plaintext.form-control,.input-group-lg>.form-control-plaintext.input-group-addon,.input-group-lg>.input-group-btn>.form-control-plaintext.btn,.input-group-sm>.form-control-plaintext.form-control,.input-group-sm>.form-control-plaintext.input-group-addon,.input-group-sm>.input-group-btn>.form-control-plaintext.btn{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-sm>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),.input-group-sm>select.input-group-addon:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:calc(1.8125rem + 2px)}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-lg>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),.input-group-lg>select.input-group-addon:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:calc(2.875rem + 2px)}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;margin-bottom:.5rem}.form-check.disabled .form-check-label{color:#868e96}.form-check-label{padding-left:1.25rem;margin-bottom:0}.form-check-input{position:absolute;margin-top:.25rem;margin-left:-1.25rem}.form-check-inline{display:inline-block;margin-right:.75rem}.form-check-inline .form-check-label{vertical-align:middle}.valid-feedback{display:none;margin-top:.25rem;font-size:.875rem;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;width:250px;padding:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(40,167,69,.8);border-radius:.2rem}.custom-select.is-valid,.form-control.is-valid,.was-validated .custom-select:valid,.was-validated .form-control:valid{border-color:#28a745}.custom-select.is-valid:focus,.form-control.is-valid:focus,.was-validated .custom-select:valid:focus,.was-validated .form-control:valid:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.form-check-input.is-valid+.form-check-label,.was-validated .form-check-input:valid+.form-check-label{color:#28a745}.custom-control-input.is-valid~.custom-control-indicator,.was-validated .custom-control-input:valid~.custom-control-indicator{background-color:rgba(40,167,69,.25)}.custom-control-input.is-valid~.custom-control-description,.was-validated .custom-control-input:valid~.custom-control-description{color:#28a745}.custom-file-input.is-valid~.custom-file-control,.was-validated .custom-file-input:valid~.custom-file-control{border-color:#28a745}.custom-file-input.is-valid~.custom-file-control::before,.was-validated .custom-file-input:valid~.custom-file-control::before{border-color:inherit}.custom-file-input.is-valid:focus,.was-validated .custom-file-input:valid:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;margin-top:.25rem;font-size:.875rem;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;width:250px;padding:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(220,53,69,.8);border-radius:.2rem}.custom-select.is-invalid,.form-control.is-invalid,.was-validated .custom-select:invalid,.was-validated .form-control:invalid{border-color:#dc3545}.custom-select.is-invalid:focus,.form-control.is-invalid:focus,.was-validated .custom-select:invalid:focus,.was-validated .form-control:invalid:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid+.form-check-label,.was-validated .form-check-input:invalid+.form-check-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-indicator,.was-validated .custom-control-input:invalid~.custom-control-indicator{background-color:rgba(220,53,69,.25)}.custom-control-input.is-invalid~.custom-control-description,.was-validated .custom-control-input:invalid~.custom-control-description{color:#dc3545}.custom-file-input.is-invalid~.custom-file-control,.was-validated .custom-file-input:invalid~.custom-file-control{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-control::before,.was-validated .custom-file-input:invalid~.custom-file-control::before{border-color:inherit}.custom-file-input.is-invalid:focus,.was-validated .custom-file-input:invalid:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;margin-top:0;margin-bottom:0}.form-inline .form-check-label{padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;padding-left:0}.form-inline .custom-control-indicator{position:static;display:inline-block;margin-right:.25rem;vertical-align:text-bottom}.form-inline .has-feedback .form-control-feedback{top:0}}.btn{display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not([disabled]):not(.disabled).active,.btn:not([disabled]):not(.disabled):active{background-image:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-primary.disabled,.btn-primary:disabled{background-color:#007bff;border-color:#007bff}.btn-primary:not([disabled]):not(.disabled).active,.btn-primary:not([disabled]):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-secondary{color:#fff;background-color:#868e96;border-color:#868e96}.btn-secondary:hover{color:#fff;background-color:#727b84;border-color:#6c757d}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(134,142,150,.5)}.btn-secondary.disabled,.btn-secondary:disabled{background-color:#868e96;border-color:#868e96}.btn-secondary:not([disabled]):not(.disabled).active,.btn-secondary:not([disabled]):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#666e76;box-shadow:0 0 0 .2rem rgba(134,142,150,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-success.disabled,.btn-success:disabled{background-color:#28a745;border-color:#28a745}.btn-success:not([disabled]):not(.disabled).active,.btn-success:not([disabled]):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-info.disabled,.btn-info:disabled{background-color:#17a2b8;border-color:#17a2b8}.btn-info:not([disabled]):not(.disabled).active,.btn-info:not([disabled]):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-warning{color:#111;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#111;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-warning.disabled,.btn-warning:disabled{background-color:#ffc107;border-color:#ffc107}.btn-warning:not([disabled]):not(.disabled).active,.btn-warning:not([disabled]):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#111;background-color:#d39e00;border-color:#c69500;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-danger.disabled,.btn-danger:disabled{background-color:#dc3545;border-color:#dc3545}.btn-danger:not([disabled]):not(.disabled).active,.btn-danger:not([disabled]):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-light{color:#111;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#111;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-light.disabled,.btn-light:disabled{background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not([disabled]):not(.disabled).active,.btn-light:not([disabled]):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#111;background-color:#dae0e5;border-color:#d3d9df;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-dark.disabled,.btn-dark:disabled{background-color:#343a40;border-color:#343a40}.btn-dark:not([disabled]):not(.disabled).active,.btn-dark:not([disabled]):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-primary{color:#007bff;background-color:transparent;background-image:none;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not([disabled]):not(.disabled).active,.btn-outline-primary:not([disabled]):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#868e96;background-color:transparent;background-image:none;border-color:#868e96}.btn-outline-secondary:hover{color:#fff;background-color:#868e96;border-color:#868e96}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(134,142,150,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#868e96;background-color:transparent}.btn-outline-secondary:not([disabled]):not(.disabled).active,.btn-outline-secondary:not([disabled]):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#868e96;border-color:#868e96;box-shadow:0 0 0 .2rem rgba(134,142,150,.5)}.btn-outline-success{color:#28a745;background-color:transparent;background-image:none;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not([disabled]):not(.disabled).active,.btn-outline-success:not([disabled]):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;background-color:transparent;background-image:none;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not([disabled]):not(.disabled).active,.btn-outline-info:not([disabled]):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;background-color:transparent;background-image:none;border-color:#ffc107}.btn-outline-warning:hover{color:#fff;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not([disabled]):not(.disabled).active,.btn-outline-warning:not([disabled]):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#ffc107;border-color:#ffc107;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;background-color:transparent;background-image:none;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not([disabled]):not(.disabled).active,.btn-outline-danger:not([disabled]):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;background-color:transparent;background-image:none;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not([disabled]):not(.disabled).active,.btn-outline-light:not([disabled]):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;background-color:transparent;background-image:none;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not([disabled]):not(.disabled).active,.btn-outline-dark:not([disabled]):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;background-color:transparent}.btn-link:hover{color:#0056b3;text-decoration:underline;background-color:transparent;border-color:transparent}.btn-link.focus,.btn-link:focus{border-color:transparent;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#868e96}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;transition:opacity .15s linear}.fade.show{opacity:1}.collapse{display:none}.collapse.show{display:block}tr.collapse.show{display:table-row}tbody.collapse.show{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}.dropdown,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropup .dropdown-menu{margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background:0 0;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#868e96;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#868e96;white-space:nowrap}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:0 1 auto;flex:0 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:2}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.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-left:-1px}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.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+.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.btn+.dropdown-toggle-split::after{margin-left:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.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-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}.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}[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:-ms-flexbox;display:flex;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group .form-control{position:relative;z-index:2;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group .form-control:active,.input-group .form-control:focus,.input-group .form-control:hover{z-index:3}.input-group .form-control,.input-group-addon,.input-group-btn{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.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{white-space:nowrap}.input-group-addon{padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-addon.form-control-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-addon.form-control-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:not(:last-child),.input-group-addon:not(:last-child),.input-group-btn:not(:first-child)>.btn-group:not(:last-child)>.btn,.input-group-btn:not(:first-child)>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group>.btn,.input-group-btn:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:not(:last-child){border-right:0}.input-group .form-control:not(:first-child),.input-group-addon:not(:first-child),.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group>.btn,.input-group-btn:not(:first-child)>.dropdown-toggle,.input-group-btn:not(:last-child)>.btn-group:not(:first-child)>.btn,.input-group-btn:not(:last-child)>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.form-control+.input-group-addon:not(:first-child){border-left:0}.input-group-btn{position:relative;-ms-flex-align:stretch;align-items:stretch;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:3}.input-group-btn:first-child>.btn+.btn{margin-left:0}.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group{margin-right:-1px}.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group{z-index:2;margin-left:0}.input-group-btn:not(:first-child)>.btn-group:first-child,.input-group-btn:not(:first-child)>.btn:first-child{margin-left:-1px}.input-group-btn:not(:first-child)>.btn-group:active,.input-group-btn:not(:first-child)>.btn-group:focus,.input-group-btn:not(:first-child)>.btn-group:hover,.input-group-btn:not(:first-child)>.btn:active,.input-group-btn:not(:first-child)>.btn:focus,.input-group-btn:not(:first-child)>.btn:hover{z-index:3}.custom-control{position:relative;display:-ms-inline-flexbox;display:inline-flex;min-height:1.5rem;padding-left:1.5rem;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-indicator{color:#fff;background-color:#007bff}.custom-control-input:focus~.custom-control-indicator{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:active~.custom-control-indicator{color:#fff;background-color:#b3d7ff}.custom-control-input:disabled~.custom-control-indicator{background-color:#e9ecef}.custom-control-input:disabled~.custom-control-description{color:#868e96}.custom-control-indicator{position:absolute;top:.25rem;left:0;display:block;width:1rem;height:1rem;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#ddd;background-repeat:no-repeat;background-position:center center;background-size:50% 50%}.custom-checkbox .custom-control-indicator{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-indicator{background-color:#007bff;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-radio .custom-control-indicator{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-controls-stacked{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.custom-controls-stacked .custom-control{margin-bottom:.25rem}.custom-controls-stacked .custom-control+.custom-control{margin-left:0}.custom-select{display:inline-block;max-width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;background-size:8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple]{height:auto;background-image:none}.custom-select:disabled{color:#868e96;background-color:#e9ecef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{height:calc(1.8125rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-file{position:relative;display:inline-block;max-width:100%;height:calc(2.25rem + 2px);margin-bottom:0}.custom-file-input{min-width:14rem;max-width:100%;height:calc(2.25rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-control{box-shadow:0 0 0 .075rem #fff,0 0 0 .2rem #007bff}.custom-file-control{position:absolute;top:0;right:0;left:0;z-index:5;height:calc(2.25rem + 2px);padding:.375rem .75rem;line-height:1.5;color:#495057;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-control:lang(en):empty::after{content:"Choose file..."}.custom-file-control::before{position:absolute;top:-1px;right:-1px;bottom:-1px;z-index:6;display:block;height:calc(2.25rem + 2px);padding:.375rem .75rem;line-height:1.5;color:#495057;background-color:#e9ecef;border:1px solid #ced4da;border-radius:0 .25rem .25rem 0}.custom-file-control:lang(en)::before{content:"Browse"}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#868e96}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #ddd}.nav-tabs .nav-link.disabled{color:#868e96;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#ddd #ddd #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background:0 0;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .dropup .dropdown-menu{top:auto;bottom:100%}}@media (max-width:767px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .dropup .dropdown-menu{top:auto;bottom:100%}}@media (max-width:991px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .dropup .dropdown-menu{top:auto;bottom:100%}}@media (max-width:1199px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .dropup .dropdown-menu{top:auto;bottom:100%}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .dropup .dropdown-menu{top:auto;bottom:100%}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-ms-flexbox;display:flex;-ms-flex:1 0 0%;flex:1 0 0%;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-group .card{margin-bottom:15px}@media (min-width:576px){.card-group{-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group .card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group .card+.card{margin-left:0;border-left:0}.card-group .card:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group .card:first-child .card-img-top{border-top-right-radius:0}.card-group .card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group .card:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group .card:last-child .card-img-top{border-top-left-radius:0}.card-group .card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group .card:only-child{border-radius:.25rem}.card-group .card:only-child .card-img-top{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-group .card:only-child .card-img-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-group .card:not(:first-child):not(:last-child):not(:only-child){border-radius:0}.card-group .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,.card-group .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top{border-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;column-count:3;-webkit-column-gap:1.25rem;column-gap:1.25rem}.card-columns .card{display:inline-block;width:100%}}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;padding-left:.5rem;color:#868e96;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#868e96}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#868e96;pointer-events:none;background-color:#fff;border-color:#ddd}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #ddd}.page-link:focus,.page-link:hover{color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#ddd}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}.badge-primary[href]:focus,.badge-primary[href]:hover{color:#fff;text-decoration:none;background-color:#0062cc}.badge-secondary{color:#fff;background-color:#868e96}.badge-secondary[href]:focus,.badge-secondary[href]:hover{color:#fff;text-decoration:none;background-color:#6c757d}.badge-success{color:#fff;background-color:#28a745}.badge-success[href]:focus,.badge-success[href]:hover{color:#fff;text-decoration:none;background-color:#1e7e34}.badge-info{color:#fff;background-color:#17a2b8}.badge-info[href]:focus,.badge-info[href]:hover{color:#fff;text-decoration:none;background-color:#117a8b}.badge-warning{color:#111;background-color:#ffc107}.badge-warning[href]:focus,.badge-warning[href]:hover{color:#111;text-decoration:none;background-color:#d39e00}.badge-danger{color:#fff;background-color:#dc3545}.badge-danger[href]:focus,.badge-danger[href]:hover{color:#fff;text-decoration:none;background-color:#bd2130}.badge-light{color:#111;background-color:#f8f9fa}.badge-light[href]:focus,.badge-light[href]:hover{color:#111;text-decoration:none;background-color:#dae0e5}.badge-dark{color:#fff;background-color:#343a40}.badge-dark[href]:focus,.badge-dark[href]:hover{color:#fff;text-decoration:none;background-color:#1d2124}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#464a4e;background-color:#e7e8ea;border-color:#dddfe2}.alert-secondary hr{border-top-color:#cfd2d6}.alert-secondary .alert-link{color:#2e3133}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;color:#fff;background-color:#007bff}.progress-bar-striped{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);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#868e96;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}a.list-group-item-primary,button.list-group-item-primary{color:#004085}a.list-group-item-primary:focus,a.list-group-item-primary:hover,button.list-group-item-primary:focus,button.list-group-item-primary:hover{color:#004085;background-color:#9fcdff}a.list-group-item-primary.active,button.list-group-item-primary.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#464a4e;background-color:#dddfe2}a.list-group-item-secondary,button.list-group-item-secondary{color:#464a4e}a.list-group-item-secondary:focus,a.list-group-item-secondary:hover,button.list-group-item-secondary:focus,button.list-group-item-secondary:hover{color:#464a4e;background-color:#cfd2d6}a.list-group-item-secondary.active,button.list-group-item-secondary.active{color:#fff;background-color:#464a4e;border-color:#464a4e}.list-group-item-success{color:#155724;background-color:#c3e6cb}a.list-group-item-success,button.list-group-item-success{color:#155724}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:#155724;background-color:#b1dfbb}a.list-group-item-success.active,button.list-group-item-success.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}a.list-group-item-info,button.list-group-item-info{color:#0c5460}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:#0c5460;background-color:#abdde5}a.list-group-item-info.active,button.list-group-item-info.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}a.list-group-item-warning,button.list-group-item-warning{color:#856404}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:#856404;background-color:#ffe8a1}a.list-group-item-warning.active,button.list-group-item-warning.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}a.list-group-item-danger,button.list-group-item-danger{color:#721c24}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:#721c24;background-color:#f1b0b7}a.list-group-item-danger.active,button.list-group-item-danger.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}a.list-group-item-light,button.list-group-item-light{color:#818182}a.list-group-item-light:focus,a.list-group-item-light:hover,button.list-group-item-light:focus,button.list-group-item-light:hover{color:#818182;background-color:#ececf6}a.list-group-item-light.active,button.list-group-item-light.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}a.list-group-item-dark,button.list-group-item-dark{color:#1b1e21}a.list-group-item-dark:focus,a.list-group-item-dark:hover,button.list-group-item-dark:focus,button.list-group-item-dark:hover{color:#1b1e21;background-color:#b9bbbe}a.list-group-item-dark.active,button.list-group-item-dark.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:focus,.close:hover{color:#000;text-decoration:none;opacity:.75}button.close{padding:0;background:0 0;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.show .modal-dialog{-webkit-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;pointer-events:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:15px;border-bottom:1px solid #e9ecef;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:15px;margin:-15px -15px -15px auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:15px}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:15px;border-top:1px solid #e9ecef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:30px auto}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:5px;height:5px}.tooltip .arrow::before{position:absolute;border-color:transparent;border-style:solid}.tooltip.bs-tooltip-auto[x-placement^=top],.tooltip.bs-tooltip-top{padding:5px 0}.tooltip.bs-tooltip-auto[x-placement^=top] .arrow,.tooltip.bs-tooltip-top .arrow{bottom:0}.tooltip.bs-tooltip-auto[x-placement^=top] .arrow::before,.tooltip.bs-tooltip-top .arrow::before{margin-left:-3px;content:"";border-width:5px 5px 0;border-top-color:#000}.tooltip.bs-tooltip-auto[x-placement^=right],.tooltip.bs-tooltip-right{padding:0 5px}.tooltip.bs-tooltip-auto[x-placement^=right] .arrow,.tooltip.bs-tooltip-right .arrow{left:0}.tooltip.bs-tooltip-auto[x-placement^=right] .arrow::before,.tooltip.bs-tooltip-right .arrow::before{margin-top:-3px;content:"";border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.bs-tooltip-auto[x-placement^=bottom],.tooltip.bs-tooltip-bottom{padding:5px 0}.tooltip.bs-tooltip-auto[x-placement^=bottom] .arrow,.tooltip.bs-tooltip-bottom .arrow{top:0}.tooltip.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.tooltip.bs-tooltip-bottom .arrow::before{margin-left:-3px;content:"";border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bs-tooltip-auto[x-placement^=left],.tooltip.bs-tooltip-left{padding:0 5px}.tooltip.bs-tooltip-auto[x-placement^=left] .arrow,.tooltip.bs-tooltip-left .arrow{right:0}.tooltip.bs-tooltip-auto[x-placement^=left] .arrow::before,.tooltip.bs-tooltip-left .arrow::before{right:0;margin-top:-3px;content:"";border-width:5px 0 5px 5px;border-left-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;border-color:transparent;border-style:solid}.popover .arrow::before{content:"";border-width:.8rem}.popover .arrow::after{content:"";border-width:.8rem}.popover.bs-popover-auto[x-placement^=top],.popover.bs-popover-top{margin-bottom:.8rem}.popover.bs-popover-auto[x-placement^=top] .arrow,.popover.bs-popover-top .arrow{bottom:0}.popover.bs-popover-auto[x-placement^=top] .arrow::after,.popover.bs-popover-auto[x-placement^=top] .arrow::before,.popover.bs-popover-top .arrow::after,.popover.bs-popover-top .arrow::before{border-bottom-width:0}.popover.bs-popover-auto[x-placement^=top] .arrow::before,.popover.bs-popover-top .arrow::before{bottom:-.8rem;margin-left:-.8rem;border-top-color:rgba(0,0,0,.25)}.popover.bs-popover-auto[x-placement^=top] .arrow::after,.popover.bs-popover-top .arrow::after{bottom:calc((.8rem - 1px) * -1);margin-left:-.8rem;border-top-color:#fff}.popover.bs-popover-auto[x-placement^=right],.popover.bs-popover-right{margin-left:.8rem}.popover.bs-popover-auto[x-placement^=right] .arrow,.popover.bs-popover-right .arrow{left:0}.popover.bs-popover-auto[x-placement^=right] .arrow::after,.popover.bs-popover-auto[x-placement^=right] .arrow::before,.popover.bs-popover-right .arrow::after,.popover.bs-popover-right .arrow::before{margin-top:-.8rem;border-left-width:0}.popover.bs-popover-auto[x-placement^=right] .arrow::before,.popover.bs-popover-right .arrow::before{left:-.8rem;border-right-color:rgba(0,0,0,.25)}.popover.bs-popover-auto[x-placement^=right] .arrow::after,.popover.bs-popover-right .arrow::after{left:calc((.8rem - 1px) * -1);border-right-color:#fff}.popover.bs-popover-auto[x-placement^=bottom],.popover.bs-popover-bottom{margin-top:.8rem}.popover.bs-popover-auto[x-placement^=bottom] .arrow,.popover.bs-popover-bottom .arrow{top:0}.popover.bs-popover-auto[x-placement^=bottom] .arrow::after,.popover.bs-popover-auto[x-placement^=bottom] .arrow::before,.popover.bs-popover-bottom .arrow::after,.popover.bs-popover-bottom .arrow::before{margin-left:-.8rem;border-top-width:0}.popover.bs-popover-auto[x-placement^=bottom] .arrow::before,.popover.bs-popover-bottom .arrow::before{top:-.8rem;border-bottom-color:rgba(0,0,0,.25)}.popover.bs-popover-auto[x-placement^=bottom] .arrow::after,.popover.bs-popover-bottom .arrow::after{top:calc((.8rem - 1px) * -1);border-bottom-color:#fff}.popover.bs-popover-auto[x-placement^=bottom] .popover-header::before,.popover.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:20px;margin-left:-10px;content:"";border-bottom:1px solid #f7f7f7}.popover.bs-popover-auto[x-placement^=left],.popover.bs-popover-left{margin-right:.8rem}.popover.bs-popover-auto[x-placement^=left] .arrow,.popover.bs-popover-left .arrow{right:0}.popover.bs-popover-auto[x-placement^=left] .arrow::after,.popover.bs-popover-auto[x-placement^=left] .arrow::before,.popover.bs-popover-left .arrow::after,.popover.bs-popover-left .arrow::before{margin-top:-.8rem;border-right-width:0}.popover.bs-popover-auto[x-placement^=left] .arrow::before,.popover.bs-popover-left .arrow::before{right:-.8rem;border-left-color:rgba(0,0,0,.25)}.popover.bs-popover-auto[x-placement^=left] .arrow::after,.popover.bs-popover-left .arrow::after{right:calc((.8rem - 1px) * -1);border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;color:inherit;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;-ms-flex-align:center;align-items:center;width:100%;transition:-webkit-transform .6s ease;transition:transform .6s ease;transition:transform .6s ease,-webkit-transform .6s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translateX(100%);transform:translateX(100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translateX(-100%);transform:translateX(-100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:transparent no-repeat center center;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;background-color:rgba(255,255,255,.5)}.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators .active{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}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#868e96!important}a.bg-secondary:focus,a.bg-secondary:hover{background-color:#6c757d!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #e9ecef!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#868e96!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-circle{border-radius:50%!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.d-print-block{display:none!important}@media print{.d-print-block{display:block!important}}.d-print-inline{display:none!important}@media print{.d-print-inline{display:inline!important}}.d-print-inline-block{display:none!important}@media print{.d-print-inline-block{display:inline-block!important}}@media print{.d-print-none{display:none!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.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-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;-webkit-clip-path:inset(50%);clip-path:inset(50%);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;-webkit-clip-path:none;clip-path:none}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0062cc!important}.text-secondary{color:#868e96!important}a.text-secondary:focus,a.text-secondary:hover{color:#6c757d!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#1e7e34!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#117a8b!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#d39e00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#bd2130!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#dae0e5!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#1d2124!important}.text-muted{color:#868e96!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.visible{visibility:visible!important}.invisible{visibility:hidden!important} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/workspace/public/css/bootstrap.min.css.map b/workspace/public/css/bootstrap.min.css.map new file mode 100644 index 0000000..e19dbfe --- /dev/null +++ b/workspace/public/css/bootstrap.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_print.scss","dist/css/bootstrap.css","../../scss/_reboot.scss","bootstrap.css","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/mixins/_transition.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_forms.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/mixins/_gradients.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/mixins/_clearfix.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"print\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"utilities\";\n",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type\n\n// Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request:\n// http://www.phpied.com/delay-loading-your-print-css/\n// ==========================================================================\n\n@if $enable-print-styles {\n @media print {\n *,\n *::before,\n *::after {\n // Bootstrap specific; comment out `color` and `background`\n //color: #000 !important; // Black prints faster: http://www.sanbeiji.com/archives/953\n text-shadow: none !important;\n //background: transparent !important;\n box-shadow: none !important;\n }\n\n a,\n a:visited {\n text-decoration: underline;\n }\n\n // Bootstrap specific; comment the following selector out\n //a[href]::after {\n // content: \" (\" attr(href) \")\";\n //}\n\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n\n // Bootstrap specific; comment the following selector out\n //\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n //\n\n //a[href^=\"#\"]::after,\n //a[href^=\"javascript:\"]::after {\n // content: \"\";\n //}\n\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: $border-width solid #999; // Bootstrap custom code; using `$border-width` instead of 1px\n page-break-inside: avoid;\n }\n\n //\n // Printing Tables:\n // http://css-discuss.incutio.com/wiki/Printing_Tables\n //\n\n thead {\n display: table-header-group;\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .badge {\n border: $border-width solid #000;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: #fff !important;\n }\n }\n .table-bordered {\n th,\n td {\n border: 1px solid #ddd !important;\n }\n }\n\n // Bootstrap specific changes end\n }\n}\n","/*!\n * Bootstrap v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #868e96;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #868e96;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n --font-family-monospace: \"SFMono-Regular\", Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput:not([type=\"range\"]),\nlabel,\nselect,\nsummary,\ntextarea {\n -ms-touch-action: manipulation;\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #868e96;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.2;\n color: inherit;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 5px;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #868e96;\n}\n\n.blockquote-footer::before {\n content: \"\\2014 \\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 0.25rem;\n transition: all 0.2s ease-in-out;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #868e96;\n}\n\ncode,\nkbd,\npre,\nsamp {\n font-family: \"SFMono-Regular\", Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\ncode {\n padding: 0.2rem 0.4rem;\n font-size: 90%;\n color: #bd4147;\n background-color: #f8f9fa;\n border-radius: 0.25rem;\n}\n\na > code {\n padding: 0;\n color: inherit;\n background-color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 90%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n font-size: 90%;\n color: #212529;\n}\n\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n background-color: transparent;\n border-radius: 0;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n -ms-flex-order: -1;\n order: -1;\n}\n\n.order-1 {\n -ms-flex-order: 1;\n order: 1;\n}\n\n.order-2 {\n -ms-flex-order: 2;\n order: 2;\n}\n\n.order-3 {\n -ms-flex-order: 3;\n order: 3;\n}\n\n.order-4 {\n -ms-flex-order: 4;\n order: 4;\n}\n\n.order-5 {\n -ms-flex-order: 5;\n order: 5;\n}\n\n.order-6 {\n -ms-flex-order: 6;\n order: 6;\n}\n\n.order-7 {\n -ms-flex-order: 7;\n order: 7;\n}\n\n.order-8 {\n -ms-flex-order: 8;\n order: 8;\n}\n\n.order-9 {\n -ms-flex-order: 9;\n order: 9;\n}\n\n.order-10 {\n -ms-flex-order: 10;\n order: 10;\n}\n\n.order-11 {\n -ms-flex-order: 11;\n order: 11;\n}\n\n.order-12 {\n -ms-flex-order: 12;\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-sm-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-sm-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-sm-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-sm-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-sm-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-sm-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-sm-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-sm-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-sm-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-sm-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-sm-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-sm-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-md-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-md-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-md-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-md-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-md-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-md-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-md-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-md-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-md-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-md-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-md-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-md-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-lg-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-lg-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-lg-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-lg-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-lg-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-lg-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-lg-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-lg-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-lg-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-lg-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-lg-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-lg-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-xl-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-xl-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-xl-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-xl-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-xl-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-xl-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-xl-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-xl-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-xl-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-xl-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-xl-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-xl-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n background-color: transparent;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #e9ecef;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #e9ecef;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #e9ecef;\n}\n\n.table .table {\n background-color: #fff;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #e9ecef;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #e9ecef;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #dddfe2;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #cfd2d6;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #cfd2d6;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #212529;\n border-color: #32383e;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #e9ecef;\n}\n\n.table-dark {\n color: #fff;\n background-color: #212529;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #32383e;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-sm.table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-md.table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-lg.table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-xl.table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n.table-responsive.table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-image: none;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: none;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::-webkit-input-placeholder {\n color: #868e96;\n opacity: 1;\n}\n\n.form-control:-ms-input-placeholder {\n color: #868e96;\n opacity: 1;\n}\n\n.form-control::-ms-input-placeholder {\n color: #868e96;\n opacity: 1;\n}\n\n.form-control::placeholder {\n color: #868e96;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\nselect.form-control:not([size]):not([multiple]) {\n height: calc(2.25rem + 2px);\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.col-form-legend {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n margin-bottom: 0;\n font-size: 1rem;\n}\n\n.form-control-plaintext {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n margin-bottom: 0;\n line-height: 1.5;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .input-group-sm > .form-control-plaintext.form-control,\n.input-group-sm > .form-control-plaintext.input-group-addon,\n.input-group-sm > .input-group-btn > .form-control-plaintext.btn, .form-control-plaintext.form-control-lg, .input-group-lg > .form-control-plaintext.form-control,\n.input-group-lg > .form-control-plaintext.input-group-addon,\n.input-group-lg > .input-group-btn > .form-control-plaintext.btn {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm, .input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\nselect.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),\n.input-group-sm > select.input-group-addon:not([size]):not([multiple]),\n.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) {\n height: calc(1.8125rem + 2px);\n}\n\n.form-control-lg, .input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),\n.input-group-lg > select.input-group-addon:not([size]):not([multiple]),\n.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) {\n height: calc(2.875rem + 2px);\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n margin-bottom: 0.5rem;\n}\n\n.form-check.disabled .form-check-label {\n color: #868e96;\n}\n\n.form-check-label {\n padding-left: 1.25rem;\n margin-bottom: 0;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.25rem;\n margin-left: -1.25rem;\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-label {\n vertical-align: middle;\n}\n\n.valid-feedback {\n display: none;\n margin-top: .25rem;\n font-size: .875rem;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n width: 250px;\n padding: .5rem;\n margin-top: .1rem;\n font-size: .875rem;\n line-height: 1;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.8);\n border-radius: .2rem;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid, .was-validated\n.custom-select:valid,\n.custom-select.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated\n.custom-select:valid:focus,\n.custom-select.is-valid:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-control:valid ~ .valid-feedback,\n.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n.form-control.is-valid ~ .valid-tooltip, .was-validated\n.custom-select:valid ~ .valid-feedback,\n.was-validated\n.custom-select:valid ~ .valid-tooltip,\n.custom-select.is-valid ~ .valid-feedback,\n.custom-select.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:valid + .form-check-label, .form-check-input.is-valid + .form-check-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-indicator, .custom-control-input.is-valid ~ .custom-control-indicator {\n background-color: rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-description, .custom-control-input.is-valid ~ .custom-control-description {\n color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-control, .custom-file-input.is-valid ~ .custom-file-control {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-control::before, .custom-file-input.is-valid ~ .custom-file-control::before {\n border-color: inherit;\n}\n\n.was-validated .custom-file-input:valid:focus, .custom-file-input.is-valid:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n margin-top: .25rem;\n font-size: .875rem;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n width: 250px;\n padding: .5rem;\n margin-top: .1rem;\n font-size: .875rem;\n line-height: 1;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.8);\n border-radius: .2rem;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated\n.custom-select:invalid,\n.custom-select.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated\n.custom-select:invalid:focus,\n.custom-select.is-invalid:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-control:invalid ~ .invalid-feedback,\n.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n.form-control.is-invalid ~ .invalid-tooltip, .was-validated\n.custom-select:invalid ~ .invalid-feedback,\n.was-validated\n.custom-select:invalid ~ .invalid-tooltip,\n.custom-select.is-invalid ~ .invalid-feedback,\n.custom-select.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:invalid + .form-check-label, .form-check-input.is-invalid + .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-indicator, .custom-control-input.is-invalid ~ .custom-control-indicator {\n background-color: rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-description, .custom-control-input.is-invalid ~ .custom-control-description {\n color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-control, .custom-file-input.is-invalid ~ .custom-file-control {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-control::before, .custom-file-input.is-invalid ~ .custom-file-control::before {\n border-color: inherit;\n}\n\n.was-validated .custom-file-input:invalid:focus, .custom-file-input.is-invalid:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: -ms-flexbox;\n display: flex;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n -ms-flex-align: center;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group {\n width: auto;\n }\n .form-inline .form-check {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n width: auto;\n margin-top: 0;\n margin-bottom: 0;\n }\n .form-inline .form-check-label {\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n padding-left: 0;\n }\n .form-inline .custom-control-indicator {\n position: static;\n display: inline-block;\n margin-right: 0.25rem;\n vertical-align: text-bottom;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n.btn:focus, .btn:hover {\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: .65;\n}\n\n.btn:not([disabled]):not(.disabled):active, .btn:not([disabled]):not(.disabled).active {\n background-image: none;\n}\n\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not([disabled]):not(.disabled):active, .btn-primary:not([disabled]):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #868e96;\n border-color: #868e96;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #727b84;\n border-color: #6c757d;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n background-color: #868e96;\n border-color: #868e96;\n}\n\n.btn-secondary:not([disabled]):not(.disabled):active, .btn-secondary:not([disabled]):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #666e76;\n box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not([disabled]):not(.disabled):active, .btn-success:not([disabled]):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not([disabled]):not(.disabled):active, .btn-info:not([disabled]):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-warning {\n color: #111;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #111;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not([disabled]):not(.disabled):active, .btn-warning:not([disabled]):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #111;\n background-color: #d39e00;\n border-color: #c69500;\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not([disabled]):not(.disabled):active, .btn-danger:not([disabled]):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-light {\n color: #111;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #111;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not([disabled]):not(.disabled):active, .btn-light:not([disabled]):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #111;\n background-color: #dae0e5;\n border-color: #d3d9df;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not([disabled]):not(.disabled):active, .btn-dark:not([disabled]):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n background-color: transparent;\n background-image: none;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not([disabled]):not(.disabled):active, .btn-outline-primary:not([disabled]):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #868e96;\n background-color: transparent;\n background-image: none;\n border-color: #868e96;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #868e96;\n border-color: #868e96;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #868e96;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not([disabled]):not(.disabled):active, .btn-outline-secondary:not([disabled]):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #868e96;\n border-color: #868e96;\n box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n background-color: transparent;\n background-image: none;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not([disabled]):not(.disabled):active, .btn-outline-success:not([disabled]):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n background-color: transparent;\n background-image: none;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not([disabled]):not(.disabled):active, .btn-outline-info:not([disabled]):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n background-color: transparent;\n background-image: none;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #fff;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not([disabled]):not(.disabled):active, .btn-outline-warning:not([disabled]):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #fff;\n background-color: #ffc107;\n border-color: #ffc107;\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n background-color: transparent;\n background-image: none;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not([disabled]):not(.disabled):active, .btn-outline-danger:not([disabled]):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n background-color: transparent;\n background-image: none;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not([disabled]):not(.disabled):active, .btn-outline-light:not([disabled]):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n background-color: transparent;\n background-image: none;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not([disabled]):not(.disabled):active, .btn-outline-dark:not([disabled]):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n background-color: transparent;\n border-color: transparent;\n}\n\n.btn-link:focus, .btn-link.focus {\n border-color: transparent;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #868e96;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n opacity: 0;\n transition: opacity 0.15s linear;\n}\n\n.fade.show {\n opacity: 1;\n}\n\n.collapse {\n display: none;\n}\n\n.collapse.show {\n display: block;\n}\n\ntr.collapse.show {\n display: table-row;\n}\n\ntbody.collapse.show {\n display: table-row-group;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n.dropup,\n.dropdown {\n position: relative;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropup .dropdown-menu {\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background: none;\n border: 0;\n}\n\n.dropdown-item:focus, .dropdown-item:hover {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #868e96;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #868e96;\n white-space: nowrap;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: -ms-inline-flexbox;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n -ms-flex: 0 1 auto;\n flex: 0 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 2;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group,\n.btn-group-vertical .btn + .btn,\n.btn-group-vertical .btn + .btn-group,\n.btn-group-vertical .btn-group + .btn,\n.btn-group-vertical .btn-group + .btn-group {\n margin-left: -1px;\n}\n\n.btn-toolbar {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group > .btn-group {\n float: left;\n}\n\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn + .dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.btn + .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-align: start;\n align-items: flex-start;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n.btn-group-vertical .btn,\n.btn-group-vertical .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: stretch;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group .form-control {\n position: relative;\n z-index: 2;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0;\n}\n\n.input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover {\n z-index: 3;\n}\n\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n\n.input-group-addon,\n.input-group-btn {\n white-space: nowrap;\n}\n\n.input-group-addon {\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-addon.form-control-sm,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .input-group-addon.btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-addon.form-control-lg,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .input-group-addon.btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group .form-control:not(:last-child),\n.input-group-addon:not(:last-child),\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group > .btn,\n.input-group-btn:not(:last-child) > .dropdown-toggle,\n.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group-addon:not(:last-child) {\n border-right: 0;\n}\n\n.input-group .form-control:not(:first-child),\n.input-group-addon:not(:first-child),\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group > .btn,\n.input-group-btn:not(:first-child) > .dropdown-toggle,\n.input-group-btn:not(:last-child) > .btn:not(:first-child),\n.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.form-control + .input-group-addon:not(:first-child) {\n border-left: 0;\n}\n\n.input-group-btn {\n position: relative;\n -ms-flex-align: stretch;\n align-items: stretch;\n font-size: 0;\n white-space: nowrap;\n}\n\n.input-group-btn > .btn {\n position: relative;\n}\n\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n\n.input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover {\n z-index: 3;\n}\n\n.input-group-btn:first-child > .btn + .btn {\n margin-left: 0;\n}\n\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group {\n margin-right: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group {\n z-index: 2;\n margin-left: 0;\n}\n\n.input-group-btn:not(:first-child) > .btn:first-child,\n.input-group-btn:not(:first-child) > .btn-group:first-child {\n margin-left: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover,\n.input-group-btn:not(:first-child) > .btn-group:focus,\n.input-group-btn:not(:first-child) > .btn-group:active,\n.input-group-btn:not(:first-child) > .btn-group:hover {\n z-index: 3;\n}\n\n.custom-control {\n position: relative;\n display: -ms-inline-flexbox;\n display: inline-flex;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-indicator {\n color: #fff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-indicator {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:active ~ .custom-control-indicator {\n color: #fff;\n background-color: #b3d7ff;\n}\n\n.custom-control-input:disabled ~ .custom-control-indicator {\n background-color: #e9ecef;\n}\n\n.custom-control-input:disabled ~ .custom-control-description {\n color: #868e96;\n}\n\n.custom-control-indicator {\n position: absolute;\n top: 0.25rem;\n left: 0;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-color: #ddd;\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 50% 50%;\n}\n\n.custom-checkbox .custom-control-indicator {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator {\n background-color: #007bff;\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\");\n}\n\n.custom-radio .custom-control-indicator {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-indicator {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\");\n}\n\n.custom-controls-stacked {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n\n.custom-controls-stacked .custom-control {\n margin-bottom: 0.25rem;\n}\n\n.custom-controls-stacked .custom-control + .custom-control {\n margin-left: 0;\n}\n\n.custom-select {\n display: inline-block;\n max-width: 100%;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right 0.75rem center;\n background-size: 8px 10px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: none;\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple] {\n height: auto;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #868e96;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n opacity: 0;\n}\n\n.custom-select-sm {\n height: calc(1.8125rem + 2px);\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 75%;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n max-width: 100%;\n height: calc(2.25rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n min-width: 14rem;\n max-width: 100%;\n height: calc(2.25rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-control {\n box-shadow: 0 0 0 0.075rem #fff, 0 0 0 0.2rem #007bff;\n}\n\n.custom-file-control {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 5;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-control:lang(en):empty::after {\n content: \"Choose file...\";\n}\n\n.custom-file-control::before {\n position: absolute;\n top: -1px;\n right: -1px;\n bottom: -1px;\n z-index: 6;\n display: block;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-file-control:lang(en)::before {\n content: \"Browse\";\n}\n\n.nav {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:focus, .nav-link:hover {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #868e96;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {\n border-color: #e9ecef #e9ecef #ddd;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #868e96;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #ddd #ddd #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: justify;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:focus, .navbar-brand:hover {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n -ms-flex-preferred-size: 100%;\n flex-basis: 100%;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:focus, .navbar-toggler:hover {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n .navbar-expand-sm .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n@media (max-width: 767px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n .navbar-expand-md .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n@media (max-width: 991px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n .navbar-expand-lg .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n@media (max-width: 1199px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n .navbar-expand-xl .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n.navbar-expand {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-expand .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:focus, .navbar-light .navbar-text a:hover {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:focus, .navbar-dark .navbar-brand:hover {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:focus, .navbar-dark .navbar-text a:hover {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img {\n width: 100%;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-top {\n width: 100%;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n width: 100%;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n display: -ms-flexbox;\n display: flex;\n -ms-flex: 1 0 0%;\n flex: 1 0 0%;\n -ms-flex-direction: column;\n flex-direction: column;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n\n.card-group .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n }\n .card-group .card {\n -ms-flex: 1 0 0%;\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group .card:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group .card:first-child .card-img-top {\n border-top-right-radius: 0;\n }\n .card-group .card:first-child .card-img-bottom {\n border-bottom-right-radius: 0;\n }\n .card-group .card:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group .card:last-child .card-img-top {\n border-top-left-radius: 0;\n }\n .card-group .card:last-child .card-img-bottom {\n border-bottom-left-radius: 0;\n }\n .card-group .card:only-child {\n border-radius: 0.25rem;\n }\n .card-group .card:only-child .card-img-top {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n }\n .card-group .card:only-child .card-img-bottom {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n }\n .card-group .card:not(:first-child):not(:last-child):not(:only-child) {\n border-radius: 0;\n }\n .card-group .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top,\n .card-group .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom {\n border-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n -webkit-column-count: 3;\n column-count: 3;\n -webkit-column-gap: 1.25rem;\n column-gap: 1.25rem;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.breadcrumb {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n color: #868e96;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #868e96;\n}\n\n.pagination {\n display: -ms-flexbox;\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #868e96;\n pointer-events: none;\n background-color: #fff;\n border-color: #ddd;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n\n.page-link:focus, .page-link:hover {\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #ddd;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\n.badge-primary[href]:focus, .badge-primary[href]:hover {\n color: #fff;\n text-decoration: none;\n background-color: #0062cc;\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #868e96;\n}\n\n.badge-secondary[href]:focus, .badge-secondary[href]:hover {\n color: #fff;\n text-decoration: none;\n background-color: #6c757d;\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\n.badge-success[href]:focus, .badge-success[href]:hover {\n color: #fff;\n text-decoration: none;\n background-color: #1e7e34;\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\n.badge-info[href]:focus, .badge-info[href]:hover {\n color: #fff;\n text-decoration: none;\n background-color: #117a8b;\n}\n\n.badge-warning {\n color: #111;\n background-color: #ffc107;\n}\n\n.badge-warning[href]:focus, .badge-warning[href]:hover {\n color: #111;\n text-decoration: none;\n background-color: #d39e00;\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\n.badge-danger[href]:focus, .badge-danger[href]:hover {\n color: #fff;\n text-decoration: none;\n background-color: #bd2130;\n}\n\n.badge-light {\n color: #111;\n background-color: #f8f9fa;\n}\n\n.badge-light[href]:focus, .badge-light[href]:hover {\n color: #111;\n text-decoration: none;\n background-color: #dae0e5;\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.badge-dark[href]:focus, .badge-dark[href]:hover {\n color: #fff;\n text-decoration: none;\n background-color: #1d2124;\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #464a4e;\n background-color: #e7e8ea;\n border-color: #dddfe2;\n}\n\n.alert-secondary hr {\n border-top-color: #cfd2d6;\n}\n\n.alert-secondary .alert-link {\n color: #2e3133;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: -ms-flexbox;\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n color: #fff;\n background-color: #007bff;\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n -webkit-animation: progress-bar-stripes 1s linear infinite;\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n.media {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: start;\n align-items: flex-start;\n}\n\n.media-body {\n -ms-flex: 1;\n flex: 1;\n}\n\n.list-group {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:focus, .list-group-item-action:hover {\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item:focus, .list-group-item:hover {\n text-decoration: none;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #868e96;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\na.list-group-item-primary,\nbutton.list-group-item-primary {\n color: #004085;\n}\n\na.list-group-item-primary:focus, a.list-group-item-primary:hover,\nbutton.list-group-item-primary:focus,\nbutton.list-group-item-primary:hover {\n color: #004085;\n background-color: #9fcdff;\n}\n\na.list-group-item-primary.active,\nbutton.list-group-item-primary.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #464a4e;\n background-color: #dddfe2;\n}\n\na.list-group-item-secondary,\nbutton.list-group-item-secondary {\n color: #464a4e;\n}\n\na.list-group-item-secondary:focus, a.list-group-item-secondary:hover,\nbutton.list-group-item-secondary:focus,\nbutton.list-group-item-secondary:hover {\n color: #464a4e;\n background-color: #cfd2d6;\n}\n\na.list-group-item-secondary.active,\nbutton.list-group-item-secondary.active {\n color: #fff;\n background-color: #464a4e;\n border-color: #464a4e;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #155724;\n}\n\na.list-group-item-success:focus, a.list-group-item-success:hover,\nbutton.list-group-item-success:focus,\nbutton.list-group-item-success:hover {\n color: #155724;\n background-color: #b1dfbb;\n}\n\na.list-group-item-success.active,\nbutton.list-group-item-success.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #0c5460;\n}\n\na.list-group-item-info:focus, a.list-group-item-info:hover,\nbutton.list-group-item-info:focus,\nbutton.list-group-item-info:hover {\n color: #0c5460;\n background-color: #abdde5;\n}\n\na.list-group-item-info.active,\nbutton.list-group-item-info.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #856404;\n}\n\na.list-group-item-warning:focus, a.list-group-item-warning:hover,\nbutton.list-group-item-warning:focus,\nbutton.list-group-item-warning:hover {\n color: #856404;\n background-color: #ffe8a1;\n}\n\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #721c24;\n}\n\na.list-group-item-danger:focus, a.list-group-item-danger:hover,\nbutton.list-group-item-danger:focus,\nbutton.list-group-item-danger:hover {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\na.list-group-item-light,\nbutton.list-group-item-light {\n color: #818182;\n}\n\na.list-group-item-light:focus, a.list-group-item-light:hover,\nbutton.list-group-item-light:focus,\nbutton.list-group-item-light:hover {\n color: #818182;\n background-color: #ececf6;\n}\n\na.list-group-item-light.active,\nbutton.list-group-item-light.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\na.list-group-item-dark,\nbutton.list-group-item-dark {\n color: #1b1e21;\n}\n\na.list-group-item-dark:focus, a.list-group-item-dark:hover,\nbutton.list-group-item-dark:focus,\nbutton.list-group-item-dark:hover {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\na.list-group-item-dark.active,\nbutton.list-group-item-dark.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:focus, .close:hover {\n color: #000;\n text-decoration: none;\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n outline: 0;\n}\n\n.modal.fade .modal-dialog {\n transition: -webkit-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;\n -webkit-transform: translate(0, -25%);\n transform: translate(0, -25%);\n}\n\n.modal.show .modal-dialog {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n pointer-events: none;\n}\n\n.modal-content {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: start;\n align-items: flex-start;\n -ms-flex-pack: justify;\n justify-content: space-between;\n padding: 15px;\n border-bottom: 1px solid #e9ecef;\n border-top-left-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n}\n\n.modal-header .close {\n padding: 15px;\n margin: -15px -15px -15px auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n padding: 15px;\n}\n\n.modal-footer {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: end;\n justify-content: flex-end;\n padding: 15px;\n border-top: 1px solid #e9ecef;\n}\n\n.modal-footer > :not(:first-child) {\n margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 30px auto;\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg {\n max-width: 800px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 5px;\n height: 5px;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n border-color: transparent;\n border-style: solid;\n}\n\n.tooltip.bs-tooltip-top, .tooltip.bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 5px 0;\n}\n\n.tooltip.bs-tooltip-top .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.tooltip.bs-tooltip-top .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n margin-left: -3px;\n content: \"\";\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n\n.tooltip.bs-tooltip-right, .tooltip.bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 5px;\n}\n\n.tooltip.bs-tooltip-right .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n}\n\n.tooltip.bs-tooltip-right .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n margin-top: -3px;\n content: \"\";\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n\n.tooltip.bs-tooltip-bottom, .tooltip.bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 5px 0;\n}\n\n.tooltip.bs-tooltip-bottom .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.tooltip.bs-tooltip-bottom .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n margin-left: -3px;\n content: \"\";\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n\n.tooltip.bs-tooltip-left, .tooltip.bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 5px;\n}\n\n.tooltip.bs-tooltip-left .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n}\n\n.tooltip.bs-tooltip-left .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n right: 0;\n margin-top: -3px;\n content: \"\";\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.popover .arrow::before,\n.popover .arrow::after {\n position: absolute;\n display: block;\n border-color: transparent;\n border-style: solid;\n}\n\n.popover .arrow::before {\n content: \"\";\n border-width: 0.8rem;\n}\n\n.popover .arrow::after {\n content: \"\";\n border-width: 0.8rem;\n}\n\n.popover.bs-popover-top, .popover.bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.8rem;\n}\n\n.popover.bs-popover-top .arrow, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.popover.bs-popover-top .arrow::before, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::before,\n.popover.bs-popover-top .arrow::after, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n border-bottom-width: 0;\n}\n\n.popover.bs-popover-top .arrow::before, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::before {\n bottom: -0.8rem;\n margin-left: -0.8rem;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-top .arrow::after, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n bottom: calc((0.8rem - 1px) * -1);\n margin-left: -0.8rem;\n border-top-color: #fff;\n}\n\n.popover.bs-popover-right, .popover.bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.8rem;\n}\n\n.popover.bs-popover-right .arrow, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n}\n\n.popover.bs-popover-right .arrow::before, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::before,\n.popover.bs-popover-right .arrow::after, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n margin-top: -0.8rem;\n border-left-width: 0;\n}\n\n.popover.bs-popover-right .arrow::before, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::before {\n left: -0.8rem;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-right .arrow::after, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n left: calc((0.8rem - 1px) * -1);\n border-right-color: #fff;\n}\n\n.popover.bs-popover-bottom, .popover.bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.8rem;\n}\n\n.popover.bs-popover-bottom .arrow, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.popover.bs-popover-bottom .arrow::before, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::before,\n.popover.bs-popover-bottom .arrow::after, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n margin-left: -0.8rem;\n border-top-width: 0;\n}\n\n.popover.bs-popover-bottom .arrow::before, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::before {\n top: -0.8rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-bottom .arrow::after, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n top: calc((0.8rem - 1px) * -1);\n border-bottom-color: #fff;\n}\n\n.popover.bs-popover-bottom .popover-header::before, .popover.bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 20px;\n margin-left: -10px;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.popover.bs-popover-left, .popover.bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.8rem;\n}\n\n.popover.bs-popover-left .arrow, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n}\n\n.popover.bs-popover-left .arrow::before, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::before,\n.popover.bs-popover-left .arrow::after, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n margin-top: -0.8rem;\n border-right-width: 0;\n}\n\n.popover.bs-popover-left .arrow::before, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::before {\n right: -0.8rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-left .arrow::after, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n right: calc((0.8rem - 1px) * -1);\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n color: inherit;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n -ms-flex-align: center;\n align-items: center;\n width: 100%;\n transition: -webkit-transform 0.6s ease;\n transition: transform 0.6s ease;\n transition: transform 0.6s ease, -webkit-transform 0.6s ease;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n perspective: 1000px;\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n.carousel-item-next.carousel-item-left,\n.carousel-item-prev.carousel-item-right {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n}\n\n@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n}\n\n.carousel-item-next,\n.active.carousel-item-right {\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n}\n\n@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) {\n .carousel-item-next,\n .active.carousel-item-right {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n}\n\n.carousel-item-prev,\n.active.carousel-item-left {\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%);\n}\n\n@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) {\n .carousel-item-prev,\n .active.carousel-item-left {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n}\n\n.carousel-control-prev:focus, .carousel-control-prev:hover,\n.carousel-control-next:focus,\n.carousel-control-next:hover {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: .9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n position: relative;\n -ms-flex: 0 1 auto;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n background-color: rgba(255, 255, 255, 0.5);\n}\n\n.carousel-indicators li::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators li::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators .active {\n background-color: #fff;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:focus, a.bg-primary:hover {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #868e96 !important;\n}\n\na.bg-secondary:focus, a.bg-secondary:hover {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:focus, a.bg-success:hover {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:focus, a.bg-info:hover {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:focus, a.bg-warning:hover {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:focus, a.bg-danger:hover {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:focus, a.bg-light:hover {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:focus, a.bg-dark:hover {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #e9ecef !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #868e96 !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n}\n\n.d-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-md-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n.d-print-block {\n display: none !important;\n}\n\n@media print {\n .d-print-block {\n display: block !important;\n }\n}\n\n.d-print-inline {\n display: none !important;\n}\n\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n}\n\n.d-print-inline-block {\n display: none !important;\n}\n\n@media print {\n .d-print-inline-block {\n display: inline-block !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n}\n\n.flex-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n}\n\n.justify-content-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n}\n\n.align-items-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n}\n\n.align-items-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n}\n\n.align-items-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n}\n\n.align-items-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n}\n\n.align-content-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n}\n\n.align-content-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n}\n\n.align-content-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n}\n\n.align-content-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n}\n\n.align-content-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n}\n\n.align-self-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n}\n\n.align-self-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n}\n\n.align-self-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n}\n\n.align-self-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n}\n\n.align-self-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-sm-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-sm-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-sm-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-sm-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-sm-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-sm-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-sm-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-sm-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-md-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-md-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-md-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-md-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-md-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-md-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-md-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-md-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-md-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-md-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-md-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-md-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-md-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-md-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-md-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-md-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-lg-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-lg-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-lg-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-lg-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-lg-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-lg-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-lg-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-lg-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-xl-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-xl-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-xl-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-xl-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-xl-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-xl-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-xl-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-xl-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: -webkit-sticky !important;\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports ((position: -webkit-sticky) or (position: sticky)) {\n .sticky-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n -webkit-clip-path: none;\n clip-path: none;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:focus, a.text-primary:hover {\n color: #0062cc !important;\n}\n\n.text-secondary {\n color: #868e96 !important;\n}\n\na.text-secondary:focus, a.text-secondary:hover {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:focus, a.text-success:hover {\n color: #1e7e34 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:focus, a.text-info:hover {\n color: #117a8b !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:focus, a.text-warning:hover {\n color: #d39e00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:focus, a.text-danger:hover {\n color: #bd2130 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:focus, a.text-light:hover {\n color: #dae0e5 !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:focus, a.text-dark:hover {\n color: #1d2124 !important;\n}\n\n.text-muted {\n color: #868e96 !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n// we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -ms-text-size-adjust: 100%; // 4\n -ms-overflow-style: scrollbar; // 5\n -webkit-tap-highlight-color: rgba(0,0,0,0); // 6\n}\n\n// IE10+ doesn't honor `<meta name=\"viewport\">` in some cases.\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n font-size: $font-size-base;\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\n// stylelint-disable font-family-no-duplicate-names\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n// stylelint-enable font-family-no-duplicate-names\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg:not(:root) {\n overflow: hidden; // Hide the overflow in IE\n}\n\n\n// Avoid 300ms click delay on touch devices that support the `touch-action` CSS property.\n//\n// In particular, unlike most other browsers, IE11+Edge on Windows 10 on touch devices and IE Mobile 10-11\n// DON'T remove the click delay when `<meta name=\"viewport\" content=\"width=device-width\">` is present.\n// However, they DO support removing the click delay via `touch-action: manipulation`.\n// See:\n// * https://getbootstrap.com/docs/4.0/content/reboot/#click-delay-optimization-for-touch\n// * https://caniuse.com/#feat=css-touch-action\n// * https://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput:not([type=\"range\"]),\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $text-muted;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `<td>` alignment by inheriting from the `<body>`, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: .5rem;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap v4.0.0-beta.2 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #868e96;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #868e96;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n --font-family-monospace: \"SFMono-Regular\", Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput:not([type=\"range\"]),\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #868e96;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.2;\n color: inherit;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 5px;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #868e96;\n}\n\n.blockquote-footer::before {\n content: \"\\2014 \\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 0.25rem;\n transition: all 0.2s ease-in-out;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #868e96;\n}\n\ncode,\nkbd,\npre,\nsamp {\n font-family: \"SFMono-Regular\", Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\ncode {\n padding: 0.2rem 0.4rem;\n font-size: 90%;\n color: #bd4147;\n background-color: #f8f9fa;\n border-radius: 0.25rem;\n}\n\na > code {\n padding: 0;\n color: inherit;\n background-color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 90%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n font-size: 90%;\n color: #212529;\n}\n\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n background-color: transparent;\n border-radius: 0;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .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-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .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-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .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-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n background-color: transparent;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #e9ecef;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #e9ecef;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #e9ecef;\n}\n\n.table .table {\n background-color: #fff;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #e9ecef;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #e9ecef;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #dddfe2;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #cfd2d6;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #cfd2d6;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #212529;\n border-color: #32383e;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #e9ecef;\n}\n\n.table-dark {\n color: #fff;\n background-color: #212529;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #32383e;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-sm.table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-md.table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-lg.table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-xl.table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n.table-responsive.table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-image: none;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: none;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::placeholder {\n color: #868e96;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\nselect.form-control:not([size]):not([multiple]) {\n height: calc(2.25rem + 2px);\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.col-form-legend {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n margin-bottom: 0;\n font-size: 1rem;\n}\n\n.form-control-plaintext {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n margin-bottom: 0;\n line-height: 1.5;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .input-group-sm > .form-control-plaintext.form-control,\n.input-group-sm > .form-control-plaintext.input-group-addon,\n.input-group-sm > .input-group-btn > .form-control-plaintext.btn, .form-control-plaintext.form-control-lg, .input-group-lg > .form-control-plaintext.form-control,\n.input-group-lg > .form-control-plaintext.input-group-addon,\n.input-group-lg > .input-group-btn > .form-control-plaintext.btn {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm, .input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\nselect.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),\n.input-group-sm > select.input-group-addon:not([size]):not([multiple]),\n.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) {\n height: calc(1.8125rem + 2px);\n}\n\n.form-control-lg, .input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),\n.input-group-lg > select.input-group-addon:not([size]):not([multiple]),\n.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) {\n height: calc(2.875rem + 2px);\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n margin-bottom: 0.5rem;\n}\n\n.form-check.disabled .form-check-label {\n color: #868e96;\n}\n\n.form-check-label {\n padding-left: 1.25rem;\n margin-bottom: 0;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.25rem;\n margin-left: -1.25rem;\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-label {\n vertical-align: middle;\n}\n\n.valid-feedback {\n display: none;\n margin-top: .25rem;\n font-size: .875rem;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n width: 250px;\n padding: .5rem;\n margin-top: .1rem;\n font-size: .875rem;\n line-height: 1;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.8);\n border-radius: .2rem;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid, .was-validated\n.custom-select:valid,\n.custom-select.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated\n.custom-select:valid:focus,\n.custom-select.is-valid:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-control:valid ~ .valid-feedback,\n.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n.form-control.is-valid ~ .valid-tooltip, .was-validated\n.custom-select:valid ~ .valid-feedback,\n.was-validated\n.custom-select:valid ~ .valid-tooltip,\n.custom-select.is-valid ~ .valid-feedback,\n.custom-select.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:valid + .form-check-label, .form-check-input.is-valid + .form-check-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-indicator, .custom-control-input.is-valid ~ .custom-control-indicator {\n background-color: rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-description, .custom-control-input.is-valid ~ .custom-control-description {\n color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-control, .custom-file-input.is-valid ~ .custom-file-control {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-control::before, .custom-file-input.is-valid ~ .custom-file-control::before {\n border-color: inherit;\n}\n\n.was-validated .custom-file-input:valid:focus, .custom-file-input.is-valid:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n margin-top: .25rem;\n font-size: .875rem;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n width: 250px;\n padding: .5rem;\n margin-top: .1rem;\n font-size: .875rem;\n line-height: 1;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.8);\n border-radius: .2rem;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated\n.custom-select:invalid,\n.custom-select.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated\n.custom-select:invalid:focus,\n.custom-select.is-invalid:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-control:invalid ~ .invalid-feedback,\n.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n.form-control.is-invalid ~ .invalid-tooltip, .was-validated\n.custom-select:invalid ~ .invalid-feedback,\n.was-validated\n.custom-select:invalid ~ .invalid-tooltip,\n.custom-select.is-invalid ~ .invalid-feedback,\n.custom-select.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:invalid + .form-check-label, .form-check-input.is-invalid + .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-indicator, .custom-control-input.is-invalid ~ .custom-control-indicator {\n background-color: rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-description, .custom-control-input.is-invalid ~ .custom-control-description {\n color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-control, .custom-file-input.is-invalid ~ .custom-file-control {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-control::before, .custom-file-input.is-invalid ~ .custom-file-control::before {\n border-color: inherit;\n}\n\n.was-validated .custom-file-input:invalid:focus, .custom-file-input.is-invalid:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n margin-top: 0;\n margin-bottom: 0;\n }\n .form-inline .form-check-label {\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: 0;\n }\n .form-inline .custom-control-indicator {\n position: static;\n display: inline-block;\n margin-right: 0.25rem;\n vertical-align: text-bottom;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n.btn:focus, .btn:hover {\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: .65;\n}\n\n.btn:not([disabled]):not(.disabled):active, .btn:not([disabled]):not(.disabled).active {\n background-image: none;\n}\n\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not([disabled]):not(.disabled):active, .btn-primary:not([disabled]):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #868e96;\n border-color: #868e96;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #727b84;\n border-color: #6c757d;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n background-color: #868e96;\n border-color: #868e96;\n}\n\n.btn-secondary:not([disabled]):not(.disabled):active, .btn-secondary:not([disabled]):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #666e76;\n box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not([disabled]):not(.disabled):active, .btn-success:not([disabled]):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not([disabled]):not(.disabled):active, .btn-info:not([disabled]):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-warning {\n color: #111;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #111;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not([disabled]):not(.disabled):active, .btn-warning:not([disabled]):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #111;\n background-color: #d39e00;\n border-color: #c69500;\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not([disabled]):not(.disabled):active, .btn-danger:not([disabled]):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-light {\n color: #111;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #111;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not([disabled]):not(.disabled):active, .btn-light:not([disabled]):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #111;\n background-color: #dae0e5;\n border-color: #d3d9df;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not([disabled]):not(.disabled):active, .btn-dark:not([disabled]):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n background-color: transparent;\n background-image: none;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not([disabled]):not(.disabled):active, .btn-outline-primary:not([disabled]):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #868e96;\n background-color: transparent;\n background-image: none;\n border-color: #868e96;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #868e96;\n border-color: #868e96;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #868e96;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not([disabled]):not(.disabled):active, .btn-outline-secondary:not([disabled]):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #868e96;\n border-color: #868e96;\n box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n background-color: transparent;\n background-image: none;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not([disabled]):not(.disabled):active, .btn-outline-success:not([disabled]):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n background-color: transparent;\n background-image: none;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not([disabled]):not(.disabled):active, .btn-outline-info:not([disabled]):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n background-color: transparent;\n background-image: none;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #fff;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not([disabled]):not(.disabled):active, .btn-outline-warning:not([disabled]):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #fff;\n background-color: #ffc107;\n border-color: #ffc107;\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n background-color: transparent;\n background-image: none;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not([disabled]):not(.disabled):active, .btn-outline-danger:not([disabled]):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n background-color: transparent;\n background-image: none;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not([disabled]):not(.disabled):active, .btn-outline-light:not([disabled]):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n background-color: transparent;\n background-image: none;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not([disabled]):not(.disabled):active, .btn-outline-dark:not([disabled]):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n background-color: transparent;\n border-color: transparent;\n}\n\n.btn-link:focus, .btn-link.focus {\n border-color: transparent;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #868e96;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n opacity: 0;\n transition: opacity 0.15s linear;\n}\n\n.fade.show {\n opacity: 1;\n}\n\n.collapse {\n display: none;\n}\n\n.collapse.show {\n display: block;\n}\n\ntr.collapse.show {\n display: table-row;\n}\n\ntbody.collapse.show {\n display: table-row-group;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n.dropup,\n.dropdown {\n position: relative;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropup .dropdown-menu {\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background: none;\n border: 0;\n}\n\n.dropdown-item:focus, .dropdown-item:hover {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #868e96;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #868e96;\n white-space: nowrap;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 0 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 2;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group,\n.btn-group-vertical .btn + .btn,\n.btn-group-vertical .btn + .btn-group,\n.btn-group-vertical .btn-group + .btn,\n.btn-group-vertical .btn-group + .btn-group {\n margin-left: -1px;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group > .btn-group {\n float: left;\n}\n\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn + .dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.btn + .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical .btn,\n.btn-group-vertical .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group .form-control {\n position: relative;\n z-index: 2;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0;\n}\n\n.input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover {\n z-index: 3;\n}\n\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: flex;\n align-items: center;\n}\n\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n\n.input-group-addon,\n.input-group-btn {\n white-space: nowrap;\n}\n\n.input-group-addon {\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-addon.form-control-sm,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .input-group-addon.btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-addon.form-control-lg,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .input-group-addon.btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group .form-control:not(:last-child),\n.input-group-addon:not(:last-child),\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group > .btn,\n.input-group-btn:not(:last-child) > .dropdown-toggle,\n.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group-addon:not(:last-child) {\n border-right: 0;\n}\n\n.input-group .form-control:not(:first-child),\n.input-group-addon:not(:first-child),\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group > .btn,\n.input-group-btn:not(:first-child) > .dropdown-toggle,\n.input-group-btn:not(:last-child) > .btn:not(:first-child),\n.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.form-control + .input-group-addon:not(:first-child) {\n border-left: 0;\n}\n\n.input-group-btn {\n position: relative;\n align-items: stretch;\n font-size: 0;\n white-space: nowrap;\n}\n\n.input-group-btn > .btn {\n position: relative;\n}\n\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n\n.input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover {\n z-index: 3;\n}\n\n.input-group-btn:first-child > .btn + .btn {\n margin-left: 0;\n}\n\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group {\n margin-right: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group {\n z-index: 2;\n margin-left: 0;\n}\n\n.input-group-btn:not(:first-child) > .btn:first-child,\n.input-group-btn:not(:first-child) > .btn-group:first-child {\n margin-left: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover,\n.input-group-btn:not(:first-child) > .btn-group:focus,\n.input-group-btn:not(:first-child) > .btn-group:active,\n.input-group-btn:not(:first-child) > .btn-group:hover {\n z-index: 3;\n}\n\n.custom-control {\n position: relative;\n display: inline-flex;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-indicator {\n color: #fff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-indicator {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:active ~ .custom-control-indicator {\n color: #fff;\n background-color: #b3d7ff;\n}\n\n.custom-control-input:disabled ~ .custom-control-indicator {\n background-color: #e9ecef;\n}\n\n.custom-control-input:disabled ~ .custom-control-description {\n color: #868e96;\n}\n\n.custom-control-indicator {\n position: absolute;\n top: 0.25rem;\n left: 0;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n user-select: none;\n background-color: #ddd;\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 50% 50%;\n}\n\n.custom-checkbox .custom-control-indicator {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator {\n background-color: #007bff;\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\");\n}\n\n.custom-radio .custom-control-indicator {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-indicator {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\");\n}\n\n.custom-controls-stacked {\n display: flex;\n flex-direction: column;\n}\n\n.custom-controls-stacked .custom-control {\n margin-bottom: 0.25rem;\n}\n\n.custom-controls-stacked .custom-control + .custom-control {\n margin-left: 0;\n}\n\n.custom-select {\n display: inline-block;\n max-width: 100%;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right 0.75rem center;\n background-size: 8px 10px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: none;\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple] {\n height: auto;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #868e96;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n opacity: 0;\n}\n\n.custom-select-sm {\n height: calc(1.8125rem + 2px);\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 75%;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n max-width: 100%;\n height: calc(2.25rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n min-width: 14rem;\n max-width: 100%;\n height: calc(2.25rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-control {\n box-shadow: 0 0 0 0.075rem #fff, 0 0 0 0.2rem #007bff;\n}\n\n.custom-file-control {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 5;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n pointer-events: none;\n user-select: none;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-control:lang(en):empty::after {\n content: \"Choose file...\";\n}\n\n.custom-file-control::before {\n position: absolute;\n top: -1px;\n right: -1px;\n bottom: -1px;\n z-index: 6;\n display: block;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-file-control:lang(en)::before {\n content: \"Browse\";\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:focus, .nav-link:hover {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #868e96;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {\n border-color: #e9ecef #e9ecef #ddd;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #868e96;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #ddd #ddd #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:focus, .navbar-brand:hover {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:focus, .navbar-toggler:hover {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n .navbar-expand-sm .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n@media (max-width: 767px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n .navbar-expand-md .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n@media (max-width: 991px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n .navbar-expand-lg .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n@media (max-width: 1199px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n .navbar-expand-xl .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-expand .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:focus, .navbar-light .navbar-text a:hover {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:focus, .navbar-dark .navbar-brand:hover {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:focus, .navbar-dark .navbar-text a:hover {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img {\n width: 100%;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-top {\n width: 100%;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n width: 100%;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck {\n display: flex;\n flex-direction: column;\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n display: flex;\n flex: 1 0 0%;\n flex-direction: column;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group {\n display: flex;\n flex-direction: column;\n}\n\n.card-group .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n flex-flow: row wrap;\n }\n .card-group .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group .card:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group .card:first-child .card-img-top {\n border-top-right-radius: 0;\n }\n .card-group .card:first-child .card-img-bottom {\n border-bottom-right-radius: 0;\n }\n .card-group .card:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group .card:last-child .card-img-top {\n border-top-left-radius: 0;\n }\n .card-group .card:last-child .card-img-bottom {\n border-bottom-left-radius: 0;\n }\n .card-group .card:only-child {\n border-radius: 0.25rem;\n }\n .card-group .card:only-child .card-img-top {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n }\n .card-group .card:only-child .card-img-bottom {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n }\n .card-group .card:not(:first-child):not(:last-child):not(:only-child) {\n border-radius: 0;\n }\n .card-group .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top,\n .card-group .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom {\n border-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n color: #868e96;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #868e96;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #868e96;\n pointer-events: none;\n background-color: #fff;\n border-color: #ddd;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n\n.page-link:focus, .page-link:hover {\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #ddd;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\n.badge-primary[href]:focus, .badge-primary[href]:hover {\n color: #fff;\n text-decoration: none;\n background-color: #0062cc;\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #868e96;\n}\n\n.badge-secondary[href]:focus, .badge-secondary[href]:hover {\n color: #fff;\n text-decoration: none;\n background-color: #6c757d;\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\n.badge-success[href]:focus, .badge-success[href]:hover {\n color: #fff;\n text-decoration: none;\n background-color: #1e7e34;\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\n.badge-info[href]:focus, .badge-info[href]:hover {\n color: #fff;\n text-decoration: none;\n background-color: #117a8b;\n}\n\n.badge-warning {\n color: #111;\n background-color: #ffc107;\n}\n\n.badge-warning[href]:focus, .badge-warning[href]:hover {\n color: #111;\n text-decoration: none;\n background-color: #d39e00;\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\n.badge-danger[href]:focus, .badge-danger[href]:hover {\n color: #fff;\n text-decoration: none;\n background-color: #bd2130;\n}\n\n.badge-light {\n color: #111;\n background-color: #f8f9fa;\n}\n\n.badge-light[href]:focus, .badge-light[href]:hover {\n color: #111;\n text-decoration: none;\n background-color: #dae0e5;\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.badge-dark[href]:focus, .badge-dark[href]:hover {\n color: #fff;\n text-decoration: none;\n background-color: #1d2124;\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #464a4e;\n background-color: #e7e8ea;\n border-color: #dddfe2;\n}\n\n.alert-secondary hr {\n border-top-color: #cfd2d6;\n}\n\n.alert-secondary .alert-link {\n color: #2e3133;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n align-items: center;\n justify-content: center;\n color: #fff;\n background-color: #007bff;\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:focus, .list-group-item-action:hover {\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item:focus, .list-group-item:hover {\n text-decoration: none;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #868e96;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\na.list-group-item-primary,\nbutton.list-group-item-primary {\n color: #004085;\n}\n\na.list-group-item-primary:focus, a.list-group-item-primary:hover,\nbutton.list-group-item-primary:focus,\nbutton.list-group-item-primary:hover {\n color: #004085;\n background-color: #9fcdff;\n}\n\na.list-group-item-primary.active,\nbutton.list-group-item-primary.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #464a4e;\n background-color: #dddfe2;\n}\n\na.list-group-item-secondary,\nbutton.list-group-item-secondary {\n color: #464a4e;\n}\n\na.list-group-item-secondary:focus, a.list-group-item-secondary:hover,\nbutton.list-group-item-secondary:focus,\nbutton.list-group-item-secondary:hover {\n color: #464a4e;\n background-color: #cfd2d6;\n}\n\na.list-group-item-secondary.active,\nbutton.list-group-item-secondary.active {\n color: #fff;\n background-color: #464a4e;\n border-color: #464a4e;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #155724;\n}\n\na.list-group-item-success:focus, a.list-group-item-success:hover,\nbutton.list-group-item-success:focus,\nbutton.list-group-item-success:hover {\n color: #155724;\n background-color: #b1dfbb;\n}\n\na.list-group-item-success.active,\nbutton.list-group-item-success.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #0c5460;\n}\n\na.list-group-item-info:focus, a.list-group-item-info:hover,\nbutton.list-group-item-info:focus,\nbutton.list-group-item-info:hover {\n color: #0c5460;\n background-color: #abdde5;\n}\n\na.list-group-item-info.active,\nbutton.list-group-item-info.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #856404;\n}\n\na.list-group-item-warning:focus, a.list-group-item-warning:hover,\nbutton.list-group-item-warning:focus,\nbutton.list-group-item-warning:hover {\n color: #856404;\n background-color: #ffe8a1;\n}\n\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #721c24;\n}\n\na.list-group-item-danger:focus, a.list-group-item-danger:hover,\nbutton.list-group-item-danger:focus,\nbutton.list-group-item-danger:hover {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\na.list-group-item-light,\nbutton.list-group-item-light {\n color: #818182;\n}\n\na.list-group-item-light:focus, a.list-group-item-light:hover,\nbutton.list-group-item-light:focus,\nbutton.list-group-item-light:hover {\n color: #818182;\n background-color: #ececf6;\n}\n\na.list-group-item-light.active,\nbutton.list-group-item-light.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\na.list-group-item-dark,\nbutton.list-group-item-dark {\n color: #1b1e21;\n}\n\na.list-group-item-dark:focus, a.list-group-item-dark:hover,\nbutton.list-group-item-dark:focus,\nbutton.list-group-item-dark:hover {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\na.list-group-item-dark.active,\nbutton.list-group-item-dark.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:focus, .close:hover {\n color: #000;\n text-decoration: none;\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n outline: 0;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -25%);\n}\n\n.modal.show .modal-dialog {\n transform: translate(0, 0);\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n pointer-events: none;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 15px;\n border-bottom: 1px solid #e9ecef;\n border-top-left-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n}\n\n.modal-header .close {\n padding: 15px;\n margin: -15px -15px -15px auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 15px;\n}\n\n.modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 15px;\n border-top: 1px solid #e9ecef;\n}\n\n.modal-footer > :not(:first-child) {\n margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 30px auto;\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg {\n max-width: 800px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 5px;\n height: 5px;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n border-color: transparent;\n border-style: solid;\n}\n\n.tooltip.bs-tooltip-top, .tooltip.bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 5px 0;\n}\n\n.tooltip.bs-tooltip-top .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.tooltip.bs-tooltip-top .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n margin-left: -3px;\n content: \"\";\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n\n.tooltip.bs-tooltip-right, .tooltip.bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 5px;\n}\n\n.tooltip.bs-tooltip-right .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n}\n\n.tooltip.bs-tooltip-right .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n margin-top: -3px;\n content: \"\";\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n\n.tooltip.bs-tooltip-bottom, .tooltip.bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 5px 0;\n}\n\n.tooltip.bs-tooltip-bottom .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.tooltip.bs-tooltip-bottom .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n margin-left: -3px;\n content: \"\";\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n\n.tooltip.bs-tooltip-left, .tooltip.bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 5px;\n}\n\n.tooltip.bs-tooltip-left .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n}\n\n.tooltip.bs-tooltip-left .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n right: 0;\n margin-top: -3px;\n content: \"\";\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.popover .arrow::before,\n.popover .arrow::after {\n position: absolute;\n display: block;\n border-color: transparent;\n border-style: solid;\n}\n\n.popover .arrow::before {\n content: \"\";\n border-width: 0.8rem;\n}\n\n.popover .arrow::after {\n content: \"\";\n border-width: 0.8rem;\n}\n\n.popover.bs-popover-top, .popover.bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.8rem;\n}\n\n.popover.bs-popover-top .arrow, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.popover.bs-popover-top .arrow::before, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::before,\n.popover.bs-popover-top .arrow::after, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n border-bottom-width: 0;\n}\n\n.popover.bs-popover-top .arrow::before, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::before {\n bottom: -0.8rem;\n margin-left: -0.8rem;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-top .arrow::after, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n bottom: calc((0.8rem - 1px) * -1);\n margin-left: -0.8rem;\n border-top-color: #fff;\n}\n\n.popover.bs-popover-right, .popover.bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.8rem;\n}\n\n.popover.bs-popover-right .arrow, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n}\n\n.popover.bs-popover-right .arrow::before, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::before,\n.popover.bs-popover-right .arrow::after, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n margin-top: -0.8rem;\n border-left-width: 0;\n}\n\n.popover.bs-popover-right .arrow::before, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::before {\n left: -0.8rem;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-right .arrow::after, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n left: calc((0.8rem - 1px) * -1);\n border-right-color: #fff;\n}\n\n.popover.bs-popover-bottom, .popover.bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.8rem;\n}\n\n.popover.bs-popover-bottom .arrow, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.popover.bs-popover-bottom .arrow::before, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::before,\n.popover.bs-popover-bottom .arrow::after, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n margin-left: -0.8rem;\n border-top-width: 0;\n}\n\n.popover.bs-popover-bottom .arrow::before, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::before {\n top: -0.8rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-bottom .arrow::after, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n top: calc((0.8rem - 1px) * -1);\n border-bottom-color: #fff;\n}\n\n.popover.bs-popover-bottom .popover-header::before, .popover.bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 20px;\n margin-left: -10px;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.popover.bs-popover-left, .popover.bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.8rem;\n}\n\n.popover.bs-popover-left .arrow, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n}\n\n.popover.bs-popover-left .arrow::before, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::before,\n.popover.bs-popover-left .arrow::after, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n margin-top: -0.8rem;\n border-right-width: 0;\n}\n\n.popover.bs-popover-left .arrow::before, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::before {\n right: -0.8rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-left .arrow::after, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n right: calc((0.8rem - 1px) * -1);\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n color: inherit;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n align-items: center;\n width: 100%;\n transition: transform 0.6s ease;\n backface-visibility: hidden;\n perspective: 1000px;\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n.carousel-item-next.carousel-item-left,\n.carousel-item-prev.carousel-item-right {\n transform: translateX(0);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n transform: translate3d(0, 0, 0);\n }\n}\n\n.carousel-item-next,\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-next,\n .active.carousel-item-right {\n transform: translate3d(100%, 0, 0);\n }\n}\n\n.carousel-item-prev,\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-prev,\n .active.carousel-item-left {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n}\n\n.carousel-control-prev:focus, .carousel-control-prev:hover,\n.carousel-control-next:focus,\n.carousel-control-next:hover {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: .9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n position: relative;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n background-color: rgba(255, 255, 255, 0.5);\n}\n\n.carousel-indicators li::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators li::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators .active {\n background-color: #fff;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:focus, a.bg-primary:hover {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #868e96 !important;\n}\n\na.bg-secondary:focus, a.bg-secondary:hover {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:focus, a.bg-success:hover {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:focus, a.bg-info:hover {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:focus, a.bg-warning:hover {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:focus, a.bg-danger:hover {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:focus, a.bg-light:hover {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:focus, a.bg-dark:hover {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #e9ecef !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #868e96 !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.d-print-block {\n display: none !important;\n}\n\n@media print {\n .d-print-block {\n display: block !important;\n }\n}\n\n.d-print-inline {\n display: none !important;\n}\n\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n}\n\n.d-print-inline-block {\n display: none !important;\n}\n\n@media print {\n .d-print-inline-block {\n display: inline-block !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n clip-path: inset(50%);\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n clip-path: none;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:focus, a.text-primary:hover {\n color: #0062cc !important;\n}\n\n.text-secondary {\n color: #868e96 !important;\n}\n\na.text-secondary:focus, a.text-secondary:hover {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:focus, a.text-success:hover {\n color: #1e7e34 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:focus, a.text-info:hover {\n color: #117a8b !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:focus, a.text-warning:hover {\n color: #d39e00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:focus, a.text-danger:hover {\n color: #bd2130 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:focus, a.text-light:hover {\n color: #dae0e5 !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:focus, a.text-dark:hover {\n color: #1d2124 !important;\n}\n\n.text-muted {\n color: #868e96 !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable indentation\n@mixin hover {\n // TODO: re-enable along with mq4-hover-shim\n// @if $enable-hover-media-query {\n// // See Media Queries Level 4: https://drafts.csswg.org/mediaqueries/#hover\n// // Currently shimmed by https://github.com/twbs/mq4-hover-shim\n// @media (hover: hover) {\n// &:hover { @content }\n// }\n// }\n// @else {\n &:hover { @content; }\n// }\n}\n\n\n@mixin hover-focus {\n @if $enable-hover-media-query {\n &:focus {\n @content;\n }\n @include hover { @content; }\n } @else {\n &:focus,\n &:hover {\n @content;\n }\n }\n}\n\n@mixin plain-hover-focus {\n @if $enable-hover-media-query {\n &,\n &:focus {\n @content;\n }\n @include hover { @content; }\n } @else {\n &,\n &:focus,\n &:hover {\n @content;\n }\n }\n}\n\n@mixin hover-focus-active {\n @if $enable-hover-media-query {\n &:focus,\n &:active {\n @content;\n }\n @include hover { @content; }\n } @else {\n &:focus,\n &:active,\n &:hover {\n @content;\n }\n }\n}\n","// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { font-size: $h1-font-size; }\nh2, .h2 { font-size: $h2-font-size; }\nh3, .h3 { font-size: $h3-font-size; }\nh4, .h4 { font-size: $h4-font-size; }\nh5, .h5 { font-size: $h5-font-size; }\nh6, .h6 { font-size: $h6-font-size; }\n\n.lead {\n font-size: $lead-font-size;\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n font-size: $display1-size;\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n font-size: $display2-size;\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n font-size: $display3-size;\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n font-size: $display4-size;\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n font-size: $small-font-size;\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled;\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n font-size: $blockquote-font-size;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%; // back to default font-size\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014 \\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid;\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include transition($thumbnail-transition);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid;\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: ($spacer / 2);\n line-height: 1;\n}\n\n.figure-caption {\n font-size: $figure-caption-font-size;\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n// stylelint-disable indentation, media-query-list-comma-newline-after\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn't convert dppx=>dpi.\n // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n}\n","// Single side border-radius\n\n@mixin border-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n","@mixin transition($transition...) {\n @if $enable-transitions {\n @if length($transition) == 0 {\n transition: $transition-base;\n } @else {\n transition: $transition;\n }\n }\n}\n","// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n font-family: $font-family-monospace;\n}\n\n// Inline code\ncode {\n padding: $code-padding-y $code-padding-x;\n font-size: $code-font-size;\n color: $code-color;\n background-color: $code-bg;\n @include border-radius($border-radius);\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n padding: 0;\n color: inherit;\n background-color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $code-padding-y $code-padding-x;\n font-size: $code-font-size;\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n font-size: 100%;\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n font-size: $code-font-size;\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n background-color: transparent;\n border-radius: 0;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n width: 100%;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.1.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - 1px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n min-height: 1px; // Prevent columns from collapsing when empty\n padding-right: ($gutter / 2);\n padding-left: ($gutter / 2);\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first {\n order: -1;\n }\n\n @for $i from 1 through $columns {\n .order#{$infix}-#{$i} {\n order: $i;\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: $spacer;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n\n .table {\n background-color: $body-bg;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: (2 * $table-border-width);\n }\n }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(odd) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover {\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, -9));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(odd) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover {\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar; // See https://github.com/twbs/bootstrap/pull/10057\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n &.table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n padding: $input-btn-padding-y $input-btn-padding-x;\n font-size: $font-size-base;\n line-height: $input-btn-line-height;\n color: $input-color;\n background-color: $input-bg;\n // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214.\n background-image: none;\n background-clip: padding-box;\n border: $input-btn-border-width solid $input-border-color;\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @if $enable-rounded {\n // Manually use the if/else instead of the mixin to account for iOS override\n border-radius: $input-border-radius;\n } @else {\n // Otherwise undo the iOS default\n border-radius: 0;\n }\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n background-color: transparent;\n border: 0;\n }\n\n // Customize the `:focus` state to imitate native WebKit styles.\n @include form-control-focus();\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled,\n &[readonly] {\n background-color: $input-disabled-bg;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\nselect.form-control {\n &:not([size]):not([multiple]) {\n height: $input-height;\n }\n\n &:focus::-ms-value {\n // Suppress the nested default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label text to\n// align with the form controls.\n.col-form-label {\n padding-top: calc(#{$input-btn-padding-y} + #{$input-btn-border-width});\n padding-bottom: calc(#{$input-btn-padding-y} + #{$input-btn-border-width});\n margin-bottom: 0; // Override the `<label>` default\n line-height: $input-btn-line-height;\n}\n\n.col-form-label-lg {\n padding-top: calc(#{$input-btn-padding-y-lg} + #{$input-btn-border-width});\n padding-bottom: calc(#{$input-btn-padding-y-lg} + #{$input-btn-border-width});\n font-size: $font-size-lg;\n line-height: $input-btn-line-height-lg;\n}\n\n.col-form-label-sm {\n padding-top: calc(#{$input-btn-padding-y-sm} + #{$input-btn-border-width});\n padding-bottom: calc(#{$input-btn-padding-y-sm} + #{$input-btn-border-width});\n font-size: $font-size-sm;\n line-height: $input-btn-line-height-sm;\n}\n\n\n//\n// Legends\n//\n\n// For use with horizontal and inline forms, when you need the legend text to\n// be the same size as regular labels, and to align with the form controls.\n.col-form-legend {\n padding-top: $input-btn-padding-y;\n padding-bottom: $input-btn-padding-y;\n margin-bottom: 0;\n font-size: $font-size-base;\n}\n\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n padding-top: $input-btn-padding-y;\n padding-bottom: $input-btn-padding-y;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n line-height: $input-btn-line-height;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-btn-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// The `.form-group-* form-control` variations are sadly duplicated to avoid the\n// issue documented in https://github.com/twbs/bootstrap/issues/15074.\n\n.form-control-sm {\n padding: $input-btn-padding-y-sm $input-btn-padding-x-sm;\n font-size: $font-size-sm;\n line-height: $input-btn-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\nselect.form-control-sm {\n &:not([size]):not([multiple]) {\n height: $input-height-sm;\n }\n}\n\n.form-control-lg {\n padding: $input-btn-padding-y-lg $input-btn-padding-x-lg;\n font-size: $font-size-lg;\n line-height: $input-btn-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\nselect.form-control-lg {\n &:not([size]):not([multiple]) {\n height: $input-height-lg;\n }\n}\n\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n margin-bottom: $form-group-margin-bottom;\n}\n\n.form-text {\n display: block;\n margin-top: $form-text-margin-top;\n}\n\n\n// Form grid\n//\n// Special replacement for our grid system's `.row` for tighter form layouts.\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n }\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.form-check {\n position: relative;\n display: block;\n margin-bottom: $form-check-margin-bottom;\n\n &.disabled {\n .form-check-label {\n color: $text-muted;\n }\n }\n}\n\n.form-check-label {\n padding-left: $form-check-input-gutter;\n margin-bottom: 0; // Override default `<label>` bottom margin\n}\n\n.form-check-input {\n position: absolute;\n margin-top: $form-check-input-margin-y;\n margin-left: -$form-check-input-gutter;\n}\n\n// Radios and checkboxes on same line\n.form-check-inline {\n display: inline-block;\n margin-right: $form-check-inline-margin-x;\n\n .form-check-label {\n vertical-align: middle;\n }\n}\n\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server side validation.\n\n@include form-validation-state(\"valid\", $form-feedback-valid-color);\n@include form-validation-state(\"invalid\", $form-feedback-invalid-color);\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)\n\n // Because we use flex, the initial sizing of checkboxes is collapsed and\n // doesn't occupy the full-width (which is what we want for xs grid tier),\n // so we force that here.\n .form-check {\n width: 100%;\n }\n\n // Kick in the inline\n @include media-breakpoint-up(sm) {\n label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n\n // Inline-block all the things for \"inline\"\n .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n\n // Allow folks to *not* use `.form-group`\n .form-control {\n display: inline-block;\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\n vertical-align: middle;\n }\n\n // Make static controls behave like regular ones\n .form-control-plaintext {\n display: inline-block;\n }\n\n .input-group {\n width: auto;\n }\n\n // Remove default margin on radios/checkboxes that were used for stacking, and\n // then undo the floating of radios and checkboxes to match.\n .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n margin-top: 0;\n margin-bottom: 0;\n }\n .form-check-label {\n padding-left: 0;\n }\n .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: $form-check-input-margin-x;\n margin-left: 0;\n }\n\n // Custom form controls\n .custom-control {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: 0;\n }\n .custom-control-indicator {\n position: static;\n display: inline-block;\n margin-right: $form-check-input-margin-x; // Flexbox alignment means we lose our HTML space here, so we compensate.\n vertical-align: text-bottom;\n }\n\n // Re-override the feedback icon.\n .has-feedback .form-control-feedback {\n top: 0;\n }\n }\n}\n","// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-focus-border-color` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus() {\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: none;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-btn-focus-box-shadow;\n } @else {\n box-shadow: $input-btn-focus-box-shadow;\n }\n }\n}\n\n\n@mixin form-validation-state($state, $color) {\n\n .#{$state}-feedback {\n display: none;\n margin-top: .25rem;\n font-size: .875rem;\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n width: 250px;\n padding: .5rem;\n margin-top: .1rem;\n font-size: .875rem;\n line-height: 1;\n color: #fff;\n background-color: rgba($color,.8);\n border-radius: .2rem;\n }\n\n .form-control,\n .custom-select {\n .was-validated &:#{$state},\n &.is-#{$state} {\n border-color: $color;\n\n &:focus {\n box-shadow: 0 0 0 .2rem rgba($color,.25);\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n\n // TODO: redo check markup lol crap\n .form-check-input {\n .was-validated &:#{$state},\n &.is-#{$state} {\n + .form-check-label {\n color: $color;\n }\n }\n }\n\n // custom radios and checks\n .custom-control-input {\n .was-validated &:#{$state},\n &.is-#{$state} {\n ~ .custom-control-indicator {\n background-color: rgba($color, .25);\n }\n ~ .custom-control-description {\n color: $color;\n }\n }\n }\n\n // custom file\n .custom-file-input {\n .was-validated &:#{$state},\n &.is-#{$state} {\n ~ .custom-file-control {\n border-color: $color;\n\n &::before { border-color: inherit; }\n }\n &:focus {\n box-shadow: 0 0 0 .2rem rgba($color,.25);\n }\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-weight: $btn-font-weight;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n border: $input-btn-border-width solid transparent;\n @include button-size($input-btn-padding-y, $input-btn-padding-x, $font-size-base, $input-btn-line-height, $btn-border-radius);\n @include transition($btn-transition);\n\n // Share hover and focus styles\n @include hover-focus {\n text-decoration: none;\n }\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: $input-btn-focus-box-shadow;\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n opacity: .65;\n @include box-shadow(none);\n }\n\n &:not([disabled]):not(.disabled):active,\n &:not([disabled]):not(.disabled).active {\n background-image: none;\n @include box-shadow($input-btn-focus-box-shadow, $btn-active-box-shadow);\n }\n}\n\n// Future-proof disabling of clicks on `<a>` elements\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @if $color == \"light\" {\n @include button-outline-variant($value, $gray-900);\n } @else {\n @include button-outline-variant($value, $white);\n }\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $link-color;\n background-color: transparent;\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n background-color: transparent;\n border-color: transparent;\n }\n\n &:focus,\n &.focus {\n border-color: transparent;\n box-shadow: none;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($input-btn-padding-y-lg, $input-btn-padding-x-lg, $font-size-lg, $input-btn-line-height-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($input-btn-padding-y-sm, $input-btn-padding-x-sm, $font-size-sm, $input-btn-line-height-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n// Vertically space out multiple block buttons\n.btn-block + .btn-block {\n margin-top: $btn-block-spacing-y;\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {\n color: color-yiq($background);\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n @include hover {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n &:focus,\n &.focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $btn-box-shadow, 0 0 0 $input-btn-focus-width rgba($border, .5);\n } @else {\n box-shadow: 0 0 0 $input-btn-focus-width rgba($border, .5);\n }\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n background-color: $background;\n border-color: $border;\n }\n\n &:not([disabled]):not(.disabled):active,\n &:not([disabled]):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n @if $enable-gradients {\n background-image: none; // Remove the gradient for the pressed/active state\n }\n border-color: $active-border;\n\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $btn-active-box-shadow, 0 0 0 $input-btn-focus-width rgba($border, .5);\n } @else {\n box-shadow: 0 0 0 $input-btn-focus-width rgba($border, .5);\n }\n }\n}\n\n@mixin button-outline-variant($color, $color-hover: #fff) {\n color: $color;\n background-color: transparent;\n background-image: none;\n border-color: $color;\n\n @include hover {\n color: $color-hover;\n background-color: $color;\n border-color: $color;\n }\n\n &:focus,\n &.focus {\n box-shadow: 0 0 0 $input-btn-focus-width rgba($color, .5);\n }\n\n &.disabled,\n &:disabled {\n color: $color;\n background-color: transparent;\n }\n\n &:not([disabled]):not(.disabled):active,\n &:not([disabled]):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: $color-hover;\n background-color: $color;\n border-color: $color;\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $input-btn-focus-width rgba($color, .5);\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n padding: $padding-y $padding-x;\n font-size: $font-size;\n line-height: $line-height;\n @include border-radius($border-radius);\n}\n","// Gradients\n\n@mixin gradient-bg($color) {\n @if $enable-gradients {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\n } @else {\n background-color: $color;\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n@mixin gradient-directional($start-color: #555, $end-color: #333, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n background-repeat: repeat-x;\n}\n@mixin gradient-x-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-y-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-radial($inner-color: #555, $outer-color: #333) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba(255,255,255,.15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n.fade {\n opacity: 0;\n @include transition($transition-fade);\n\n &.show {\n opacity: 1;\n }\n}\n\n.collapse {\n display: none;\n &.show {\n display: block;\n }\n}\n\ntr {\n &.collapse.show {\n display: table-row;\n }\n}\n\ntbody {\n &.collapse.show {\n display: table-row-group;\n }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n}\n","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropdown {\n position: relative;\n}\n\n.dropdown-toggle {\n // Generate the caret automatically\n @include caret;\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y 0;\n margin: $dropdown-spacer 0 0; // override default ul\n font-size: $font-size-base; // Redeclare because nesting can cause inheritance issues\n color: $body-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n @include nav-divider($dropdown-divider-bg);\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background: none; // For `<button>`s\n border: 0; // For `<button>`s\n\n @include hover-focus {\n color: $dropdown-link-hover-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-padding-y $dropdown-item-padding-x;\n margin-bottom: 0; // for use with heading elements\n font-size: $font-size-sm;\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n","@mixin caret-down {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: $caret-width * .85;\n vertical-align: $caret-width * .85;\n content: \"\";\n @if $direction == down {\n @include caret-down;\n } @else if $direction == up {\n @include caret-up;\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n@mixin nav-divider($color: #e5e5e5) {\n height: 0;\n margin: ($spacer / 2) 0;\n overflow: hidden;\n border-top: 1px solid $color;\n}\n","// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 0 1 auto;\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n @include hover {\n z-index: 2;\n }\n &:focus,\n &:active,\n &.active {\n z-index: 2;\n }\n }\n\n // Prevent double borders when buttons are next to each other\n .btn + .btn,\n .btn + .btn-group,\n .btn-group + .btn,\n .btn-group + .btn-group {\n margin-left: -$input-btn-border-width;\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n\n// Set corners individual because sometimes a single button can be in a .btn-group\n// and we need :first-child and :last-child to both match\n.btn-group > .btn:first-child {\n margin-left: 0;\n\n &:not(:last-child):not(.dropdown-toggle) {\n @include border-right-radius(0);\n }\n}\n// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu\n// immediately after it\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n @include border-left-radius(0);\n}\n\n// Custom edits for including btn-groups within btn-groups (useful for including\n// dropdown buttons within a btn-group)\n.btn-group > .btn-group {\n float: left;\n}\n\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n\n.btn-group > .btn-group:first-child:not(:last-child) {\n > .btn:last-child,\n > .dropdown-toggle {\n @include border-right-radius(0);\n }\n}\n\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n @include border-left-radius(0);\n}\n\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.btn + .dropdown-toggle-split {\n padding-right: $input-btn-padding-x * .75;\n padding-left: $input-btn-padding-x * .75;\n\n &::after {\n margin-left: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $input-btn-padding-x-sm * .75;\n padding-left: $input-btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $input-btn-padding-x-lg * .75;\n padding-left: $input-btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n .btn,\n .btn-group {\n width: 100%;\n }\n\n > .btn + .btn,\n > .btn + .btn-group,\n > .btn-group + .btn,\n > .btn-group + .btn-group {\n margin-top: -$input-btn-border-width;\n margin-left: 0;\n }\n\n > .btn {\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n\n &:first-child:not(:last-child) {\n @include border-bottom-radius(0);\n }\n\n &:last-child:not(:first-child) {\n @include border-top-radius(0);\n }\n }\n\n > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n }\n\n > .btn-group:first-child:not(:last-child) {\n > .btn:last-child,\n > .dropdown-toggle {\n @include border-bottom-radius(0);\n }\n }\n\n > .btn-group:last-child:not(:first-child) > .btn:first-child {\n @include border-top-radius(0);\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n[data-toggle=\"buttons\"] {\n > .btn,\n > .btn-group > .btn {\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0,0,0,0);\n pointer-events: none;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n align-items: stretch;\n width: 100%;\n\n .form-control {\n // Ensure that the input is always above the *appended* addon button for\n // proper border colors.\n position: relative;\n z-index: 2;\n flex: 1 1 auto;\n // Add width 1% and flex-basis auto to ensure that button will not wrap out\n // the column. Applies to IE Edge+ and Firefox. Chrome does not require this.\n width: 1%;\n margin-bottom: 0;\n\n // Bring the \"active\" form control to the front\n @include hover-focus-active {\n z-index: 3;\n }\n }\n}\n\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: flex;\n align-items: center;\n &:not(:first-child):not(:last-child) {\n @include border-radius(0);\n }\n}\n\n.input-group-addon,\n.input-group-btn {\n white-space: nowrap;\n}\n\n\n// Sizing options\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n @extend .form-control-lg;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n @extend .form-control-sm;\n}\n\n\n//\n// Text input groups\n//\n\n.input-group-addon {\n padding: $input-btn-padding-y $input-btn-padding-x;\n margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom\n font-size: $font-size-base; // Match inputs\n font-weight: $font-weight-normal;\n line-height: $input-btn-line-height;\n color: $input-group-addon-color;\n text-align: center;\n background-color: $input-group-addon-bg;\n border: $input-btn-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n\n // Sizing\n &.form-control-sm {\n padding: $input-btn-padding-y-sm $input-btn-padding-x-sm;\n font-size: $font-size-sm;\n @include border-radius($input-border-radius-sm);\n }\n\n &.form-control-lg {\n padding: $input-btn-padding-y-lg $input-btn-padding-x-lg;\n font-size: $font-size-lg;\n @include border-radius($input-border-radius-lg);\n }\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n\n//\n// Reset rounded corners\n//\n\n.input-group .form-control:not(:last-child),\n.input-group-addon:not(:last-child),\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group > .btn,\n.input-group-btn:not(:last-child) > .dropdown-toggle,\n.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n}\n.input-group-addon:not(:last-child) {\n border-right: 0;\n}\n.input-group .form-control:not(:first-child),\n.input-group-addon:not(:first-child),\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group > .btn,\n.input-group-btn:not(:first-child) > .dropdown-toggle,\n.input-group-btn:not(:last-child) > .btn:not(:first-child),\n.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n}\n.form-control + .input-group-addon:not(:first-child) {\n border-left: 0;\n}\n\n//\n// Button input groups\n//\n\n.input-group-btn {\n position: relative;\n align-items: stretch;\n // Jankily prevent input button groups from wrapping with `white-space` and\n // `font-size` in combination with `inline-block` on buttons.\n font-size: 0;\n white-space: nowrap;\n\n // Negative margin for spacing, position for bringing hovered/focused/actived\n // element above the siblings.\n > .btn {\n position: relative;\n\n + .btn {\n margin-left: (-$input-btn-border-width);\n }\n\n // Bring the \"active\" button to the front\n @include hover-focus-active {\n z-index: 3;\n }\n }\n\n &:first-child > .btn + .btn {\n margin-left: 0;\n }\n\n // Negative margin to only have a single, shared border between the two\n &:not(:last-child) {\n > .btn,\n > .btn-group {\n margin-right: (-$input-btn-border-width);\n }\n }\n &:not(:first-child) {\n > .btn,\n > .btn-group {\n z-index: 2;\n // remove nagative margin ($input-btn-border-width) to solve overlapping issue with button.\n margin-left: 0;\n\n // When input is first, overlap the right side of it with the button(-group)\n &:first-child {\n margin-left: (-$input-btn-border-width);\n }\n\n // Because specificity\n @include hover-focus-active {\n z-index: 3;\n }\n }\n }\n}\n","// Embedded icons from Open Iconic.\n// Released under MIT and copyright 2014 Waybury.\n// https://useiconic.com/open\n\n\n// Checkboxes and radios\n//\n// Base class takes care of all the key behavioral aspects.\n\n.custom-control {\n position: relative;\n display: inline-flex;\n min-height: (1rem * $line-height-base);\n padding-left: $custom-control-gutter;\n margin-right: $custom-control-spacer-x;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1; // Put the input behind the label so it doesn't overlay text\n opacity: 0;\n\n &:checked ~ .custom-control-indicator {\n color: $custom-control-indicator-checked-color;\n @include gradient-bg($custom-control-indicator-checked-bg);\n @include box-shadow($custom-control-indicator-checked-box-shadow);\n }\n\n &:focus ~ .custom-control-indicator {\n // the mixin is not used here to make sure there is feedback\n box-shadow: $custom-control-indicator-focus-box-shadow;\n }\n\n &:active ~ .custom-control-indicator {\n color: $custom-control-indicator-active-color;\n @include gradient-bg($custom-control-indicator-active-bg);\n @include box-shadow($custom-control-indicator-active-box-shadow);\n }\n\n &:disabled {\n ~ .custom-control-indicator {\n background-color: $custom-control-indicator-disabled-bg;\n }\n\n ~ .custom-control-description {\n color: $custom-control-description-disabled-color;\n }\n }\n}\n\n// Custom indicator\n//\n// Generates a shadow element to create our makeshift checkbox/radio background.\n\n.custom-control-indicator {\n position: absolute;\n top: (($line-height-base - $custom-control-indicator-size) / 2);\n left: 0;\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n pointer-events: none;\n user-select: none;\n background-color: $custom-control-indicator-bg;\n background-repeat: no-repeat;\n background-position: center center;\n background-size: $custom-control-indicator-bg-size;\n @include box-shadow($custom-control-indicator-box-shadow);\n}\n\n// Checkboxes\n//\n// Tweak just a few things for checkboxes.\n\n.custom-checkbox {\n .custom-control-indicator {\n @include border-radius($custom-checkbox-indicator-border-radius);\n }\n\n .custom-control-input:checked ~ .custom-control-indicator {\n background-image: $custom-checkbox-indicator-icon-checked;\n }\n\n .custom-control-input:indeterminate ~ .custom-control-indicator {\n background-color: $custom-checkbox-indicator-indeterminate-bg;\n background-image: $custom-checkbox-indicator-icon-indeterminate;\n @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);\n }\n}\n\n// Radios\n//\n// Tweak just a few things for radios.\n\n.custom-radio {\n .custom-control-indicator {\n border-radius: $custom-radio-indicator-border-radius;\n }\n\n .custom-control-input:checked ~ .custom-control-indicator {\n background-image: $custom-radio-indicator-icon-checked;\n }\n}\n\n\n// Layout options\n//\n// By default radios and checkboxes are `inline-block` with no additional spacing\n// set. Use these optional classes to tweak the layout.\n\n.custom-controls-stacked {\n display: flex;\n flex-direction: column;\n\n .custom-control {\n margin-bottom: $custom-control-spacer-y;\n\n + .custom-control {\n margin-left: 0;\n }\n }\n}\n\n\n// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// http://primercss.io.\n//\n\n.custom-select {\n display: inline-block;\n max-width: 100%;\n height: $input-height;\n padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;\n line-height: $custom-select-line-height;\n color: $custom-select-color;\n vertical-align: middle;\n background: $custom-select-bg $custom-select-indicator no-repeat right $custom-select-padding-x center;\n background-size: $custom-select-bg-size;\n border: $custom-select-border-width solid $custom-select-border-color;\n @if $enable-rounded {\n border-radius: $custom-select-border-radius;\n } @else {\n border-radius: 0;\n }\n appearance: none;\n\n &:focus {\n border-color: $custom-select-focus-border-color;\n outline: none;\n @include box-shadow($custom-select-focus-box-shadow);\n\n &::-ms-value {\n // For visual consistency with other platforms/browsers,\n // supress the default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n }\n\n &[multiple] {\n height: auto;\n background-image: none;\n }\n\n &:disabled {\n color: $custom-select-disabled-color;\n background-color: $custom-select-disabled-bg;\n }\n\n // Hides the default caret in IE11\n &::-ms-expand {\n opacity: 0;\n }\n}\n\n.custom-select-sm {\n height: $custom-select-height-sm;\n padding-top: $custom-select-padding-y;\n padding-bottom: $custom-select-padding-y;\n font-size: $custom-select-font-size-sm;\n}\n\n\n// File\n//\n// Custom file input.\n\n.custom-file {\n position: relative;\n display: inline-block;\n max-width: 100%;\n height: $custom-file-height;\n margin-bottom: 0;\n}\n\n.custom-file-input {\n min-width: $custom-file-width;\n max-width: 100%;\n height: $custom-file-height;\n margin: 0;\n opacity: 0;\n\n &:focus ~ .custom-file-control {\n box-shadow: $custom-file-focus-box-shadow;\n }\n}\n\n.custom-file-control {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 5;\n height: $custom-file-height;\n padding: $custom-file-padding-y $custom-file-padding-x;\n line-height: $custom-file-line-height;\n color: $custom-file-color;\n pointer-events: none;\n user-select: none;\n background-color: $custom-file-bg;\n border: $custom-file-border-width solid $custom-file-border-color;\n @include border-radius($custom-file-border-radius);\n @include box-shadow($custom-file-box-shadow);\n\n @each $lang, $text in map-get($custom-file-text, placeholder) {\n &:lang(#{$lang}):empty::after {\n content: $text;\n }\n }\n\n &::before {\n position: absolute;\n top: -$custom-file-border-width;\n right: -$custom-file-border-width;\n bottom: -$custom-file-border-width;\n z-index: 6;\n display: block;\n height: $custom-file-height;\n padding: $custom-file-padding-y $custom-file-padding-x;\n line-height: $custom-file-line-height;\n color: $custom-file-button-color;\n @include gradient-bg($custom-file-button-bg);\n border: $custom-file-border-width solid $custom-file-border-color;\n @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);\n }\n\n @each $lang, $text in map-get($custom-file-text, button-label) {\n &:lang(#{$lang})::before {\n content: $text;\n }\n }\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s or `<ul>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n\n @include hover-focus {\n text-decoration: none;\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-item {\n margin-bottom: -$nav-tabs-border-width;\n }\n\n .nav-link {\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n @include hover-focus {\n border-color: $nav-tabs-link-hover-border-color $nav-tabs-link-hover-border-color $nav-tabs-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color $nav-tabs-link-active-border-color $nav-tabs-link-active-bg;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n background-color: $nav-pills-link-active-bg;\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Navbar divider\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding: $navbar-padding-y $navbar-padding-x;\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properities so that content nested within behave properly.\n > .container,\n > .container-fluid {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n display: inline-block;\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-padding-x;\n font-size: $navbar-brand-font-size;\n line-height: inherit;\n white-space: nowrap;\n\n @include hover-focus {\n text-decoration: none;\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n float: none;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n display: inline-block;\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orienation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n font-size: $navbar-toggler-font-size;\n line-height: 1;\n background: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n\n @include hover-focus {\n text-decoration: none;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n > .container,\n > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n }\n\n @include media-breakpoint-up($next) {\n flex-flow: row nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .dropdown-menu-right {\n right: 0;\n left: auto; // Reset the default from `.dropdown-menu`\n }\n\n .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n }\n\n // For nesting containers, have to redeclare for alignment purposes\n > .container,\n > .container-fluid {\n flex-wrap: nowrap;\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n\n // Changes flex-bases to auto because of an IE10 bug\n flex-basis: auto;\n }\n\n .navbar-toggler {\n display: none;\n }\n\n .dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-active-color;\n\n @include hover-focus {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n @include hover-focus {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: $navbar-light-toggler-icon-bg;\n }\n\n .navbar-text {\n color: $navbar-light-color;\n a {\n color: $navbar-light-active-color;\n\n @include hover-focus {\n color: $navbar-light-active-color;\n }\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-active-color;\n\n @include hover-focus {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n @include hover-focus {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: $navbar-dark-toggler-icon-bg;\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a {\n color: $navbar-dark-active-color;\n\n @include hover-focus {\n color: $navbar-dark-active-color;\n }\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group:first-child {\n .list-group-item:first-child {\n @include border-top-radius($card-border-radius);\n }\n }\n\n > .list-group:last-child {\n .list-group-item:last-child {\n @include border-bottom-radius($card-border-radius);\n }\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n padding: $card-spacer-x;\n}\n\n.card-title {\n margin-bottom: $card-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -($card-spacer-y / 2);\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n @include hover {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-spacer-y $card-spacer-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n\n + .list-group {\n .list-group-item:first-child {\n border-top: 0;\n }\n }\n}\n\n.card-footer {\n padding: $card-spacer-y $card-spacer-x;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -($card-spacer-x / 2);\n margin-bottom: -$card-spacer-y;\n margin-left: -($card-spacer-x / 2);\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -($card-spacer-x / 2);\n margin-left: -($card-spacer-x / 2);\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n}\n\n.card-img {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n @include border-radius($card-inner-border-radius);\n}\n\n// Card image caps\n.card-img-top {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img-bottom {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n// Card deck\n\n.card-deck {\n display: flex;\n flex-direction: column;\n\n .card {\n margin-bottom: $card-deck-margin;\n }\n\n @include media-breakpoint-up(sm) {\n flex-flow: row wrap;\n margin-right: -$card-deck-margin;\n margin-left: -$card-deck-margin;\n\n .card {\n display: flex;\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#4-flex-shorthand-declarations-with-unitless-flex-basis-values-are-ignored\n flex: 1 0 0%;\n flex-direction: column;\n margin-right: $card-deck-margin;\n margin-bottom: 0; // Override the default\n margin-left: $card-deck-margin;\n }\n }\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n display: flex;\n flex-direction: column;\n\n .card {\n margin-bottom: $card-group-margin;\n }\n\n @include media-breakpoint-up(sm) {\n flex-flow: row wrap;\n\n .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#4-flex-shorthand-declarations-with-unitless-flex-basis-values-are-ignored\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:first-child {\n @include border-right-radius(0);\n\n .card-img-top {\n border-top-right-radius: 0;\n }\n .card-img-bottom {\n border-bottom-right-radius: 0;\n }\n }\n\n &:last-child {\n @include border-left-radius(0);\n\n .card-img-top {\n border-top-left-radius: 0;\n }\n .card-img-bottom {\n border-bottom-left-radius: 0;\n }\n }\n\n &:only-child {\n @include border-radius($card-border-radius);\n\n .card-img-top {\n @include border-top-radius($card-border-radius);\n }\n .card-img-bottom {\n @include border-bottom-radius($card-border-radius);\n }\n }\n\n &:not(:first-child):not(:last-child):not(:only-child) {\n border-radius: 0;\n\n .card-img-top,\n .card-img-bottom {\n border-radius: 0;\n }\n }\n }\n }\n }\n}\n\n\n//\n// Columns\n//\n\n.card-columns {\n .card {\n margin-bottom: $card-columns-margin;\n }\n\n @include media-breakpoint-up(sm) {\n column-count: $card-columns-count;\n column-gap: $card-columns-gap;\n\n .card {\n display: inline-block; // Don't let them vertically span multiple columns\n width: 100%; // Don't let their width change\n }\n }\n}\n",".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($border-radius);\n}\n\n.breadcrumb-item {\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item::before {\n display: inline-block; // Suppress underlining of the separator in modern browsers\n padding-right: $breadcrumb-item-padding;\n padding-left: $breadcrumb-item-padding;\n color: $breadcrumb-divider-color;\n content: \"#{$breadcrumb-divider}\";\n }\n\n // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built\n // without `<ul>`s. The `::before` pseudo-element generates an element\n // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.\n //\n // To trick IE into suppressing the underline, we give the pseudo-element an\n // underline and then immediately remove it.\n + .breadcrumb-item:hover::before {\n text-decoration: underline;\n }\n // stylelint-disable-next-line no-duplicate-selectors\n + .breadcrumb-item:hover::before {\n text-decoration: none;\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n",".pagination {\n display: flex;\n @include list-unstyled();\n @include border-radius();\n}\n\n.page-item {\n &:first-child {\n .page-link {\n margin-left: 0;\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n\n &.active .page-link {\n z-index: 2;\n color: $pagination-active-color;\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: $pagination-padding-y $pagination-padding-x;\n margin-left: -$pagination-border-width;\n line-height: $pagination-line-height;\n color: $pagination-color;\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n\n @include hover-focus {\n color: $pagination-hover-color;\n text-decoration: none;\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm);\n}\n","// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n font-size: $font-size;\n line-height: $line-height;\n }\n\n .page-item {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n font-size: $badge-font-size;\n font-weight: $badge-font-weight;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n// Pill badges\n//\n// Make them extra rounded with a modifier to replace v3's badges.\n\n.badge-pill {\n padding-right: $badge-pill-padding-x;\n padding-left: $badge-pill-padding-x;\n @include border-radius($badge-pill-border-radius);\n}\n\n// Colors\n//\n// Contextual variations (linked badges get darker on :hover).\n\n@each $color, $value in $theme-colors {\n .badge-#{$color} {\n @include badge-variant($value);\n }\n}\n","@mixin badge-variant($bg) {\n color: color-yiq($bg);\n background-color: $bg;\n\n &[href] {\n @include hover-focus {\n color: color-yiq($bg);\n text-decoration: none;\n background-color: darken($bg, 10%);\n }\n }\n}\n",".jumbotron {\n padding: $jumbotron-padding ($jumbotron-padding / 2);\n margin-bottom: $jumbotron-padding;\n background-color: $jumbotron-bg;\n @include border-radius($border-radius-lg);\n\n @include media-breakpoint-up(sm) {\n padding: ($jumbotron-padding * 2) $jumbotron-padding;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n @include border-radius(0);\n}\n","//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\n }\n}\n\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(theme-color-level($color, -10), theme-color-level($color, -9), theme-color-level($color, 6));\n }\n}\n","@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n hr {\n border-top-color: darken($border, 5%);\n }\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n","@keyframes progress-bar-stripes {\n from { background-position: $progress-height 0; }\n to { background-position: 0 0; }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n font-size: $progress-font-size;\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n}\n\n.progress-bar {\n display: flex;\n align-items: center;\n justify-content: center;\n color: $progress-bar-color;\n background-color: $progress-bar-bg;\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes $progress-bar-animation-timing;\n}\n",".media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n @include hover-focus {\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: $list-group-item-padding-y $list-group-item-padding-x;\n // Place the border on the list items and negative margin up for better styling\n margin-bottom: -$list-group-border-width;\n background-color: $list-group-bg;\n border: $list-group-border-width solid $list-group-border-color;\n\n &:first-child {\n @include border-top-radius($list-group-border-radius);\n }\n\n &:last-child {\n margin-bottom: 0;\n @include border-bottom-radius($list-group-border-radius);\n }\n\n @include hover-focus {\n text-decoration: none;\n }\n\n &.disabled,\n &:disabled {\n color: $list-group-disabled-color;\n background-color: $list-group-disabled-bg;\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n }\n\n &:first-child {\n .list-group-item:first-child {\n border-top: 0;\n }\n }\n\n &:last-child {\n .list-group-item:last-child {\n border-bottom: 0;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, theme-color-level($color, -9), theme-color-level($color, 6));\n}\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n }\n\n a.list-group-item-#{$state},\n button.list-group-item-#{$state} {\n color: $color;\n\n @include hover-focus {\n color: $color;\n background-color: darken($background, 5%);\n }\n\n &.active {\n color: #fff;\n background-color: $color;\n border-color: $color;\n }\n }\n}\n",".close {\n float: right;\n font-size: $close-font-size;\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n @include hover-focus {\n color: $close-color;\n text-decoration: none;\n opacity: .75;\n }\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n// stylelint-disable property-no-vendor-prefix, selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n// stylelint-enable\n","// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n// Kill the scroll on the body\n.modal-open {\n overflow: hidden;\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n\n // When fading in the modal, animate it to slide down\n &.fade .modal-dialog {\n @include transition($modal-transition);\n transform: translate(0, -25%);\n }\n &.show .modal-dialog { transform: translate(0, 0); }\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n // counteract the pointer-events: none; in the .modal-dialog\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($border-radius-lg);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n align-items: flex-start; // so the close btn always stays on the upper right corner\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($border-radius-lg);\n\n .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding) (-$modal-header-padding) (-$modal-header-padding) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when should there be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n\n // Easily place margin between footer elements\n > :not(:first-child) { margin-left: .25rem; }\n > :not(:last-child) { margin-right: .25rem; }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg { max-width: $modal-lg; }\n}\n","// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n font-size: $font-size-sm;\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: $tooltip-opacity; }\n\n .arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $tooltip-arrow-height;\n }\n\n .arrow::before {\n position: absolute;\n border-color: transparent;\n border-style: solid;\n }\n\n &.bs-tooltip-top {\n padding: $tooltip-arrow-width 0;\n .arrow {\n bottom: 0;\n }\n\n .arrow::before {\n margin-left: -($tooltip-arrow-width - 2);\n content: \"\";\n border-width: $tooltip-arrow-width $tooltip-arrow-width 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n &.bs-tooltip-right {\n padding: 0 $tooltip-arrow-width;\n .arrow {\n left: 0;\n }\n\n .arrow::before {\n margin-top: -($tooltip-arrow-width - 2);\n content: \"\";\n border-width: $tooltip-arrow-width $tooltip-arrow-width $tooltip-arrow-width 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n &.bs-tooltip-bottom {\n padding: $tooltip-arrow-width 0;\n .arrow {\n top: 0;\n }\n\n .arrow::before {\n margin-left: -($tooltip-arrow-width - 2);\n content: \"\";\n border-width: 0 $tooltip-arrow-width $tooltip-arrow-width;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n &.bs-tooltip-left {\n padding: 0 $tooltip-arrow-width;\n .arrow {\n right: 0;\n }\n\n .arrow::before {\n right: 0;\n margin-top: -($tooltip-arrow-width - 2);\n content: \"\";\n border-width: $tooltip-arrow-width 0 $tooltip-arrow-width $tooltip-arrow-width;\n border-left-color: $tooltip-arrow-color;\n }\n }\n &.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($border-radius);\n}\n","@mixin reset-text {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start; // stylelint-disable-line declaration-block-no-duplicate-properties\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n",".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n font-size: $font-size-sm;\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($border-radius-lg);\n @include box-shadow($popover-box-shadow);\n\n // Arrows\n //\n // .arrow is outer, .arrow::after is inner\n\n .arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n }\n\n .arrow::before,\n .arrow::after {\n position: absolute;\n display: block;\n border-color: transparent;\n border-style: solid;\n }\n\n .arrow::before {\n content: \"\";\n border-width: $popover-arrow-width;\n }\n .arrow::after {\n content: \"\";\n border-width: $popover-arrow-width;\n }\n\n // Popover directions\n\n &.bs-popover-top {\n margin-bottom: $popover-arrow-width;\n\n .arrow {\n bottom: 0;\n }\n\n .arrow::before,\n .arrow::after {\n border-bottom-width: 0;\n }\n\n .arrow::before {\n bottom: -$popover-arrow-width;\n margin-left: -$popover-arrow-width;\n border-top-color: $popover-arrow-outer-color;\n }\n\n .arrow::after {\n bottom: calc((#{$popover-arrow-width} - #{$popover-border-width}) * -1);\n margin-left: -$popover-arrow-width;\n border-top-color: $popover-arrow-color;\n }\n }\n\n &.bs-popover-right {\n margin-left: $popover-arrow-width;\n\n .arrow {\n left: 0;\n }\n\n .arrow::before,\n .arrow::after {\n margin-top: -$popover-arrow-width;\n border-left-width: 0;\n }\n\n .arrow::before {\n left: -$popover-arrow-width;\n border-right-color: $popover-arrow-outer-color;\n }\n\n .arrow::after {\n left: calc((#{$popover-arrow-width} - #{$popover-border-width}) * -1);\n border-right-color: $popover-arrow-color;\n }\n }\n\n &.bs-popover-bottom {\n margin-top: $popover-arrow-width;\n\n .arrow {\n top: 0;\n }\n\n .arrow::before,\n .arrow::after {\n margin-left: -$popover-arrow-width;\n border-top-width: 0;\n }\n\n .arrow::before {\n top: -$popover-arrow-width;\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n .arrow::after {\n top: calc((#{$popover-arrow-width} - #{$popover-border-width}) * -1);\n border-bottom-color: $popover-arrow-color;\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 20px;\n margin-left: -10px;\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n }\n\n &.bs-popover-left {\n margin-right: $popover-arrow-width;\n\n .arrow {\n right: 0;\n }\n\n .arrow::before,\n .arrow::after {\n margin-top: -$popover-arrow-width;\n border-right-width: 0;\n }\n\n .arrow::before {\n right: -$popover-arrow-width;\n border-left-color: $popover-arrow-outer-color;\n }\n\n .arrow::after {\n right: calc((#{$popover-arrow-width} - #{$popover-border-width}) * -1);\n border-left-color: $popover-arrow-color;\n }\n }\n &.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n font-size: $font-size-base;\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n $offset-border-width: calc(#{$border-radius-lg} - #{$popover-border-width});\n @include border-top-radius($offset-border-width);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n","// Wrapper for the slide container and indicators\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n align-items: center;\n width: 100%;\n @include transition($carousel-transition);\n backface-visibility: hidden;\n perspective: 1000px;\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n// CSS3 transforms when supported by the browser\n.carousel-item-next.carousel-item-left,\n.carousel-item-prev.carousel-item-right {\n transform: translateX(0);\n\n @supports (transform-style: preserve-3d) {\n transform: translate3d(0, 0, 0);\n }\n}\n\n.carousel-item-next,\n.active.carousel-item-right {\n transform: translateX(100%);\n\n @supports (transform-style: preserve-3d) {\n transform: translate3d(100%, 0, 0);\n }\n}\n\n.carousel-item-prev,\n.active.carousel-item-left {\n transform: translateX(-100%);\n\n @supports (transform-style: preserve-3d) {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n color: $carousel-control-color;\n text-align: center;\n opacity: $carousel-control-opacity;\n // We can't have a transition here because WebKit cancels the carousel\n // animation if you trip this while in the middle of another animation.\n\n // Hover/focus state\n @include hover-focus {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: .9;\n }\n}\n.carousel-control-prev {\n left: 0;\n @if $enable-gradients {\n background: linear-gradient(90deg, rgba(0,0,0,.25), rgba(0,0,0,.001));\n }\n}\n.carousel-control-next {\n right: 0;\n @if $enable-gradients {\n background: linear-gradient(270deg, rgba(0,0,0,.25), rgba(0,0,0,.001));\n }\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: $carousel-control-prev-icon-bg;\n}\n.carousel-control-next-icon {\n background-image: $carousel-control-next-icon-bg;\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n position: relative;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n background-color: rgba($carousel-indicator-active-bg, .5);\n\n // Use pseudo classes to increase the hit area by 10px on top and bottom.\n &::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n }\n &::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n }\n }\n\n .active {\n background-color: $carousel-indicator-active-bg;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: ((100% - $carousel-caption-width) / 2);\n bottom: 20px;\n left: ((100% - $carousel-caption-width) / 2);\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: $carousel-caption-color;\n text-align: center;\n}\n","// stylelint-disable declaration-no-important\n\n.align-baseline { vertical-align: baseline !important; } // Browser default\n.align-top { vertical-align: top !important; }\n.align-middle { vertical-align: middle !important; }\n.align-bottom { vertical-align: bottom !important; }\n.align-text-bottom { vertical-align: text-bottom !important; }\n.align-text-top { vertical-align: text-top !important; }\n","// stylelint-disable declaration-no-important\n\n// Contextual backgrounds\n\n@mixin bg-variant($parent, $color) {\n #{$parent} {\n background-color: $color !important;\n }\n a#{$parent} {\n @include hover-focus {\n background-color: darken($color, 10%) !important;\n }\n }\n}\n\n@mixin bg-gradient-variant($parent, $color) {\n #{$parent} {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;\n }\n}\n","// stylelint-disable declaration-no-important\n\n@each $color, $value in $theme-colors {\n @include bg-variant(\".bg-#{$color}\", $value);\n}\n\n@if $enable-gradients {\n @each $color, $value in $theme-colors {\n @include bg-gradient-variant(\".bg-gradient-#{$color}\", $value);\n }\n}\n\n.bg-white {\n background-color: $white !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Border\n//\n\n.border { border: $border-width solid $border-color !important; }\n.border-0 { border: 0 !important; }\n.border-top-0 { border-top: 0 !important; }\n.border-right-0 { border-right: 0 !important; }\n.border-bottom-0 { border-bottom: 0 !important; }\n.border-left-0 { border-left: 0 !important; }\n\n@each $color, $value in $theme-colors {\n .border-#{$color} {\n border-color: $value !important;\n }\n}\n\n.border-white {\n border-color: $white !important;\n}\n\n//\n// Border-radius\n//\n\n.rounded {\n border-radius: $border-radius !important;\n}\n.rounded-top {\n border-top-left-radius: $border-radius !important;\n border-top-right-radius: $border-radius !important;\n}\n.rounded-right {\n border-top-right-radius: $border-radius !important;\n border-bottom-right-radius: $border-radius !important;\n}\n.rounded-bottom {\n border-bottom-right-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n.rounded-left {\n border-top-left-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n","@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .d#{$infix}-none { display: none !important; }\n .d#{$infix}-inline { display: inline !important; }\n .d#{$infix}-inline-block { display: inline-block !important; }\n .d#{$infix}-block { display: block !important; }\n .d#{$infix}-table { display: table !important; }\n .d#{$infix}-table-row { display: table-row !important; }\n .d#{$infix}-table-cell { display: table-cell !important; }\n .d#{$infix}-flex { display: flex !important; }\n .d#{$infix}-inline-flex { display: inline-flex !important; }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n.d-print-block {\n display: none !important;\n\n @media print {\n display: block !important;\n }\n}\n\n.d-print-inline {\n display: none !important;\n\n @media print {\n display: inline !important;\n }\n}\n\n.d-print-inline-block {\n display: none !important;\n\n @media print {\n display: inline-block !important;\n }\n}\n\n.d-print-none {\n @media print {\n display: none !important;\n }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n\n &::before {\n display: block;\n content: \"\";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n.embed-responsive-21by9 {\n &::before {\n padding-top: percentage(9 / 21);\n }\n}\n\n.embed-responsive-16by9 {\n &::before {\n padding-top: percentage(9 / 16);\n }\n}\n\n.embed-responsive-4by3 {\n &::before {\n padding-top: percentage(3 / 4);\n }\n}\n\n.embed-responsive-1by1 {\n &::before {\n padding-top: percentage(1 / 1);\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .float#{$infix}-left { @include float-left; }\n .float#{$infix}-right { @include float-right; }\n .float#{$infix}-none { @include float-none; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n@mixin float-left {\n float: left !important;\n}\n@mixin float-right {\n float: right !important;\n}\n@mixin float-none {\n float: none !important;\n}\n","// stylelint-disable declaration-no-important\n\n// Common values\n\n// Sass list not in variables since it's not intended for customization.\n$positions: static, relative, absolute, fixed, sticky;\n\n@each $position in $positions {\n .position-#{$position} { position: $position !important; }\n}\n\n// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.sticky-top {\n @supports (position: sticky) {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n}\n","//\n// Screenreaders\n//\n\n.sr-only {\n @include sr-only();\n}\n\n.sr-only-focusable {\n @include sr-only-focusable();\n}\n","// Only display content to screen readers\n//\n// See: http://a11yproject.com/posts/how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0,0,0,0);\n white-space: nowrap;\n clip-path: inset(50%);\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n//\n// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n clip-path: none;\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Width and height\n\n@each $prop, $abbrev in (width: w, height: h) {\n @each $size, $length in $sizes {\n .#{$abbrev}-#{$size} { #{$prop}: $length !important; }\n }\n}\n\n.mw-100 { max-width: 100% !important; }\n.mh-100 { max-height: 100% !important; }\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Text\n//\n\n// Alignment\n\n.text-justify { text-align: justify !important; }\n.text-nowrap { white-space: nowrap !important; }\n.text-truncate { @include text-truncate; }\n\n// Responsive alignment\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .text#{$infix}-left { text-align: left !important; }\n .text#{$infix}-right { text-align: right !important; }\n .text#{$infix}-center { text-align: center !important; }\n }\n}\n\n// Transformation\n\n.text-lowercase { text-transform: lowercase !important; }\n.text-uppercase { text-transform: uppercase !important; }\n.text-capitalize { text-transform: capitalize !important; }\n\n// Weight and italics\n\n.font-weight-light { font-weight: $font-weight-light !important; }\n.font-weight-normal { font-weight: $font-weight-normal !important; }\n.font-weight-bold { font-weight: $font-weight-bold !important; }\n.font-italic { font-style: italic !important; }\n\n// Contextual colors\n\n.text-white { color: #fff !important; }\n\n@each $color, $value in $theme-colors {\n @include text-emphasis-variant(\".text-#{$color}\", $value);\n}\n\n.text-muted { color: $text-muted !important; }\n\n// Misc\n\n.text-hide {\n @include text-hide();\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","// stylelint-disable declaration-no-important\n\n// Typography\n\n@mixin text-emphasis-variant($parent, $color) {\n #{$parent} {\n color: $color !important;\n }\n a#{$parent} {\n @include hover-focus {\n color: darken($color, 10%) !important;\n }\n }\n}\n","// CSS image replacement\n@mixin text-hide() {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n","//\n// Visibility utilities\n//\n\n.visible {\n @include invisible(visible);\n}\n\n.invisible {\n @include invisible(hidden);\n}\n","// stylelint-disable declaration-no-important\n\n// Visibility\n\n@mixin invisible($visibility) {\n visibility: $visibility !important;\n}\n"]} \ No newline at end of file diff --git a/workspace/public/css/custom.css b/workspace/public/css/custom.css new file mode 100644 index 0000000..46ea338 --- /dev/null +++ b/workspace/public/css/custom.css @@ -0,0 +1,709 @@ +/* FORM */ + +input[type=date], input[type=datetime-local], input[type=email], +input[type=number], input[type=password], input[type=search-md], +input[type=search], input[type=tel], input[type=text], input[type=time], +input[type=url], textarea.md-textarea { + background-color: transparent; + border: none; + border-bottom: 1px solid #ccc; + border-radius: 0; + outline: 0; + height: 2.1rem; + width: 100%; + font-size: 1rem; + box-shadow: none; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + transition: all .3s +} + +input[type=date]:disabled, input[type=date][readonly=readonly], +input[type=datetime-local]:disabled, input[type=datetime-local][readonly=readonly], +input[type=email]:disabled, input[type=email][readonly=readonly], +input[type=number]:disabled, input[type=number][readonly=readonly], +input[type=password]:disabled, input[type=password][readonly=readonly], +input[type=search-md]:disabled, input[type=search-md][readonly=readonly], +input[type=search]:disabled, input[type=search][readonly=readonly], +input[type=tel]:disabled, input[type=tel][readonly=readonly], input[type=text]:disabled, +input[type=text][readonly=readonly], input[type=time]:disabled, +input[type=time][readonly=readonly], input[type=url]:disabled, +input[type=url][readonly=readonly], textarea.md-textarea:disabled, +textarea.md-textarea[readonly=readonly] { + color: rgba(0, 0, 0, .46); + border-bottom: 1px dotted rgba(0, 0, 0, .46); + background-color: transparent +} + +input[type=date]:disabled + label, input[type=date][readonly=readonly] + label, +input[type=datetime-local]:disabled + label, input[type=datetime-local][readonly=readonly] + label, +input[type=email]:disabled + label, input[type=email][readonly=readonly] + label, +input[type=number]:disabled + label, input[type=number][readonly=readonly] + label, +input[type=password]:disabled + label, input[type=password][readonly=readonly] + label, +input[type=search-md]:disabled + label, input[type=search-md][readonly=readonly] + label, +input[type=search]:disabled + label, input[type=search][readonly=readonly] + label, +input[type=tel]:disabled + label, input[type=tel][readonly=readonly] + label, +input[type=text]:disabled + label, input[type=text][readonly=readonly] + label, +input[type=time]:disabled + label, input[type=time][readonly=readonly] + label, +input[type=url]:disabled + label, input[type=url][readonly=readonly] + label, +textarea.md-textarea:disabled + label, textarea.md-textarea[readonly=readonly] + label { + color: rgba(0, 0, 0, .46); + background-color: transparent +} + +input[type=date]:focus:not([readonly]), input[type=datetime-local]:focus:not([readonly]), +input[type=email]:focus:not([readonly]), input[type=number]:focus:not([readonly]), +input[type=password]:focus:not([readonly]), input[type=search-md]:focus:not([readonly]), +input[type=search]:focus:not([readonly]), input[type=tel]:focus:not([readonly]), +input[type=text]:focus:not([readonly]), input[type=time]:focus:not([readonly]), +input[type=url]:focus:not([readonly]), textarea.md-textarea:focus:not([readonly]) { + border-bottom: 1px solid #4285F4; + box-shadow: 0 1px 0 0 #4285F4 +} + +input[type=date]:focus:not([readonly]) + label, input[type=datetime-local]:focus:not([readonly]) + label, +input[type=email]:focus:not([readonly]) + label, input[type=number]:focus:not([readonly]) + label, +input[type=password]:focus:not([readonly]) + label, input[type=search-md]:focus:not([readonly]) + label, +input[type=search]:focus:not([readonly]) + label, input[type=tel]:focus:not([readonly]) + label, +input[type=text]:focus:not([readonly]) + label, input[type=time]:focus:not([readonly]) + label, +input[type=url]:focus:not([readonly]) + label, textarea.md-textarea:focus:not([readonly]) + label { + color: #4285F4 +} + +input[type=date].valid, input[type=date]:focus.valid, input[type=datetime-local].valid, +input[type=datetime-local]:focus.valid, input[type=email].valid, +input[type=email]:focus.valid, input[type=number].valid, input[type=number]:focus.valid, +input[type=password].valid, input[type=password]:focus.valid, input[type=search-md].valid, +input[type=search-md]:focus.valid, input[type=search].valid, input[type=search]:focus.valid, +input[type=tel].valid, input[type=tel]:focus.valid, input[type=text].valid, +input[type=text]:focus.valid, input[type=time].valid, input[type=time]:focus.valid, +input[type=url].valid, input[type=url]:focus.valid, textarea.md-textarea.valid, +textarea.md-textarea:focus.valid { + border-bottom: 1px solid #00C851; + box-shadow: 0 1px 0 0 #00C851 +} + +input[type=date].valid + label:after, input[type=date]:focus.valid + label:after, +input[type=datetime-local].valid + label:after, input[type=datetime-local]:focus.valid + label:after, +input[type=email].valid + label:after, input[type=email]:focus.valid + label:after, +input[type=number].valid + label:after, input[type=number]:focus.valid + label:after, +input[type=password].valid + label:after, input[type=password]:focus.valid + label:after, +input[type=search-md].valid + label:after, input[type=search-md]:focus.valid + label:after, +input[type=search].valid + label:after, input[type=search]:focus.valid + label:after, +input[type=tel].valid + label:after, input[type=tel]:focus.valid + label:after, +input[type=text].valid + label:after, input[type=text]:focus.valid + label:after, +input[type=time].valid + label:after, input[type=time]:focus.valid + label:after, +input[type=url].valid + label:after, input[type=url]:focus.valid + label:after, +textarea.md-textarea.valid + label:after, textarea.md-textarea:focus.valid + label:after { + content: attr(data-success); + color: #00C851; + opacity: 1 +} + +input[type=date].invalid, input[type=date]:focus.invalid, input[type=datetime-local].invalid, +input[type=datetime-local]:focus.invalid, input[type=email].invalid, +input[type=email]:focus.invalid, input[type=number].invalid, input[type=number]:focus.invalid, +input[type=password].invalid, input[type=password]:focus.invalid, +input[type=search-md].invalid, input[type=search-md]:focus.invalid, +input[type=search].invalid, input[type=search]:focus.invalid, input[type=tel].invalid, +input[type=tel]:focus.invalid, input[type=text].invalid, input[type=text]:focus.invalid, +input[type=time].invalid, input[type=time]:focus.invalid, input[type=url].invalid, +input[type=url]:focus.invalid, textarea.md-textarea.invalid, textarea.md-textarea:focus.invalid { + border-bottom: 1px solid #F44336; + box-shadow: 0 1px 0 0 #F44336 +} + +input[type=date].invalid + label:after, input[type=date]:focus.invalid + label:after, +input[type=datetime-local].invalid + label:after, input[type=datetime-local]:focus.invalid + label:after, +input[type=email].invalid + label:after, input[type=email]:focus.invalid + label:after, +input[type=number].invalid + label:after, input[type=number]:focus.invalid + label:after, +input[type=password].invalid + label:after, input[type=password]:focus.invalid + label:after, +input[type=search-md].invalid + label:after, input[type=search-md]:focus.invalid + label:after, +input[type=search].invalid + label:after, input[type=search]:focus.invalid + label:after, +input[type=tel].invalid + label:after, input[type=tel]:focus.invalid + label:after, +input[type=text].invalid + label:after, input[type=text]:focus.invalid + label:after, +input[type=time].invalid + label:after, input[type=time]:focus.invalid + label:after, +input[type=url].invalid + label:after, input[type=url]:focus.invalid + label:after, +textarea.md-textarea.invalid + label:after, textarea.md-textarea:focus.invalid + label:after { + content: attr(data-error); + color: #F44336; + opacity: 1 +} + +input[type=date] + label:after, input[type=datetime-local] + label:after, +input[type=email] + label:after, input[type=number] + label:after, +input[type=password] + label:after, input[type=search-md] + label:after, +input[type=search] + label:after, input[type=tel] + label:after, input[type=text] + label:after, +input[type=time] + label:after, input[type=url] + label:after, textarea.md-textarea + label:after { + display: block; + content: ""; + position: absolute; + top: 65px; + opacity: 0; + transition: .2s opacity ease-out, .2s color ease-out +} + +input[type=date].input-alternate, input[type=datetime-local].input-alternate, +input[type=email].input-alternate, input[type=number].input-alternate, +input[type=password].input-alternate, input[type=search-md].input-alternate, +input[type=search].input-alternate, input[type=tel].input-alternate, +input[type=text].input-alternate, input[type=time].input-alternate, +input[type=url].input-alternate, textarea.md-textarea.input-alternate { + padding: 0 15px; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 2px 1px -1px rgba(0, 0, 0, .12); + font-size: .875rem; + border-bottom: 0 +} + +input[type=date].input-alternate:focus:not([readonly]), input[type=datetime-local].input-alternate:focus:not([readonly]), +input[type=email].input-alternate:focus:not([readonly]), input[type=number].input-alternate:focus:not([readonly]), +input[type=password].input-alternate:focus:not([readonly]), input[type=search-md].input-alternate:focus:not([readonly]), +input[type=search].input-alternate:focus:not([readonly]), input[type=tel].input-alternate:focus:not([readonly]), +input[type=text].input-alternate:focus:not([readonly]), input[type=time].input-alternate:focus:not([readonly]), +input[type=url].input-alternate:focus:not([readonly]), textarea.md-textarea.input-alternate:focus:not([readonly]) { + border-bottom: 0; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 2px 1px -1px rgba(0, 0, 0, .12) +} + +label { + font-size: .8rem; + color: darken #ccc, 90% +} + +.form-inline fieldset { + margin-right: 1.5rem +} + +.form-inline .form-group { + margin-right: 2rem +} + +.waves-effect, a { + -webkit-tap-highlight-color: transparent +} + +.waves-effect { + position: relative; + cursor: pointer; + overflow: hidden; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + z-index: 1 +} + +.waves-effect .waves-ripple { + position: absolute; + border-radius: 50%; + width: 100px; + height: 100px; + margin-top: -50px; + margin-left: -50px; + opacity: 0; + background: rgba(0, 0, 0, .2); + background: -webkit-radial-gradient(rgba(0, 0, 0, .2) 0, rgba(0, 0, 0, .3) 40%, rgba(0, 0, 0, .4) 50%, rgba(0, 0, 0, .5) 60%, rgba(255, 255, 255, 0) 70%); + background: -o-radial-gradient(rgba(0, 0, 0, .2) 0, rgba(0, 0, 0, .3) 40%, rgba(0, 0, 0, .4) 50%, rgba(0, 0, 0, .5) 60%, rgba(255, 255, 255, 0) 70%); + background: -moz-radial-gradient(rgba(0, 0, 0, .2) 0, rgba(0, 0, 0, .3) 40%, rgba(0, 0, 0, .4) 50%, rgba(0, 0, 0, .5) 60%, rgba(255, 255, 255, 0) 70%); + background: radial-gradient(rgba(0, 0, 0, .2) 0, rgba(0, 0, 0, .3) 40%, rgba(0, 0, 0, .4) 50%, rgba(0, 0, 0, .5) 60%, rgba(255, 255, 255, 0) 70%); + -webkit-transition: all .5s ease-out; + -moz-transition: all .5s ease-out; + -o-transition: all .5s ease-out; + transition: all .5s ease-out; + -webkit-transition-property: -webkit-transform, opacity; + -moz-transition-property: -moz-transform, opacity; + -o-transition-property: -o-transform, opacity; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + -webkit-transform: scale(0) translate(0, 0); + -moz-transform: scale(0) translate(0, 0); + -ms-transform: scale(0) translate(0, 0); + -o-transform: scale(0) translate(0, 0); + transform: scale(0) translate(0, 0); + pointer-events: none +} + +.form-control { + padding: .5rem 0 .6rem; + font-size: 1rem; + line-height: 1.5; + background-color: transparent; + background-image: none; + border-radius: 0; + margin-top: .2rem; + margin-bottom: 1rem +} + +.md-form, .md-form .btn { + margin-bottom: 1.5rem +} + +.form-control:focus { + background: 0 0 +} + +.form-control:disabled, .form-control[readonly] { + background-color: transparent; + border-bottom: 1px solid #e0e0e0 +} + +.md-form { + position: relative +} + +.md-form label { + color: #757575; + position: absolute; + top: .8rem; + left: 0; + font-size: 1rem; + cursor: text; + -webkit-transition: .2s ease-out; + -moz-transition: .2s ease-out; + -o-transition: .2s ease-out; + -ms-transition: .2s ease-out; + transition: .2s ease-out +} + +.md-form label.active { + font-size: .8rem; + -webkit-transform: translateY(-140%); + -moz-transform: translateY(-140%); + -ms-transform: translateY(-140%); + -o-transform: translateY(-140%); + transform: translateY(-140%) +} + +.md-form .prefix { + position: absolute; + width: 3rem; + font-size: 2rem; + -webkit-transition: color .2s; + -moz-transition: color .2s; + -o-transition: color .2s; + -ms-transition: color .2s; + transition: color .2s +} + +.md-form .prefix.active { + color: #4285F4 +} + +.md-form .prefix ~ input, .md-form .prefix ~ textarea { + margin-left: 3rem; + width: 92%; + width: calc(100% - 3rem) +} + +.md-form .prefix ~ textarea { + padding-top: .8rem +} + +.md-form .prefix ~ label { + margin-left: 3rem +} + +@media only screen and (max-width:992px) { + .md-form .prefix ~ input { + width: 86%; + width: calc(100% - 3rem) + } +} + +@media only screen and (max-width:600px) { + .md-form .prefix ~ input { + width: 80%; + width: calc(100% - 3rem) + } +} + +.list-group-item, textarea { + width: 100% +} + +.md-form.input-group .form-control { + margin: 0; + padding-left: 1rem +} + +.md-form.input-group .form-control:-moz-placeholder { + color: #999; + padding-top: 2px +} + +.md-form.input-group .form-control::-ms-placeholder { + color: #999; + padding-top: 2px +} + +.md-form.input-group .form-control::-webkit-input-placeholder { + color: #999; + padding-top: 2px +} + +.md-form.input-group .form-control::-moz-placeholder { + color: #999; + padding-top: 2px +} + +.md-form.input-group .form-control:-ms-input-placeholder { + color: #999; + padding-top: 2px +} + +.md-form.input-group .form-control::placeholder { + color: #999; + padding-top: 2px +} + +.form-inline fieldset { + margin-right: 1.5rem +} + +textarea { + height: 3rem; + background-color: transparent +} + +textarea.md-textarea { + overflow-y: hidden; + padding: 1.6rem 0; + resize: none; + min-height: 3rem +} + +.input-dark-bg .form-control { + color: #fff +} + +.input-light-bg .form-control { + color: #1C2331 +} + +/* NAVBAR */ + +.badge, .btn, .card, .chip, .dropdown-menu, .jumbotron, .list-group, +.navbar, .pager li a, .pagination .active .page-link, .popover, .z-depth-1 { + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .16), 0 2px 10px 0 rgba(0, 0, 0, .12) +} + +.alert, .badge, .breadcrumb, .card, .card .card-header, .dropdown-menu, +.file-custom, .input-group-addon, .jumbotron, .list-group .list-group-item, +.modal-content, .nav .nav-link, .nav-tabs, .navbar, .navbar-toggler, +.page-item:first-child .page-link, .page-item:last-child .page-link, +.pagination-lg .page-item:first-child .page-link, .pagination-lg .page-item:last-child .page-link, +.pagination-sm .page-item:first-child .page-link, .pagination-sm .page-item:last-child .page-link, +.popover, .tooltip-inner, img { + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px +} + +.navbar { + font-weight: 300 +} + +.navbar form input { + margin: 0 5px 1px 8px; + height: 1rem +} + +.navbar .navbar-brand { + -webkit-align-self: flex-start; + -ms-flex-item-align: start; + align-self: flex-start; + overflow: visible +} + +.navbar .breadcrumb { + margin: 0; + background-color: transparent; + font-weight: 300 +} + +.navbar.navbar-dark .navbar-brand, .navbar.navbar-dark .navbar-brand:hover { + color: #fff +} + +.navbar.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E") +} + +.navbar.navbar-dark .breadcrumb a, .navbar.navbar-dark .navbar-nav .nav-item a { + color: #fff; + transition: .35s +} + +.navbar.navbar-dark .breadcrumb a:hover, .navbar.navbar-dark .navbar-nav .nav-item a:hover { + color: rgba(255, 255, 255, .75) +} + +.navbar.navbar-dark .breadcrumb .dropdown-menu a, .navbar.navbar-dark .breadcrumb .dropdown-menu a:active, +.navbar.navbar-dark .breadcrumb .dropdown-menu a:focus, .navbar.navbar-dark .breadcrumb .dropdown-menu a:hover, +.navbar.navbar-dark .navbar-nav .nav-item .dropdown-menu a, .navbar.navbar-dark .navbar-nav .nav-item .dropdown-menu a:active, +.navbar.navbar-dark .navbar-nav .nav-item .dropdown-menu a:focus, +.navbar.navbar-dark .navbar-nav .nav-item .dropdown-menu a:hover { + color: #212121 +} + +.navbar.navbar-dark .nav-link, .navbar.navbar-dark .navbar-toggler { + color: #fff +} + +.navbar.navbar-light .breadcrumb a, .navbar.navbar-light .breadcrumb a:hover, +.navbar.navbar-light .nav-item a, .navbar.navbar-light .nav-item a:hover { + transition: .35s; + color: #212121 +} + +.navbar.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E") +} + + + +.navbar.navbar-light .breadcrumb .dropdown-menu a, .navbar.navbar-light .nav-item .dropdown-menu a { + color: #000; + padding: 10px +} + +.navbar.navbar-light .navbar-toggler { + color: #000 +} + +.navbar .dropdown-menu a { + font-size: .9375rem; + font-weight: 300; + padding: 1rem +} + +.navbar .navbar-toggler { + border-width: 0 +} + +.navbar .nav-flex-icons { + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row +} + +@media (max-width:991px) { + .navbar .container { + width: 100% + } + + .navbar .container .navbar-toggler-right { + right: 0 + } +} + +.navbar .dropdown-menu { + position: absolute !important +} + +.navbar.double-nav { + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row +} + +.navbar-dark form input[type=text] { + border-bottom: 1px solid #fff +} + +.navbar-dark form .form-control { + color: #fff +} + +.navbar-dark form .form-control:-moz-placeholder { + color: rgba(255, 255, 255, .65) !important; + font-weight: 300 +} + +.navbar-dark form .form-control::-ms-placeholder { + color: rgba(255, 255, 255, .65) !important; + font-weight: 300 +} + +.navbar-dark form .form-control::-webkit-input-placeholder { + color: rgba(255, 255, 255, .65) !important; + font-weight: 300 +} + +.navbar-dark form .form-control::-moz-placeholder { + color: rgba(255, 255, 255, .65) !important; + font-weight: 300 +} + +.navbar-dark form .form-control:-ms-input-placeholder { + color: rgba(255, 255, 255, .65) !important; + font-weight: 300 +} + +.navbar-dark form .form-control::placeholder { + color: rgba(255, 255, 255, .65) !important; + font-weight: 300 +} + +.navbar-light form input[type=text] { + border-bottom: 1px solid #1C2331 +} + +.navbar-light form .form-control { + color: #1C2331 +} + +.navbar-light form .form-control:-moz-placeholder { + color: #1C2331 !important; + font-weight: 300 +} + +.navbar-light form .form-control::-ms-placeholder { + color: #1C2331 !important; + font-weight: 300 +} + +.navbar-light form .form-control::-webkit-input-placeholder { + color: #1C2331 !important; + font-weight: 300 +} + +.navbar-light form .form-control::-moz-placeholder { + color: #1C2331 !important; + font-weight: 300 +} + +.navbar-light form .form-control:-ms-input-placeholder { + color: #1C2331 !important; + font-weight: 300 +} + +.navbar-light form .form-control::placeholder { + color: #1C2331 !important; + font-weight: 300 +} + +/* INPUT */ + +.dropdown-menu, .input-group-addon, .pagination .page-item .page-link, +.popover { + border: 0 +} + +.input-dark-bg:-moz-placeholder { + color: #fff !important; + font-weight: 300 +} + +.input-dark-bg::-ms-placeholder { + color: #fff !important; + font-weight: 300 +} + +.input-dark-bg::-webkit-input-placeholder { + color: #fff !important; + font-weight: 300 +} + +.input-dark-bg::-moz-placeholder { + color: #fff !important; + font-weight: 300 +} + +.input-dark-bg:-ms-input-placeholder { + color: #fff !important; + font-weight: 300 +} + +.input-dark-bg::placeholder { + color: #fff !important; + font-weight: 300 +} + +.input-dark-bg input[type=text] { + border-bottom: 1px solid #fff +} + +.input-dark-bg .form-control { + color: #fff +} + +.input-light-bg:-moz-placeholder { + color: #1C2331 !important; + font-weight: 300 +} + +.input-light-bg::-ms-placeholder { + color: #1C2331 !important; + font-weight: 300 +} + +.input-light-bg::-webkit-input-placeholder { + color: #1C2331 !important; + font-weight: 300 +} + +.input-light-bg::-moz-placeholder { + color: #1C2331 !important; + font-weight: 300 +} + +.input-light-bg:-ms-input-placeholder { + color: #1C2331 !important; + font-weight: 300 +} + +.input-light-bg::placeholder { + color: #1C2331 !important; + font-weight: 300 +} + +.input-light-bg input[type=text] { + border-bottom: 1px solid #1C2331 +} + +.input-light-bg .form-control { + color: #1C2331 +} + +/* NAVBAR TOGGLER */ + + +button:focus { + outline: 0 !important +} + +/* FORM BOOTSTRAP */ +.container { + margin-top: 10px; +} + +.hero-unit { + padding: 50px 50px 50px 50px; +} + +.form-horizontal .control-label { + width: 61px; +} + +.form-horizontal .controls { + margin-left: 80px; +} +/* Landscape phone to portrait tablet */ +@media ( max-width : 767px) { +} +/* Landscape phones and down */ +@media ( max-width : 480px) { + .hero-unit { + margin-left: -20px; + margin-right: -20px; + } + .form-horizontal .controls { + margin-left: 0; + } +} + diff --git a/workspace/public/css/mdb.min.css b/workspace/public/css/mdb.min.css new file mode 100644 index 0000000..bd12cb9 --- /dev/null +++ b/workspace/public/css/mdb.min.css @@ -0,0 +1,8671 @@ +/*! + * Material Design for Bootstrap 4 + * Version: MDB FREE 4.3.0 + * + * + * Copyright: Material Design for Bootstrap + * http://mdbootstrap.com/ + * + * Read the license: http://mdbootstrap.com/license/ + * + * Atribution: Animate CSS, Twitter Bootstrap, Materialize CSS, Normalize CSS, Waves JS, WOW JS, Toastr, Chart.js , Hammer.js + * + */ +a, a:focus, a:hover { + text-decoration: none +} + +ul, ul li { + list-style-type: none +} + +.waves-effect, a { + -webkit-tap-highlight-color: transparent +} + +.btn, .hiddendiv { + word-wrap: break-word +} + +.mdb-color.lighten-5 { + background-color: #D0D6E2 !important +} + +.mdb-color-text.text-lighten-5 { + color: #D0D6E2 !important +} + +.mdb-color.lighten-4 { + background-color: #B1BACE !important +} + +.mdb-color-text.text-lighten-4 { + color: #B1BACE !important +} + +.mdb-color.lighten-3 { + background-color: #929FBA !important +} + +.mdb-color-text.text-lighten-3 { + color: #929FBA !important +} + +.mdb-color.lighten-2 { + background-color: #7283A7 !important +} + +.mdb-color-text.text-lighten-2 { + color: #7283A7 !important +} + +.mdb-color.lighten-1 { + background-color: #59698D !important +} + +.mdb-color-text.text-lighten-1 { + color: #59698D !important +} + +.mdb-color-text { + color: #45526E !important +} + +.mdb-color.darken-1 { + background-color: #3B465E !important +} + +.mdb-color-text.text-darken-1 { + color: #3B465E !important +} + +.mdb-color.darken-2 { + background-color: #2E3951 !important +} + +.mdb-color-text.text-darken-2 { + color: #2E3951 !important +} + +.mdb-color.darken-3 { + background-color: #1C2A48 !important +} + +.mdb-color-text.text-darken-3 { + color: #1C2A48 !important +} + +.mdb-color.darken-4 { + background-color: #1C2331 !important +} + +.mdb-color-text.text-darken-4 { + color: #1C2331 !important +} + +.red.lighten-5 { + background-color: #FFEBEE !important +} + +.red-text.text-lighten-5 { + color: #FFEBEE !important +} + +.red.lighten-4 { + background-color: #FFCDD2 !important +} + +.red-text.text-lighten-4 { + color: #FFCDD2 !important +} + +.red.lighten-3 { + background-color: #EF9A9A !important +} + +.red-text.text-lighten-3 { + color: #EF9A9A !important +} + +.red.lighten-2 { + background-color: #E57373 !important +} + +.red-text.text-lighten-2 { + color: #E57373 !important +} + +.red.lighten-1 { + background-color: #EF5350 !important +} + +.red-text.text-lighten-1 { + color: #EF5350 !important +} + +.red { + background-color: #F44336 !important +} + +.red-text { + color: #F44336 !important +} + +.red.darken-1 { + background-color: #E53935 !important +} + +.red-text.text-darken-1 { + color: #E53935 !important +} + +.red.darken-2 { + background-color: #D32F2F !important +} + +.red-text.text-darken-2 { + color: #D32F2F !important +} + +.red.darken-3 { + background-color: #C62828 !important +} + +.red-text.text-darken-3 { + color: #C62828 !important +} + +.red.darken-4 { + background-color: #B71C1C !important +} + +.red-text.text-darken-4 { + color: #B71C1C !important +} + +.red.accent-1 { + background-color: #FF8A80 !important +} + +.red-text.text-accent-1 { + color: #FF8A80 !important +} + +.red.accent-2 { + background-color: #FF5252 !important +} + +.red-text.text-accent-2 { + color: #FF5252 !important +} + +.red.accent-3 { + background-color: #FF1744 !important +} + +.red-text.text-accent-3 { + color: #FF1744 !important +} + +.red.accent-4 { + background-color: #D50000 !important +} + +.red-text.text-accent-4 { + color: #D50000 !important +} + +.pink.lighten-5 { + background-color: #fce4ec !important +} + +.pink-text.text-lighten-5 { + color: #fce4ec !important +} + +.pink.lighten-4 { + background-color: #f8bbd0 !important +} + +.pink-text.text-lighten-4 { + color: #f8bbd0 !important +} + +.pink.lighten-3 { + background-color: #f48fb1 !important +} + +.pink-text.text-lighten-3 { + color: #f48fb1 !important +} + +.pink.lighten-2 { + background-color: #f06292 !important +} + +.pink-text.text-lighten-2 { + color: #f06292 !important +} + +.pink.lighten-1 { + background-color: #ec407a !important +} + +.pink-text.text-lighten-1 { + color: #ec407a !important +} + +.pink { + background-color: #e91e63 !important +} + +.pink-text { + color: #e91e63 !important +} + +.pink.darken-1 { + background-color: #d81b60 !important +} + +.pink-text.text-darken-1 { + color: #d81b60 !important +} + +.pink.darken-2 { + background-color: #c2185b !important +} + +.pink-text.text-darken-2 { + color: #c2185b !important +} + +.pink.darken-3 { + background-color: #ad1457 !important +} + +.pink-text.text-darken-3 { + color: #ad1457 !important +} + +.pink.darken-4 { + background-color: #880e4f !important +} + +.pink-text.text-darken-4 { + color: #880e4f !important +} + +.pink.accent-1 { + background-color: #ff80ab !important +} + +.pink-text.text-accent-1 { + color: #ff80ab !important +} + +.pink.accent-2 { + background-color: #ff4081 !important +} + +.pink-text.text-accent-2 { + color: #ff4081 !important +} + +.pink.accent-3 { + background-color: #f50057 !important +} + +.pink-text.text-accent-3 { + color: #f50057 !important +} + +.pink.accent-4 { + background-color: #c51162 !important +} + +.pink-text.text-accent-4 { + color: #c51162 !important +} + +.purple.lighten-5 { + background-color: #f3e5f5 !important +} + +.purple-text.text-lighten-5 { + color: #f3e5f5 !important +} + +.purple.lighten-4 { + background-color: #e1bee7 !important +} + +.purple-text.text-lighten-4 { + color: #e1bee7 !important +} + +.purple.lighten-3 { + background-color: #ce93d8 !important +} + +.purple-text.text-lighten-3 { + color: #ce93d8 !important +} + +.purple.lighten-2 { + background-color: #ba68c8 !important +} + +.purple-text.text-lighten-2 { + color: #ba68c8 !important +} + +.purple.lighten-1 { + background-color: #ab47bc !important +} + +.purple-text.text-lighten-1 { + color: #ab47bc !important +} + +.purple { + background-color: #9c27b0 !important +} + +.purple-text { + color: #9c27b0 !important +} + +.purple.darken-1 { + background-color: #8e24aa !important +} + +.purple-text.text-darken-1 { + color: #8e24aa !important +} + +.purple.darken-2 { + background-color: #7b1fa2 !important +} + +.purple-text.text-darken-2 { + color: #7b1fa2 !important +} + +.purple.darken-3 { + background-color: #6a1b9a !important +} + +.purple-text.text-darken-3 { + color: #6a1b9a !important +} + +.purple.darken-4 { + background-color: #4a148c !important +} + +.purple-text.text-darken-4 { + color: #4a148c !important +} + +.purple.accent-1 { + background-color: #ea80fc !important +} + +.purple-text.text-accent-1 { + color: #ea80fc !important +} + +.purple.accent-2 { + background-color: #e040fb !important +} + +.purple-text.text-accent-2 { + color: #e040fb !important +} + +.purple.accent-3 { + background-color: #d500f9 !important +} + +.purple-text.text-accent-3 { + color: #d500f9 !important +} + +.purple.accent-4 { + background-color: #a0f !important +} + +.purple-text.text-accent-4 { + color: #a0f !important +} + +.deep-purple.lighten-5 { + background-color: #ede7f6 !important +} + +.deep-purple-text.text-lighten-5 { + color: #ede7f6 !important +} + +.deep-purple.lighten-4 { + background-color: #d1c4e9 !important +} + +.deep-purple-text.text-lighten-4 { + color: #d1c4e9 !important +} + +.deep-purple.lighten-3 { + background-color: #b39ddb !important +} + +.deep-purple-text.text-lighten-3 { + color: #b39ddb !important +} + +.deep-purple.lighten-2 { + background-color: #9575cd !important +} + +.deep-purple-text.text-lighten-2 { + color: #9575cd !important +} + +.deep-purple.lighten-1 { + background-color: #7e57c2 !important +} + +.deep-purple-text.text-lighten-1 { + color: #7e57c2 !important +} + +.deep-purple { + background-color: #673ab7 !important +} + +.deep-purple-text { + color: #673ab7 !important +} + +.deep-purple.darken-1 { + background-color: #5e35b1 !important +} + +.deep-purple-text.text-darken-1 { + color: #5e35b1 !important +} + +.deep-purple.darken-2 { + background-color: #512da8 !important +} + +.deep-purple-text.text-darken-2 { + color: #512da8 !important +} + +.deep-purple.darken-3 { + background-color: #4527a0 !important +} + +.deep-purple-text.text-darken-3 { + color: #4527a0 !important +} + +.deep-purple.darken-4 { + background-color: #311b92 !important +} + +.deep-purple-text.text-darken-4 { + color: #311b92 !important +} + +.deep-purple.accent-1 { + background-color: #b388ff !important +} + +.deep-purple-text.text-accent-1 { + color: #b388ff !important +} + +.deep-purple.accent-2 { + background-color: #7c4dff !important +} + +.deep-purple-text.text-accent-2 { + color: #7c4dff !important +} + +.deep-purple.accent-3 { + background-color: #651fff !important +} + +.deep-purple-text.text-accent-3 { + color: #651fff !important +} + +.deep-purple.accent-4 { + background-color: #6200ea !important +} + +.deep-purple-text.text-accent-4 { + color: #6200ea !important +} + +.indigo.lighten-5 { + background-color: #e8eaf6 !important +} + +.indigo-text.text-lighten-5 { + color: #e8eaf6 !important +} + +.indigo.lighten-4 { + background-color: #c5cae9 !important +} + +.indigo-text.text-lighten-4 { + color: #c5cae9 !important +} + +.indigo.lighten-3 { + background-color: #9fa8da !important +} + +.indigo-text.text-lighten-3 { + color: #9fa8da !important +} + +.indigo.lighten-2 { + background-color: #7986cb !important +} + +.indigo-text.text-lighten-2 { + color: #7986cb !important +} + +.indigo.lighten-1 { + background-color: #5c6bc0 !important +} + +.indigo-text.text-lighten-1 { + color: #5c6bc0 !important +} + +.indigo { + background-color: #3f51b5 !important +} + +.indigo-text { + color: #3f51b5 !important +} + +.indigo.darken-1 { + background-color: #3949ab !important +} + +.indigo-text.text-darken-1 { + color: #3949ab !important +} + +.indigo.darken-2 { + background-color: #303f9f !important +} + +.indigo-text.text-darken-2 { + color: #303f9f !important +} + +.indigo.darken-3 { + background-color: #283593 !important +} + +.indigo-text.text-darken-3 { + color: #283593 !important +} + +.indigo.darken-4 { + background-color: #1a237e !important +} + +.indigo-text.text-darken-4 { + color: #1a237e !important +} + +.indigo.accent-1 { + background-color: #8c9eff !important +} + +.indigo-text.text-accent-1 { + color: #8c9eff !important +} + +.indigo.accent-2 { + background-color: #536dfe !important +} + +.indigo-text.text-accent-2 { + color: #536dfe !important +} + +.indigo.accent-3 { + background-color: #3d5afe !important +} + +.indigo-text.text-accent-3 { + color: #3d5afe !important +} + +.indigo.accent-4 { + background-color: #304ffe !important +} + +.indigo-text.text-accent-4 { + color: #304ffe !important +} + +.blue.lighten-5 { + background-color: #E3F2FD !important +} + +.blue-text.text-lighten-5 { + color: #E3F2FD !important +} + +.blue.lighten-4 { + background-color: #BBDEFB !important +} + +.blue-text.text-lighten-4 { + color: #BBDEFB !important +} + +.blue.lighten-3 { + background-color: #90CAF9 !important +} + +.blue-text.text-lighten-3 { + color: #90CAF9 !important +} + +.blue.lighten-2 { + background-color: #64B5F6 !important +} + +.blue-text.text-lighten-2 { + color: #64B5F6 !important +} + +.blue.lighten-1 { + background-color: #42A5F5 !important +} + +.blue-text.text-lighten-1 { + color: #42A5F5 !important +} + +.blue { + background-color: #2196F3 !important +} + +.blue-text { + color: #2196F3 !important +} + +.blue.darken-1 { + background-color: #1E88E5 !important +} + +.blue-text.text-darken-1 { + color: #1E88E5 !important +} + +.blue.darken-2 { + background-color: #1976D2 !important +} + +.blue-text.text-darken-2 { + color: #1976D2 !important +} + +.blue.darken-3 { + background-color: #1565C0 !important +} + +.blue-text.text-darken-3 { + color: #1565C0 !important +} + +.blue.darken-4 { + background-color: #0D47A1 !important +} + +.blue-text.text-darken-4 { + color: #0D47A1 !important +} + +.blue.accent-1 { + background-color: #82B1FF !important +} + +.blue-text.text-accent-1 { + color: #82B1FF !important +} + +.blue.accent-2 { + background-color: #448AFF !important +} + +.blue-text.text-accent-2 { + color: #448AFF !important +} + +.blue.accent-3 { + background-color: #2979FF !important +} + +.blue-text.text-accent-3 { + color: #2979FF !important +} + +.blue.accent-4 { + background-color: #2962FF !important +} + +.blue-text.text-accent-4 { + color: #2962FF !important +} + +.light-blue.lighten-5 { + background-color: #e1f5fe !important +} + +.light-blue-text.text-lighten-5 { + color: #e1f5fe !important +} + +.light-blue.lighten-4 { + background-color: #b3e5fc !important +} + +.light-blue-text.text-lighten-4 { + color: #b3e5fc !important +} + +.light-blue.lighten-3 { + background-color: #81d4fa !important +} + +.light-blue-text.text-lighten-3 { + color: #81d4fa !important +} + +.light-blue.lighten-2 { + background-color: #4fc3f7 !important +} + +.light-blue-text.text-lighten-2 { + color: #4fc3f7 !important +} + +.light-blue.lighten-1 { + background-color: #29b6f6 !important +} + +.light-blue-text.text-lighten-1 { + color: #29b6f6 !important +} + +.light-blue { + background-color: #03a9f4 !important +} + +.light-blue-text { + color: #03a9f4 !important +} + +.light-blue.darken-1 { + background-color: #039be5 !important +} + +.light-blue-text.text-darken-1 { + color: #039be5 !important +} + +.light-blue.darken-2 { + background-color: #0288d1 !important +} + +.light-blue-text.text-darken-2 { + color: #0288d1 !important +} + +.light-blue.darken-3 { + background-color: #0277bd !important +} + +.light-blue-text.text-darken-3 { + color: #0277bd !important +} + +.light-blue.darken-4 { + background-color: #01579b !important +} + +.light-blue-text.text-darken-4 { + color: #01579b !important +} + +.light-blue.accent-1 { + background-color: #80d8ff !important +} + +.light-blue-text.text-accent-1 { + color: #80d8ff !important +} + +.light-blue.accent-2 { + background-color: #40c4ff !important +} + +.light-blue-text.text-accent-2 { + color: #40c4ff !important +} + +.light-blue.accent-3 { + background-color: #00b0ff !important +} + +.light-blue-text.text-accent-3 { + color: #00b0ff !important +} + +.light-blue.accent-4 { + background-color: #0091ea !important +} + +.light-blue-text.text-accent-4 { + color: #0091ea !important +} + +.cyan.lighten-5 { + background-color: #e0f7fa !important +} + +.cyan-text.text-lighten-5 { + color: #e0f7fa !important +} + +.cyan.lighten-4 { + background-color: #b2ebf2 !important +} + +.cyan-text.text-lighten-4 { + color: #b2ebf2 !important +} + +.cyan.lighten-3 { + background-color: #80deea !important +} + +.cyan-text.text-lighten-3 { + color: #80deea !important +} + +.cyan.lighten-2 { + background-color: #4dd0e1 !important +} + +.cyan-text.text-lighten-2 { + color: #4dd0e1 !important +} + +.cyan.lighten-1 { + background-color: #26c6da !important +} + +.cyan-text.text-lighten-1 { + color: #26c6da !important +} + +.cyan { + background-color: #00bcd4 !important +} + +.cyan-text { + color: #00bcd4 !important +} + +.cyan.darken-1 { + background-color: #00acc1 !important +} + +.cyan-text.text-darken-1 { + color: #00acc1 !important +} + +.cyan.darken-2 { + background-color: #0097a7 !important +} + +.cyan-text.text-darken-2 { + color: #0097a7 !important +} + +.cyan.darken-3 { + background-color: #00838f !important +} + +.cyan-text.text-darken-3 { + color: #00838f !important +} + +.cyan.darken-4 { + background-color: #006064 !important +} + +.cyan-text.text-darken-4 { + color: #006064 !important +} + +.cyan.accent-1 { + background-color: #84ffff !important +} + +.cyan-text.text-accent-1 { + color: #84ffff !important +} + +.cyan.accent-2 { + background-color: #18ffff !important +} + +.cyan-text.text-accent-2 { + color: #18ffff !important +} + +.cyan.accent-3 { + background-color: #00e5ff !important +} + +.cyan-text.text-accent-3 { + color: #00e5ff !important +} + +.cyan.accent-4 { + background-color: #00b8d4 !important +} + +.cyan-text.text-accent-4 { + color: #00b8d4 !important +} + +.teal.lighten-5 { + background-color: #e0f2f1 !important +} + +.teal-text.text-lighten-5 { + color: #e0f2f1 !important +} + +.teal.lighten-4 { + background-color: #b2dfdb !important +} + +.teal-text.text-lighten-4 { + color: #b2dfdb !important +} + +.teal.lighten-3 { + background-color: #80cbc4 !important +} + +.teal-text.text-lighten-3 { + color: #80cbc4 !important +} + +.teal.lighten-2 { + background-color: #4db6ac !important +} + +.teal-text.text-lighten-2 { + color: #4db6ac !important +} + +.teal.lighten-1 { + background-color: #26a69a !important +} + +.teal-text.text-lighten-1 { + color: #26a69a !important +} + +.teal { + background-color: #009688 !important +} + +.teal-text { + color: #009688 !important +} + +.teal.darken-1 { + background-color: #00897b !important +} + +.teal-text.text-darken-1 { + color: #00897b !important +} + +.teal.darken-2 { + background-color: #00796b !important +} + +.teal-text.text-darken-2 { + color: #00796b !important +} + +.teal.darken-3 { + background-color: #00695c !important +} + +.teal-text.text-darken-3 { + color: #00695c !important +} + +.teal.darken-4 { + background-color: #004d40 !important +} + +.teal-text.text-darken-4 { + color: #004d40 !important +} + +.teal.accent-1 { + background-color: #a7ffeb !important +} + +.teal-text.text-accent-1 { + color: #a7ffeb !important +} + +.teal.accent-2 { + background-color: #64ffda !important +} + +.teal-text.text-accent-2 { + color: #64ffda !important +} + +.teal.accent-3 { + background-color: #1de9b6 !important +} + +.teal-text.text-accent-3 { + color: #1de9b6 !important +} + +.teal.accent-4 { + background-color: #00bfa5 !important +} + +.teal-text.text-accent-4 { + color: #00bfa5 !important +} + +.green.lighten-5 { + background-color: #E8F5E9 !important +} + +.green-text.text-lighten-5 { + color: #E8F5E9 !important +} + +.green.lighten-4 { + background-color: #C8E6C9 !important +} + +.green-text.text-lighten-4 { + color: #C8E6C9 !important +} + +.green.lighten-3 { + background-color: #A5D6A7 !important +} + +.green-text.text-lighten-3 { + color: #A5D6A7 !important +} + +.green.lighten-2 { + background-color: #81C784 !important +} + +.green-text.text-lighten-2 { + color: #81C784 !important +} + +.green.lighten-1 { + background-color: #66BB6A !important +} + +.green-text.text-lighten-1 { + color: #66BB6A !important +} + +.green { + background-color: #4CAF50 !important +} + +.green-text { + color: #4CAF50 !important +} + +.green.darken-1 { + background-color: #43A047 !important +} + +.green-text.text-darken-1 { + color: #43A047 !important +} + +.green.darken-2 { + background-color: #388E3C !important +} + +.green-text.text-darken-2 { + color: #388E3C !important +} + +.green.darken-3 { + background-color: #2E7D32 !important +} + +.green-text.text-darken-3 { + color: #2E7D32 !important +} + +.green.darken-4 { + background-color: #1B5E20 !important +} + +.green-text.text-darken-4 { + color: #1B5E20 !important +} + +.green.accent-1 { + background-color: #B9F6CA !important +} + +.green-text.text-accent-1 { + color: #B9F6CA !important +} + +.green.accent-2 { + background-color: #69F0AE !important +} + +.green-text.text-accent-2 { + color: #69F0AE !important +} + +.green.accent-3 { + background-color: #00E676 !important +} + +.green-text.text-accent-3 { + color: #00E676 !important +} + +.green.accent-4 { + background-color: #00C853 !important +} + +.green-text.text-accent-4 { + color: #00C853 !important +} + +.light-green.lighten-5 { + background-color: #f1f8e9 !important +} + +.light-green-text.text-lighten-5 { + color: #f1f8e9 !important +} + +.light-green.lighten-4 { + background-color: #dcedc8 !important +} + +.light-green-text.text-lighten-4 { + color: #dcedc8 !important +} + +.light-green.lighten-3 { + background-color: #c5e1a5 !important +} + +.light-green-text.text-lighten-3 { + color: #c5e1a5 !important +} + +.light-green.lighten-2 { + background-color: #aed581 !important +} + +.light-green-text.text-lighten-2 { + color: #aed581 !important +} + +.light-green.lighten-1 { + background-color: #9ccc65 !important +} + +.light-green-text.text-lighten-1 { + color: #9ccc65 !important +} + +.light-green { + background-color: #8bc34a !important +} + +.light-green-text { + color: #8bc34a !important +} + +.light-green.darken-1 { + background-color: #7cb342 !important +} + +.light-green-text.text-darken-1 { + color: #7cb342 !important +} + +.light-green.darken-2 { + background-color: #689f38 !important +} + +.light-green-text.text-darken-2 { + color: #689f38 !important +} + +.light-green.darken-3 { + background-color: #558b2f !important +} + +.light-green-text.text-darken-3 { + color: #558b2f !important +} + +.light-green.darken-4 { + background-color: #33691e !important +} + +.light-green-text.text-darken-4 { + color: #33691e !important +} + +.light-green.accent-1 { + background-color: #ccff90 !important +} + +.light-green-text.text-accent-1 { + color: #ccff90 !important +} + +.light-green.accent-2 { + background-color: #b2ff59 !important +} + +.light-green-text.text-accent-2 { + color: #b2ff59 !important +} + +.light-green.accent-3 { + background-color: #76ff03 !important +} + +.light-green-text.text-accent-3 { + color: #76ff03 !important +} + +.light-green.accent-4 { + background-color: #64dd17 !important +} + +.light-green-text.text-accent-4 { + color: #64dd17 !important +} + +.lime.lighten-5 { + background-color: #f9fbe7 !important +} + +.lime-text.text-lighten-5 { + color: #f9fbe7 !important +} + +.lime.lighten-4 { + background-color: #f0f4c3 !important +} + +.lime-text.text-lighten-4 { + color: #f0f4c3 !important +} + +.lime.lighten-3 { + background-color: #e6ee9c !important +} + +.lime-text.text-lighten-3 { + color: #e6ee9c !important +} + +.lime.lighten-2 { + background-color: #dce775 !important +} + +.lime-text.text-lighten-2 { + color: #dce775 !important +} + +.lime.lighten-1 { + background-color: #d4e157 !important +} + +.lime-text.text-lighten-1 { + color: #d4e157 !important +} + +.lime { + background-color: #cddc39 !important +} + +.lime-text { + color: #cddc39 !important +} + +.lime.darken-1 { + background-color: #c0ca33 !important +} + +.lime-text.text-darken-1 { + color: #c0ca33 !important +} + +.lime.darken-2 { + background-color: #afb42b !important +} + +.lime-text.text-darken-2 { + color: #afb42b !important +} + +.lime.darken-3 { + background-color: #9e9d24 !important +} + +.lime-text.text-darken-3 { + color: #9e9d24 !important +} + +.lime.darken-4 { + background-color: #827717 !important +} + +.lime-text.text-darken-4 { + color: #827717 !important +} + +.lime.accent-1 { + background-color: #f4ff81 !important +} + +.lime-text.text-accent-1 { + color: #f4ff81 !important +} + +.lime.accent-2 { + background-color: #eeff41 !important +} + +.lime-text.text-accent-2 { + color: #eeff41 !important +} + +.lime.accent-3 { + background-color: #c6ff00 !important +} + +.lime-text.text-accent-3 { + color: #c6ff00 !important +} + +.lime.accent-4 { + background-color: #aeea00 !important +} + +.lime-text.text-accent-4 { + color: #aeea00 !important +} + +.yellow.lighten-5 { + background-color: #fffde7 !important +} + +.yellow-text.text-lighten-5 { + color: #fffde7 !important +} + +.yellow.lighten-4 { + background-color: #fff9c4 !important +} + +.yellow-text.text-lighten-4 { + color: #fff9c4 !important +} + +.yellow.lighten-3 { + background-color: #fff59d !important +} + +.yellow-text.text-lighten-3 { + color: #fff59d !important +} + +.yellow.lighten-2 { + background-color: #fff176 !important +} + +.yellow-text.text-lighten-2 { + color: #fff176 !important +} + +.yellow.lighten-1 { + background-color: #ffee58 !important +} + +.yellow-text.text-lighten-1 { + color: #ffee58 !important +} + +.yellow { + background-color: #ffeb3b !important +} + +.yellow-text { + color: #ffeb3b !important +} + +.yellow.darken-1 { + background-color: #fdd835 !important +} + +.yellow-text.text-darken-1 { + color: #fdd835 !important +} + +.yellow.darken-2 { + background-color: #fbc02d !important +} + +.yellow-text.text-darken-2 { + color: #fbc02d !important +} + +.yellow.darken-3 { + background-color: #f9a825 !important +} + +.yellow-text.text-darken-3 { + color: #f9a825 !important +} + +.yellow.darken-4 { + background-color: #f57f17 !important +} + +.yellow-text.text-darken-4 { + color: #f57f17 !important +} + +.yellow.accent-1 { + background-color: #ffff8d !important +} + +.yellow-text.text-accent-1 { + color: #ffff8d !important +} + +.yellow.accent-2 { + background-color: #ff0 !important +} + +.yellow-text.text-accent-2 { + color: #ff0 !important +} + +.yellow.accent-3 { + background-color: #ffea00 !important +} + +.yellow-text.text-accent-3 { + color: #ffea00 !important +} + +.yellow.accent-4 { + background-color: #ffd600 !important +} + +.yellow-text.text-accent-4 { + color: #ffd600 !important +} + +.amber.lighten-5 { + background-color: #fff8e1 !important +} + +.amber-text.text-lighten-5 { + color: #fff8e1 !important +} + +.amber.lighten-4 { + background-color: #ffecb3 !important +} + +.amber-text.text-lighten-4 { + color: #ffecb3 !important +} + +.amber.lighten-3 { + background-color: #ffe082 !important +} + +.amber-text.text-lighten-3 { + color: #ffe082 !important +} + +.amber.lighten-2 { + background-color: #ffd54f !important +} + +.amber-text.text-lighten-2 { + color: #ffd54f !important +} + +.amber.lighten-1 { + background-color: #ffca28 !important +} + +.amber-text.text-lighten-1 { + color: #ffca28 !important +} + +.amber { + background-color: #ffc107 !important +} + +.amber-text { + color: #ffc107 !important +} + +.amber.darken-1 { + background-color: #ffb300 !important +} + +.amber-text.text-darken-1 { + color: #ffb300 !important +} + +.amber.darken-2 { + background-color: #ffa000 !important +} + +.amber-text.text-darken-2 { + color: #ffa000 !important +} + +.amber.darken-3 { + background-color: #ff8f00 !important +} + +.amber-text.text-darken-3 { + color: #ff8f00 !important +} + +.amber.darken-4 { + background-color: #ff6f00 !important +} + +.amber-text.text-darken-4 { + color: #ff6f00 !important +} + +.amber.accent-1 { + background-color: #ffe57f !important +} + +.amber-text.text-accent-1 { + color: #ffe57f !important +} + +.amber.accent-2 { + background-color: #ffd740 !important +} + +.amber-text.text-accent-2 { + color: #ffd740 !important +} + +.amber.accent-3 { + background-color: #ffc400 !important +} + +.amber-text.text-accent-3 { + color: #ffc400 !important +} + +.amber.accent-4 { + background-color: #ffab00 !important +} + +.amber-text.text-accent-4 { + color: #ffab00 !important +} + +.orange.lighten-5 { + background-color: #fff3e0 !important +} + +.orange-text.text-lighten-5 { + color: #fff3e0 !important +} + +.orange.lighten-4 { + background-color: #ffe0b2 !important +} + +.orange-text.text-lighten-4 { + color: #ffe0b2 !important +} + +.orange.lighten-3 { + background-color: #ffcc80 !important +} + +.orange-text.text-lighten-3 { + color: #ffcc80 !important +} + +.orange.lighten-2 { + background-color: #ffb74d !important +} + +.orange-text.text-lighten-2 { + color: #ffb74d !important +} + +.orange.lighten-1 { + background-color: #ffa726 !important +} + +.orange-text.text-lighten-1 { + color: #ffa726 !important +} + +.orange { + background-color: #ff9800 !important +} + +.orange-text { + color: #ff9800 !important +} + +.orange.darken-1 { + background-color: #fb8c00 !important +} + +.orange-text.text-darken-1 { + color: #fb8c00 !important +} + +.orange.darken-2 { + background-color: #f57c00 !important +} + +.orange-text.text-darken-2 { + color: #f57c00 !important +} + +.orange.darken-3 { + background-color: #ef6c00 !important +} + +.orange-text.text-darken-3 { + color: #ef6c00 !important +} + +.orange.darken-4 { + background-color: #e65100 !important +} + +.orange-text.text-darken-4 { + color: #e65100 !important +} + +.orange.accent-1 { + background-color: #ffd180 !important +} + +.orange-text.text-accent-1 { + color: #ffd180 !important +} + +.orange.accent-2 { + background-color: #ffab40 !important +} + +.orange-text.text-accent-2 { + color: #ffab40 !important +} + +.orange.accent-3 { + background-color: #ff9100 !important +} + +.orange-text.text-accent-3 { + color: #ff9100 !important +} + +.orange.accent-4 { + background-color: #ff6d00 !important +} + +.orange-text.text-accent-4 { + color: #ff6d00 !important +} + +.deep-orange.lighten-5 { + background-color: #fbe9e7 !important +} + +.deep-orange-text.text-lighten-5 { + color: #fbe9e7 !important +} + +.deep-orange.lighten-4 { + background-color: #ffccbc !important +} + +.deep-orange-text.text-lighten-4 { + color: #ffccbc !important +} + +.deep-orange.lighten-3 { + background-color: #ffab91 !important +} + +.deep-orange-text.text-lighten-3 { + color: #ffab91 !important +} + +.deep-orange.lighten-2 { + background-color: #ff8a65 !important +} + +.deep-orange-text.text-lighten-2 { + color: #ff8a65 !important +} + +.deep-orange.lighten-1 { + background-color: #ff7043 !important +} + +.deep-orange-text.text-lighten-1 { + color: #ff7043 !important +} + +.deep-orange { + background-color: #ff5722 !important +} + +.deep-orange-text { + color: #ff5722 !important +} + +.deep-orange.darken-1 { + background-color: #f4511e !important +} + +.deep-orange-text.text-darken-1 { + color: #f4511e !important +} + +.deep-orange.darken-2 { + background-color: #e64a19 !important +} + +.deep-orange-text.text-darken-2 { + color: #e64a19 !important +} + +.deep-orange.darken-3 { + background-color: #d84315 !important +} + +.deep-orange-text.text-darken-3 { + color: #d84315 !important +} + +.deep-orange.darken-4 { + background-color: #bf360c !important +} + +.deep-orange-text.text-darken-4 { + color: #bf360c !important +} + +.deep-orange.accent-1 { + background-color: #ff9e80 !important +} + +.deep-orange-text.text-accent-1 { + color: #ff9e80 !important +} + +.deep-orange.accent-2 { + background-color: #ff6e40 !important +} + +.deep-orange-text.text-accent-2 { + color: #ff6e40 !important +} + +.deep-orange.accent-3 { + background-color: #ff3d00 !important +} + +.deep-orange-text.text-accent-3 { + color: #ff3d00 !important +} + +.deep-orange.accent-4 { + background-color: #dd2c00 !important +} + +.deep-orange-text.text-accent-4 { + color: #dd2c00 !important +} + +.brown.lighten-5 { + background-color: #efebe9 !important +} + +.brown-text.text-lighten-5 { + color: #efebe9 !important +} + +.brown.lighten-4 { + background-color: #d7ccc8 !important +} + +.brown-text.text-lighten-4 { + color: #d7ccc8 !important +} + +.brown.lighten-3 { + background-color: #bcaaa4 !important +} + +.brown-text.text-lighten-3 { + color: #bcaaa4 !important +} + +.brown.lighten-2 { + background-color: #a1887f !important +} + +.brown-text.text-lighten-2 { + color: #a1887f !important +} + +.brown.lighten-1 { + background-color: #8d6e63 !important +} + +.brown-text.text-lighten-1 { + color: #8d6e63 !important +} + +.brown { + background-color: #795548 !important +} + +.brown-text { + color: #795548 !important +} + +.brown.darken-1 { + background-color: #6d4c41 !important +} + +.brown-text.text-darken-1 { + color: #6d4c41 !important +} + +.brown.darken-2 { + background-color: #5d4037 !important +} + +.brown-text.text-darken-2 { + color: #5d4037 !important +} + +.brown.darken-3 { + background-color: #4e342e !important +} + +.brown-text.text-darken-3 { + color: #4e342e !important +} + +.brown.darken-4 { + background-color: #3e2723 !important +} + +.brown-text.text-darken-4 { + color: #3e2723 !important +} + +.blue-grey.lighten-5 { + background-color: #eceff1 !important +} + +.blue-grey-text.text-lighten-5 { + color: #eceff1 !important +} + +.blue-grey.lighten-4 { + background-color: #cfd8dc !important +} + +.blue-grey-text.text-lighten-4 { + color: #cfd8dc !important +} + +.blue-grey.lighten-3 { + background-color: #b0bec5 !important +} + +.blue-grey-text.text-lighten-3 { + color: #b0bec5 !important +} + +.blue-grey.lighten-2 { + background-color: #90a4ae !important +} + +.blue-grey-text.text-lighten-2 { + color: #90a4ae !important +} + +.blue-grey.lighten-1 { + background-color: #78909c !important +} + +.blue-grey-text.text-lighten-1 { + color: #78909c !important +} + +.blue-grey { + background-color: #607d8b !important +} + +.blue-grey-text { + color: #607d8b !important +} + +.blue-grey.darken-1 { + background-color: #546e7a !important +} + +.blue-grey-text.text-darken-1 { + color: #546e7a !important +} + +.blue-grey.darken-2 { + background-color: #455a64 !important +} + +.blue-grey-text.text-darken-2 { + color: #455a64 !important +} + +.blue-grey.darken-3 { + background-color: #37474f !important +} + +.blue-grey-text.text-darken-3 { + color: #37474f !important +} + +.blue-grey.darken-4 { + background-color: #263238 !important +} + +.blue-grey-text.text-darken-4 { + color: #263238 !important +} + +.grey.lighten-5 { + background-color: #fafafa !important +} + +.grey-text.text-lighten-5 { + color: #fafafa !important +} + +.grey.lighten-4 { + background-color: #f5f5f5 !important +} + +.grey-text.text-lighten-4 { + color: #f5f5f5 !important +} + +.grey.lighten-3 { + background-color: #eee !important +} + +.grey-text.text-lighten-3 { + color: #eee !important +} + +.grey.lighten-2 { + background-color: #e0e0e0 !important +} + +.grey-text.text-lighten-2 { + color: #e0e0e0 !important +} + +.grey.lighten-1 { + background-color: #bdbdbd !important +} + +.grey-text.text-lighten-1 { + color: #bdbdbd !important +} + +.grey { + background-color: #9e9e9e !important +} + +.grey-text { + color: #9e9e9e !important +} + +.grey.darken-1 { + background-color: #757575 !important +} + +.grey-text.text-darken-1 { + color: #757575 !important +} + +.grey.darken-2 { + background-color: #616161 !important +} + +.grey-text.text-darken-2 { + color: #616161 !important +} + +.grey.darken-3 { + background-color: #424242 !important +} + +.grey-text.text-darken-3 { + color: #424242 !important +} + +.grey.darken-4 { + background-color: #212121 !important +} + +.grey-text.text-darken-4 { + color: #212121 !important +} + +.shades.black { + background-color: #000 !important +} + +.shades-text.text-black { + color: #000 !important +} + +.shades.white { + background-color: #FFF !important +} + +.shades-text.text-white { + color: #FFF !important +} + +.shades.transparent { + background-color: transparent !important +} + +.shades-text.text-transparent { + color: transparent !important +} + +.black { + background-color: #000 !important +} + +.black-text { + color: #000 !important +} + +.white { + background-color: #FFF !important +} + +.white-text { + color: #FFF !important +} + +.transparent { + background-color: transparent !important +} + +.transparent-text { + color: transparent !important +} + +.danger-color { + background-color: #f44 !important +} + +.danger-color-dark { + background-color: #C00 !important +} + +.warning-color { + background-color: #fb3 !important +} + +.warning-color-dark { + background-color: #F80 !important +} + +.success-color { + background-color: #00C851 !important +} + +.success-color-dark { + background-color: #007E33 !important +} + +.info-color { + background-color: #33b5e5 !important +} + +.info-color-dark { + background-color: #09C !important +} + +.default-color { + background-color: #2BBBAD !important +} + +.default-color-dark { + background-color: #00695c !important +} + +.primary-color { + background-color: #4285F4 !important +} + +.primary-color-dark { + background-color: #0d47a1 !important +} + +.secondary-color { + background-color: #a6c !important +} + +.secondary-color-dark { + background-color: #93C !important +} + +.elegant-color { + background-color: #2E2E2E !important +} + +.elegant-color-dark { + background-color: #212121 !important +} + +.stylish-color { + background-color: #4B515D !important +} + +.stylish-color-dark { + background-color: #3E4551 !important +} + +.special-color { + background-color: #37474F !important +} + +.special-color-dark { + background-color: #263238 !important +} + +.unique-color { + background-color: #3F729B !important +} + +.unique-color-dark { + background-color: #1C2331 !important +} + +.mdb-color { + background-color: #45526E !important +} + +.rgba-blue-light { + background-color: rgba(3, 169, 244, .3) !important +} + +.rgba-red-light { + background-color: rgba(244, 67, 54, .3) !important +} + +.rgba-pink-light { + background-color: rgba(233, 30, 99, .3) !important +} + +.rgba-purple-light { + background-color: rgba(156, 39, 176, .3) !important +} + +.rgba-indigo-light { + background-color: rgba(63, 81, 181, .3) !important +} + +.rgba-cyan-light { + background-color: rgba(0, 188, 212, .3) !important +} + +.rgba-teal-light { + background-color: rgba(0, 150, 136, .3) !important +} + +.rgba-green-light { + background-color: rgba(76, 175, 80, .3) !important +} + +.rgba-lime-light { + background-color: rgba(205, 220, 57, .3) !important +} + +.rgba-yellow-light { + background-color: rgba(255, 235, 59, .3) !important +} + +.rgba-orange-light { + background-color: rgba(255, 152, 0, .3) !important +} + +.rgba-brown-light { + background-color: rgba(121, 85, 72, .3) !important +} + +.rgba-grey-light { + background-color: rgba(158, 158, 158, .3) !important +} + +.rgba-bluegrey-light { + background-color: rgba(96, 125, 139, .3) !important +} + +.rgba-black-light { + background-color: rgba(0, 0, 0, .3) !important +} + +.rgba-stylish-light { + background-color: rgba(62, 69, 81, .3) !important +} + +.rgba-white-light { + background-color: rgba(255, 255, 255, .3) !important +} + +.rgba-blue-strong { + background-color: rgba(3, 169, 244, .7) !important +} + +.rgba-red-strong { + background-color: rgba(244, 67, 54, .7) !important +} + +.rgba-pink-strong { + background-color: rgba(233, 30, 99, .7) !important +} + +.rgba-purple-strong { + background-color: rgba(156, 39, 176, .7) !important +} + +.rgba-indigo-strong { + background-color: rgba(63, 81, 181, .7) !important +} + +.rgba-cyan-strong { + background-color: rgba(0, 188, 212, .7) !important +} + +.rgba-teal-strong { + background-color: rgba(0, 150, 136, .7) !important +} + +.rgba-green-strong { + background-color: rgba(76, 175, 80, .7) !important +} + +.rgba-lime-strong { + background-color: rgba(205, 220, 57, .7) !important +} + +.rgba-yellow-strong { + background-color: rgba(255, 235, 59, .7) !important +} + +.rgba-orange-strong { + background-color: rgba(255, 152, 0, .7) !important +} + +.rgba-brown-strong { + background-color: rgba(121, 85, 72, .7) !important +} + +.rgba-grey-strong { + background-color: rgba(158, 158, 158, .7) !important +} + +.rgba-bluegrey-strong { + background-color: rgba(96, 125, 139, .7) !important +} + +.rgba-black-strong { + background-color: rgba(0, 0, 0, .7) !important +} + +.rgba-stylish-strong { + background-color: rgba(62, 69, 81, .7) !important +} + +.rgba-white-strong { + background-color: rgba(255, 255, 255, .7) !important +} + +.rgba-blue-slight { + background-color: rgba(3, 169, 244, .1) !important +} + +.rgba-red-slight { + background-color: rgba(244, 67, 54, .1) !important +} + +.rgba-pink-slight { + background-color: rgba(233, 30, 99, .1) !important +} + +.rgba-purple-slight { + background-color: rgba(156, 39, 176, .1) !important +} + +.rgba-indigo-slight { + background-color: rgba(63, 81, 181, .1) !important +} + +.rgba-cyan-slight { + background-color: rgba(0, 188, 212, .1) !important +} + +.rgba-teal-slight { + background-color: rgba(0, 150, 136, .1) !important +} + +.rgba-green-slight { + background-color: rgba(76, 175, 80, .1) !important +} + +.rgba-lime-slight { + background-color: rgba(205, 220, 57, .1) !important +} + +.rgba-yellow-slight { + background-color: rgba(255, 235, 59, .1) !important +} + +.rgba-orange-slight { + background-color: rgba(255, 152, 0, .1) !important +} + +.rgba-brown-slight { + background-color: rgba(121, 85, 72, .1) !important +} + +.rgba-grey-slight { + background-color: rgba(158, 158, 158, .1) !important +} + +.rgba-bluegrey-slight { + background-color: rgba(96, 125, 139, .1) !important +} + +.rgba-black-slight { + background-color: rgba(0, 0, 0, .1) !important +} + +.rgba-stylish-slight { + background-color: rgba(62, 69, 81, .1) !important +} + +.rgba-white-slight { + background-color: rgba(255, 255, 255, .1) !important +} + +.blue-gradient { + background: #000; + background: -moz-linear-gradient(-45deg, #000 0, #062a64 100%); + background: -webkit-linear-gradient(-45deg, #000 0, #062a64 100%); + background: linear-gradient(135deg, #000 0, #062a64 100%); + filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#062a64', GradientType=1 ) +} + +.red-gradient { + background: #000; + background: -moz-linear-gradient(-45deg, #000 0, #7d0000 100%); + background: -webkit-linear-gradient(-45deg, #000 0, #7d0000 100%); + background: linear-gradient(135deg, #000 0, #7d0000 100%); + filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#7d0000', GradientType=1 ) +} + +.green-gradient { + background: #000; + background: -moz-linear-gradient(-45deg, #000 0, #003830 100%); + background: -webkit-linear-gradient(-45deg, #000 0, #003830 100%); + background: linear-gradient(135deg, #000 0, #003830 100%); + filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#003830', GradientType=1 ) +} + +.purple-gradient { + background: #000; + background: -moz-linear-gradient(-45deg, #000 0, #650696 100%); + background: -webkit-linear-gradient(-45deg, #000 0, #650696 100%); + background: linear-gradient(135deg, #000 0, #650696 100%); + filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#650696', GradientType=1 ) +} + +.dark-gradient { + background: #000; + background: -moz-linear-gradient(-45deg, #000 0, #2e2e2e 100%); + background: -webkit-linear-gradient(-45deg, #000 0, #2e2e2e 100%); + background: linear-gradient(135deg, #000 0, #2e2e2e 100%); + filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#2e2e2e', GradientType=1 ) +} + +.grey-gradient { + background: #000; + background: -moz-linear-gradient(-45deg, #000 0, #4b515d 100%); + background: -webkit-linear-gradient(-45deg, #000 0, #4b515d 100%); + background: linear-gradient(135deg, #000 0, #4b515d 100%); + filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#4b515d', GradientType=1 ) +} + +.mdb-gradient { + background: #000; + background: -moz-linear-gradient(-45deg, #000 0, #3f729b 100%); + background: -webkit-linear-gradient(-45deg, #000 0, #3f729b 100%); + background: linear-gradient(135deg, #000 0, #3f729b 100%); + filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#3f729b', GradientType=1 ) +} + +.deep-orange-gradient { + background: #000; + background: -moz-linear-gradient(-45deg, #000 0, #8a1a00 100%); + background: -webkit-linear-gradient(-45deg, #000 0, #8a1a00 100%); + background: linear-gradient(135deg, #000 0, #8a1a00 100%); + filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#8a1a00', GradientType=1 ) +} + +.graphite-gradient { + background: #000; + background: -moz-linear-gradient(-45deg, #000 0, #37474f 100%); + background: -webkit-linear-gradient(-45deg, #000 0, #37474f 100%); + background: linear-gradient(135deg, #000 0, #37474f 100%); + filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#37474f', GradientType=1 ) +} + +.pink-gradient { + background: #000; + background: -moz-linear-gradient(-45deg, #000 0, #880e4f 100%); + background: -webkit-linear-gradient(-45deg, #000 0, #880e4f 100%); + background: linear-gradient(135deg, #000 0, #880e4f 100%); + filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#880e4f', GradientType=1 ) +} + +.parallax, .video-full { + background-size: cover +} + +.section .map-container img, .z-depth-0 { + box-shadow: none !important +} + +.badge, .btn, .card, .chip, .dropdown-menu, .jumbotron, .list-group, +.navbar, .pager li a, .pagination .active .page-link, .popover, .z-depth-1 { + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .16), 0 2px 10px 0 rgba(0, 0, 0, .12) +} + +.btn-amber.active, .btn-blue-grey.active, .btn-brown.active, .btn-cyan.active, +.btn-danger.active, .btn-dark-green.active, .btn-deep-orange.active, +.btn-deep-purple.active, .btn-default.active, .btn-elegant.active, +.btn-indigo.active, .btn-info.active, .btn-light-green.active, .btn-lime.active, +.btn-mdb.active, .btn-orange.active, .btn-pink.active, .btn-primary.active, +.btn-purple.active, .btn-secondary.active, .btn-secondary.dropdown-toggle, +.btn-success.active, .btn-unique.active, .btn-warning.active, .btn-yellow.active, +.btn.active, .btn:active, .btn:focus, .btn:hover, .media .media-left img, +.pager li a:hover, .section .view, .section img, .tooltip .tooltip-inner, +.z-depth-1-half, ul.instagram-photos li img { + box-shadow: 0 5px 11px 0 rgba(0, 0, 0, .18), 0 4px 15px 0 rgba(0, 0, 0, .15) +} + +.section .jumbotron, .z-depth-2 { + box-shadow: 0 8px 17px 0 rgba(0, 0, 0, .2), 0 6px 20px 0 rgba(0, 0, 0, .19) +} + +.z-depth-3 { + box-shadow: 0 12px 15px 0 rgba(0, 0, 0, .24), 0 17px 50px 0 rgba(0, 0, 0, .19) +} + +.z-depth-4 { + box-shadow: 0 16px 28px 0 rgba(0, 0, 0, .22), 0 25px 55px 0 rgba(0, 0, 0, .21) +} + +.z-depth-5 { + box-shadow: 0 27px 24px 0 rgba(0, 0, 0, .2), 0 40px 77px 0 rgba(0, 0, 0, .22) +} + +.hoverable { + transition: box-shadow .55s; + box-shadow: 0 +} + +.hoverable:hover { + transition: box-shadow .45s; + box-shadow: 0 8px 17px 0 rgba(0, 0, 0, .2), 0 6px 20px 0 rgba(0, 0, 0, .19) +} + +a { + color: #0275d8; + cursor: pointer +} + +ul { + padding: 0 +} + +.alert, .badge, .breadcrumb, .card, .card .card-header, .dropdown-menu, +.file-custom, .input-group-addon, .jumbotron, .list-group .list-group-item, +.modal-content, .nav .nav-link, .nav-tabs, .navbar, .navbar-toggler, +.page-item:first-child .page-link, .page-item:last-child .page-link, +.pagination-lg .page-item:first-child .page-link, .pagination-lg .page-item:last-child .page-link, +.pagination-sm .page-item:first-child .page-link, .pagination-sm .page-item:last-child .page-link, +.popover, .tooltip-inner, img { + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px +} + +.dropdown-menu, .input-group-addon, .pagination .page-item .page-link, +.popover { + border: 0 +} + +.pagination .active .page-link { + border-radius: 2px; + transition: all .2s linear +} + +.pagination .page-link, .pagination .page-link:hover { + transition: all .3s linear +} + +.pagination .page-link:focus { + background-color: transparent +} + +.pagination.pg-blue .active .page-link { + background-color: #4285F4 +} + +.pagination.pg-red .active .page-link { + background-color: #f44 +} + +.pagination.pg-teal .active .page-link { + background-color: #2BBBAD +} + +.pagination.pg-darkgrey .active .page-link { + background-color: #37474F +} + +.pagination.pg-dark .active .page-link { + background-color: #2E2E2E +} + +.pagination.pg-bluegrey .active .page-link { + background-color: #3F729B +} + +.pagination.pg-amber .active .page-link { + background-color: #ff6f00 +} + +.pagination.pg-purple .active .page-link { + background-color: #5e35b1 +} + +.pager .disabled > a, .pager a { + color: #fff +} + +.pager.pg-blue li a { + background-color: #4285F4 +} + +.pager.pg-blue li a:focus, .pager.pg-blue li a:hover { + background-color: #4285F4; + color: #fff +} + +.pager.pg-red li a { + background-color: #f44 +} + +.pager.pg-red li a:focus, .pager.pg-red li a:hover { + background-color: #f44; + color: #fff +} + +.pager.pg-teal li a { + background-color: #2BBBAD +} + +.pager.pg-teal li a:focus, .pager.pg-teal li a:hover { + background-color: #2BBBAD; + color: #fff +} + +.pager.pg-darkgrey li a { + background-color: #37474F +} + +.pager.pg-darkgrey li a:focus, .pager.pg-darkgrey li a:hover { + background-color: #37474F; + color: #fff +} + +.pager.pg-dark li a { + background-color: #2E2E2E +} + +.pager.pg-dark li a:focus, .pager.pg-dark li a:hover { + background-color: #2E2E2E; + color: #fff +} + +.pager.pg-bluegrey li a { + background-color: #3F729B +} + +.pager.pg-bluegrey li a:focus, .pager.pg-bluegrey li a:hover { + background-color: #3F729B; + color: #fff +} + +.pager.pg-amber li a { + background-color: #ff6f00 +} + +.pager.pg-amber li a:focus, .pager.pg-amber li a:hover { + background-color: #ff6f00; + color: #fff +} + +.pager.pg-purple li a { + background-color: #5e35b1 +} + +.pager.pg-purple li a:focus, .pager.pg-purple li a:hover { + background-color: #5e35b1; + color: #fff +} + +.pager .disabled > a, .pager .disabled > a:focus, .pager .disabled > a:hover { + background-color: inerhit !important +} + +.modal-footer .btn + .btn { + margin-bottom: 6px +} + +body.modal-open { + overflow: inherit; + padding-right: 0 !important +} + +body { + overflow: auto !important; + font-family: Roboto, sans-serif +} + +.card-columns .card { + margin: 2px +} + +.parallax { + background-repeat: no-repeat; + background-attachment: fixed; + position: relative; + padding-top: 3em; + padding-bottom: 3em +} + +.nav-pills.horizontal-spy .nav-item .active { + border-bottom: 2px solid #45526E; + border-left: none +} + +.nav-pills.horizontal-spy .nav-item:hover { + background-color: transparent; + color: #45526E; + font-weight: 500; + border-left: none +} + +.card-block h3, .card-block h5 { + margin-bottom: 1rem; + font-weight: 400 +} + +.nav-pills .nav-item.open .nav-link, .nav-pills .nav-item.open .nav-link:focus, +.nav-pills .nav-item.open .nav-link:hover, .nav-pills .nav-link.active, +.nav-pills .nav-link.active:focus, .nav-pills .nav-link.active:hover { + background-color: transparent; + color: #000 +} + +.disabled { + cursor: not-allowed !important +} + +.video-fluid { + height: auto; + width: 100% +} + +.video-full { + position: fixed; + top: 50%; + left: 50%; + min-width: 100%; + min-height: 100%; + width: auto; + height: auto; + z-index: -100; + -ms-transform: translateX(-50%) translateY(-50%); + -moz-transform: translateX(-50%) translateY(-50%); + -webkit-transform: translateX(-50%) translateY(-50%); + transform: translateX(-50%) translateY(-50%) +} + +.media .media-left { + padding: 0 10px 10px 0 +} + +.card-block h5 { + font-size: 1rem +} + +.divider-new, .text-fluid, h1, h2, h3, h4, h5, h6 { + font-weight: 300 +} + +.card-block p { + margin-bottom: 1rem +} + +.tooltip .tooltip-inner { + padding: .4rem .8rem +} + +section { + -webkit-flex: 0 0 100%; + -ms-flex: 0 0 100%; + flex: 0 0 100% +} + +@font-face { + font-family: Roboto; + src: local(Roboto Thin), url(../font/roboto/Roboto-Thin.eot); + src: url(../font/roboto/Roboto-Thin.eot?#iefix) format("embedded-opentype"), url(../font/roboto/Roboto-Thin.woff2) format("woff2"), url(../font/roboto/Roboto-Thin.woff) format("woff"), url(../font/roboto/Roboto-Thin.ttf) format("truetype"); + font-weight: 200 +} + +@font-face { + font-family: Roboto; + src: local(Roboto Light), url(../font/roboto/Roboto-Light.eot); + src: url(../font/roboto/Roboto-Light.eot?#iefix) format("embedded-opentype"), url(../font/roboto/Roboto-Light.woff2) format("woff2"), url(../font/roboto/Roboto-Light.woff) format("woff"), url(../font/roboto/Roboto-Light.ttf) format("truetype"); + font-weight: 300 +} + +@font-face { + font-family: Roboto; + src: local(Roboto Regular), url(../font/roboto/Roboto-Regular.eot); + src: url(../font/roboto/Roboto-Regular.eot?#iefix) format("embedded-opentype"), url(../font/roboto/Roboto-Regular.woff2) format("woff2"), url(../font/roboto/Roboto-Regular.woff) format("woff"), url(../font/roboto/Roboto-Regular.ttf) format("truetype"); + font-weight: 400 +} + +@font-face { + font-family: Roboto; + src: url(../font/roboto/Roboto-Medium.eot); + src: url(../font/roboto/Roboto-Medium.eot?#iefix) format("embedded-opentype"), url(../font/roboto/Roboto-Medium.woff2) format("woff2"), url(../font/roboto/Roboto-Medium.woff) format("woff"), url(../font/roboto/Roboto-Medium.ttf) format("truetype"); + font-weight: 500 +} + +@font-face { + font-family: Roboto; + src: url(../font/roboto/Roboto-Bold.eot); + src: url(../font/roboto/Roboto-Bold.eot?#iefix) format("embedded-opentype"), url(../font/roboto/Roboto-Bold.woff2) format("woff2"), url(../font/roboto/Roboto-Bold.woff) format("woff"), url(../font/roboto/Roboto-Bold.ttf) format("truetype"); + font-weight: 700 +} + +@media only screen and (min-width:0) { + html { + font-size: 15px + } +} + +@media only screen and (min-width:992px) { + html { + font-size: 15.5px + } +} + +@media only screen and (min-width:1200px) { + html { + font-size: 16px + } +} + +@media only screen and (min-width:360px) { + .text-fluid { + font-size: 1.2rem + } +} + +@media only screen and (min-width:390px) { + .text-fluid { + font-size: 1.224rem + } +} + +@media only screen and (min-width:420px) { + .text-fluid { + font-size: 1.248rem + } +} + +@media only screen and (min-width:450px) { + .text-fluid { + font-size: 1.272rem + } +} + +@media only screen and (min-width:480px) { + .text-fluid { + font-size: 1.296rem + } +} + +@media only screen and (min-width:510px) { + .text-fluid { + font-size: 1.32rem + } +} + +@media only screen and (min-width:540px) { + .text-fluid { + font-size: 1.344rem + } +} + +@media only screen and (min-width:570px) { + .text-fluid { + font-size: 1.368rem + } +} + +@media only screen and (min-width:600px) { + .text-fluid { + font-size: 1.392rem + } +} + +@media only screen and (min-width:630px) { + .text-fluid { + font-size: 1.416rem + } +} + +@media only screen and (min-width:660px) { + .text-fluid { + font-size: 1.44rem + } +} + +@media only screen and (min-width:690px) { + .text-fluid { + font-size: 1.464rem + } +} + +@media only screen and (min-width:720px) { + .text-fluid { + font-size: 1.488rem + } +} + +@media only screen and (min-width:750px) { + .text-fluid { + font-size: 1.512rem + } +} + +@media only screen and (min-width:780px) { + .text-fluid { + font-size: 1.536rem + } +} + +@media only screen and (min-width:810px) { + .text-fluid { + font-size: 1.56rem + } +} + +@media only screen and (min-width:840px) { + .text-fluid { + font-size: 1.584rem + } +} + +@media only screen and (min-width:870px) { + .text-fluid { + font-size: 1.608rem + } +} + +@media only screen and (min-width:900px) { + .text-fluid { + font-size: 1.632rem + } +} + +@media only screen and (min-width:930px) { + .text-fluid { + font-size: 1.656rem + } +} + +@media only screen and (min-width:960px) { + .text-fluid { + font-size: 1.68rem + } +} + +@media only screen and (max-width:360px) { + .text-fluid { + font-size: 1.2rem + } +} + +p.lead { + font-weight: 400 +} + +blockquote p { + font-size: .9rem; + padding-left: 2rem; + padding-top: 1rem; + padding-bottom: 1rem +} + +@media only screen and (max-width:768px) { + .h1-responsive, .section .section-heading { + font-size: 150%; + font-weight: 500 + } + + .h2-responsive { + font-size: 145% + } + + .h3-responsive, .h4-responsive, .h5-responsive { + font-size: 135% + } +} + +@media only screen and (min-width:768px) { + .h1-responsive, .section .section-heading { + font-size: 170% + } + + .h2-responsive { + font-size: 140% + } + + .h3-responsive, .h4-responsive, .h5-responsive { + font-size: 125% + } +} + +@media only screen and (min-width:992px) { + .h1-responsive, .section .section-heading { + font-size: 200% + } + + .h2-responsive { + font-size: 170% + } + + .h3-responsive { + font-size: 140% + } + + .h4-responsive, .h5-responsive { + font-size: 125% + } +} + +@media only screen and (min-width:1200px) { + .h1-responsive, .section .section-heading { + font-size: 250% + } + + .h2-responsive { + font-size: 200% + } + + .h3-responsive { + font-size: 170% + } + + .h4-responsive { + font-size: 140% + } + + .h5-responsive { + font-size: 125% + } +} + +.section { + margin-bottom: 2rem +} + +.section .section-heading { + margin-top: 2rem; + margin-bottom: 4rem +} + +.section .section-description { + color: #757575; + margin-bottom: 4rem; + margin-left: 15%; + margin-right: 15%; + text-align: center +} + +@media (max-width:992px) { + .section .section-description { + margin-left: 5%; + margin-right: 5% + } +} + +.section.extra-margins a, .section.extra-margins h4, .section.extra-margins h5 { + margin-bottom: 1rem +} + +.section h4 { + font-weight: 400 +} + +.section h5 .fa { + margin-right: 8px +} + +.section hr { + margin-top: 1rem; + margin-bottom: 3rem +} + +@media (min-width:992px) { + .section hr { + display: none + } +} + +.section .contact-icons { + text-align: center +} + +.section .contact-icons li { + margin-bottom: 2.2rem +} + +.section .contact-icons .fa { + font-size: 2.2rem; + margin-bottom: .6rem; + color: #424242 +} + +.between-sections { + margin-bottom: 4rem +} + +/*! + * animate.css -http://daneden.me/animate + * Version - 3.5.1 + * Licensed under the MIT license - http://opensource.org/licenses/MIT + * + * Copyright (c) 2016 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 { + 20%, 53%, 80%, from, to { + -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1); + animation-timing-function: cubic-bezier(.215, .61, .355, 1); + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0) + } + + 40%, 43% { + -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06); + animation-timing-function: cubic-bezier(.755, .05, .855, .06); + -webkit-transform: translate3d(0, -30px, 0); + transform: translate3d(0, -30px, 0) + } + + 70% { + -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06); + animation-timing-function: cubic-bezier(.755, .05, .855, .06); + -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 { + 20%, 53%, 80%, from, to { + -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1); + animation-timing-function: cubic-bezier(.215, .61, .355, 1); + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0) + } + + 40%, 43% { + -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06); + animation-timing-function: cubic-bezier(.755, .05, .855, .06); + -webkit-transform: translate3d(0, -30px, 0); + transform: translate3d(0, -30px, 0) + } + + 70% { + -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06); + animation-timing-function: cubic-bezier(.755, .05, .855, .06); + -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; + -ms-transform-origin: center bottom; + transform-origin: center bottom +} + +@-webkit-keyframes flash { + 50%, from, to { + opacity: 1 + } + + 25%, 75% { + opacity: 0 + } +} + +@keyframes flash { + 50%, from, to { + opacity: 1 + } + + 25%, 75% { + opacity: 0 + } +} + +.flash { + -webkit-animation-name: flash; + animation-name: flash +} + +@-webkit-keyframes pulse { + from, to { + -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) + } +} + +@keyframes pulse { + from, to { + -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) + } +} + +.pulse { + -webkit-animation-name: pulse; + animation-name: pulse +} + +@-webkit-keyframes rubberBand { + from, to { + -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(.75, 1.25, 1); + transform: scale3d(.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) + } +} + +@keyframes rubberBand { + from, to { + -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(.75, 1.25, 1); + transform: scale3d(.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) + } +} + +.rubberBand { + -webkit-animation-name: rubberBand; + animation-name: rubberBand +} + +@-webkit-keyframes shake { + from, to { + -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 { + from, to { + -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 headShake { + 0% { + -webkit-transform: translateX(0); + transform: translateX(0) + } + + 6.5% { + -webkit-transform: translateX(-6px) rotateY(-9deg); + transform: translateX(-6px) rotateY(-9deg) + } + + 18.5% { + -webkit-transform: translateX(5px) rotateY(7deg); + transform: translateX(5px) rotateY(7deg) + } + + 31.5% { + -webkit-transform: translateX(-3px) rotateY(-5deg); + transform: translateX(-3px) rotateY(-5deg) + } + + 43.5% { + -webkit-transform: translateX(2px) rotateY(3deg); + transform: translateX(2px) rotateY(3deg) + } + + 50% { + -webkit-transform: translateX(0); + transform: translateX(0) + } +} + +@keyframes headShake { + 0% { + -webkit-transform: translateX(0); + transform: translateX(0) + } + + 6.5% { + -webkit-transform: translateX(-6px) rotateY(-9deg); + transform: translateX(-6px) rotateY(-9deg) + } + + 18.5% { + -webkit-transform: translateX(5px) rotateY(7deg); + transform: translateX(5px) rotateY(7deg) + } + + 31.5% { + -webkit-transform: translateX(-3px) rotateY(-5deg); + transform: translateX(-3px) rotateY(-5deg) + } + + 43.5% { + -webkit-transform: translateX(2px) rotateY(3deg); + transform: translateX(2px) rotateY(3deg) + } + + 50% { + -webkit-transform: translateX(0); + transform: translateX(0) + } +} + +.headShake { + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + -webkit-animation-name: headShake; + animation-name: headShake +} + +@-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) + } + + to { + -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) + } + + to { + -webkit-transform: rotate3d(0, 0, 1, 0deg); + transform: rotate3d(0, 0, 1, 0deg) + } +} + +.swing { + -webkit-transform-origin: top center; + -ms-transform-origin: top center; + transform-origin: top center; + -webkit-animation-name: swing; + animation-name: swing +} + +@-webkit-keyframes tada { + from, to { + -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) + } +} + +@keyframes tada { + from, to { + -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) + } +} + +.tada { + -webkit-animation-name: tada; + animation-name: tada +} + +@-webkit-keyframes wobble { + from, to { + -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) + } +} + +@keyframes wobble { + from, to { + -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) + } +} + +.wobble { + -webkit-animation-name: wobble; + animation-name: wobble +} + +@-webkit-keyframes jello { + 11.1%, from, to { + -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(.39063deg) skewY(.39063deg); + transform: skewX(.39063deg) skewY(.39063deg) + } + + 88.8% { + -webkit-transform: skewX(-.19531deg) skewY(-.19531deg); + transform: skewX(-.19531deg) skewY(-.19531deg) + } +} + +@keyframes jello { + 11.1%, from, to { + -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(.39063deg) skewY(.39063deg); + transform: skewX(.39063deg) skewY(.39063deg) + } + + 88.8% { + -webkit-transform: skewX(-.19531deg) skewY(-.19531deg); + transform: skewX(-.19531deg) skewY(-.19531deg) + } +} + +.jello { + -webkit-animation-name: jello; + animation-name: jello; + -webkit-transform-origin: center; + -ms-transform-origin: center; + transform-origin: center +} + +@-webkit-keyframes bounceIn { + 20%, 40%, 60%, 80%, from, to { + -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1); + animation-timing-function: cubic-bezier(.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) + } + + to { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1) + } +} + +@keyframes bounceIn { + 20%, 40%, 60%, 80%, from, to { + -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1); + animation-timing-function: cubic-bezier(.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) + } + + to { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1) + } +} + +.bounceIn { + -webkit-animation-name: bounceIn; + animation-name: bounceIn +} + +@-webkit-keyframes bounceInDown { + 60%, 75%, 90%, from, to { + -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1); + animation-timing-function: cubic-bezier(.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) + } + + to { + -webkit-transform: none; + transform: none + } +} + +@keyframes bounceInDown { + 60%, 75%, 90%, from, to { + -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1); + animation-timing-function: cubic-bezier(.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) + } + + to { + -webkit-transform: none; + transform: none + } +} + +.bounceInDown { + -webkit-animation-name: bounceInDown; + animation-name: bounceInDown +} + +@-webkit-keyframes bounceInLeft { + 60%, 75%, 90%, from, to { + -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1); + animation-timing-function: cubic-bezier(.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) + } + + to { + -webkit-transform: none; + transform: none + } +} + +@keyframes bounceInLeft { + 60%, 75%, 90%, from, to { + -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1); + animation-timing-function: cubic-bezier(.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) + } + + to { + -webkit-transform: none; + transform: none + } +} + +.bounceInLeft { + -webkit-animation-name: bounceInLeft; + animation-name: bounceInLeft +} + +@-webkit-keyframes bounceInRight { + 60%, 75%, 90%, from, to { + -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1); + animation-timing-function: cubic-bezier(.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) + } + + to { + -webkit-transform: none; + transform: none + } +} + +@keyframes bounceInRight { + 60%, 75%, 90%, from, to { + -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1); + animation-timing-function: cubic-bezier(.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) + } + + to { + -webkit-transform: none; + transform: none + } +} + +.bounceInRight { + -webkit-animation-name: bounceInRight; + animation-name: bounceInRight +} + +@-webkit-keyframes bounceInUp { + 60%, 75%, 90%, from, to { + -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1); + animation-timing-function: cubic-bezier(.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) + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0) + } +} + +@keyframes bounceInUp { + 60%, 75%, 90%, from, to { + -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1); + animation-timing-function: cubic-bezier(.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) + } + + to { + -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) + } + + to { + 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) + } + + to { + 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) + } + + to { + 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) + } + + to { + 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) + } + + to { + 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) + } + + to { + 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) + } + + to { + 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) + } + + to { + 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) + } + + to { + 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) + } + + to { + 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 + } + + to { + opacity: 1 + } +} + +@keyframes fadeIn { + from { + opacity: 0 + } + + to { + 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) + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none + } +} + +@keyframes fadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0) + } + + to { + 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) + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none + } +} + +@keyframes fadeInDownBig { + from { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0) + } + + to { + 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) + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none + } +} + +@keyframes fadeInLeft { + from { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0) + } + + to { + 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) + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none + } +} + +@keyframes fadeInLeftBig { + from { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0) + } + + to { + 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) + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none + } +} + +@keyframes fadeInRight { + from { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0) + } + + to { + 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) + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none + } +} + +@keyframes fadeInRightBig { + from { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0) + } + + to { + 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) + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none + } +} + +@keyframes fadeInUp { + from { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0) + } + + to { + 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) + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none + } +} + +@keyframes fadeInUpBig { + from { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0) + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none + } +} + +.fadeInUpBig { + -webkit-animation-name: fadeInUpBig; + animation-name: fadeInUpBig +} + +@-webkit-keyframes fadeOut { + from { + opacity: 1 + } + + to { + opacity: 0 + } +} + +@keyframes fadeOut { + from { + opacity: 1 + } + + to { + opacity: 0 + } +} + +.fadeOut { + -webkit-animation-name: fadeOut; + animation-name: fadeOut +} + +@-webkit-keyframes fadeOutDown { + from { + opacity: 1 + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0) + } +} + +@keyframes fadeOutDown { + from { + opacity: 1 + } + + to { + 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 + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0) + } +} + +@keyframes fadeOutDownBig { + from { + opacity: 1 + } + + to { + 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 + } + + to { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0) + } +} + +@keyframes fadeOutLeft { + from { + opacity: 1 + } + + to { + 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 + } + + to { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0) + } +} + +@keyframes fadeOutLeftBig { + from { + opacity: 1 + } + + to { + 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 + } + + to { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0) + } +} + +@keyframes fadeOutRight { + from { + opacity: 1 + } + + to { + 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 + } + + to { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0) + } +} + +@keyframes fadeOutRightBig { + from { + opacity: 1 + } + + to { + 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 + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0) + } +} + +@keyframes fadeOutUp { + from { + opacity: 1 + } + + to { + 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 + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0) + } +} + +@keyframes fadeOutUpBig { + from { + opacity: 1 + } + + to { + 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 + } + + to { + -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 + } + + to { + -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) + } + + to { + -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) + } + + to { + -webkit-transform: perspective(400px); + transform: perspective(400px) + } +} + +.flipInX { + backface-visibility: visible !important; + -webkit-animation-name: flipInX; + animation-name: flipInX +} + +.flipInX, .flipInY { + -webkit-backface-visibility: visible !important +} + +@-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) + } + + to { + -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) + } + + to { + -webkit-transform: perspective(400px); + transform: perspective(400px) + } +} + +.flipInY { + 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 + } + + to { + -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 + } + + to { + -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; + backface-visibility: visible !important +} + +.flipOutX, .flipOutY { + -webkit-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 + } + + to { + -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 + } + + to { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + opacity: 0 + } +} + +.flipOutY { + 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 + } + + to { + -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 + } + + to { + -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 + } + + to { + -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); + transform: translate3d(100%, 0, 0) skewX(30deg); + opacity: 0 + } +} + +@keyframes lightSpeedOut { + from { + opacity: 1 + } + + to { + -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 + } + + to { + -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 + } + + to { + -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 + } + + to { + -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 + } + + to { + -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 + } + + to { + -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 + } + + to { + -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 + } + + to { + -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 + } + + to { + -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 + } + + to { + -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 + } + + to { + -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 + } + + to { + -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 + } + + to { + -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 + } + + to { + -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 + } + + to { + -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 + } + + to { + -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 + } + + to { + -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 + } + + to { + -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 + } + + to { + -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 + } + + to { + -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 + } + + to { + -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 + } + + to { + -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 + } + + to { + -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) + } + + to { + 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) + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none + } +} + +.rollIn { + -webkit-animation-name: rollIn; + animation-name: rollIn +} + +@-webkit-keyframes rollOut { + from { + opacity: 1 + } + + to { + 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 + } + + to { + 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(.55, .055, .675, .19); + animation-timing-function: cubic-bezier(.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(.175, .885, .32, 1); + animation-timing-function: cubic-bezier(.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(.55, .055, .675, .19); + animation-timing-function: cubic-bezier(.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(.175, .885, .32, 1); + animation-timing-function: cubic-bezier(.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(.55, .055, .675, .19); + animation-timing-function: cubic-bezier(.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(.175, .885, .32, 1); + animation-timing-function: cubic-bezier(.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(.55, .055, .675, .19); + animation-timing-function: cubic-bezier(.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(.175, .885, .32, 1); + animation-timing-function: cubic-bezier(.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(.55, .055, .675, .19); + animation-timing-function: cubic-bezier(.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(.175, .885, .32, 1); + animation-timing-function: cubic-bezier(.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(.55, .055, .675, .19); + animation-timing-function: cubic-bezier(.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(.175, .885, .32, 1); + animation-timing-function: cubic-bezier(.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(.55, .055, .675, .19); + animation-timing-function: cubic-bezier(.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(.175, .885, .32, 1); + animation-timing-function: cubic-bezier(.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(.55, .055, .675, .19); + animation-timing-function: cubic-bezier(.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(.175, .885, .32, 1); + animation-timing-function: cubic-bezier(.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) + } + + to { + opacity: 0 + } +} + +@keyframes zoomOut { + from { + opacity: 1 + } + + 50% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3) + } + + to { + 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(.55, .055, .675, .19); + animation-timing-function: cubic-bezier(.55, .055, .675, .19) + } + + to { + 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(.175, .885, .32, 1); + animation-timing-function: cubic-bezier(.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(.55, .055, .675, .19); + animation-timing-function: cubic-bezier(.55, .055, .675, .19) + } + + to { + 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(.175, .885, .32, 1); + animation-timing-function: cubic-bezier(.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) + } + + to { + 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) + } + + to { + 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) + } + + to { + 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) + } + + to { + 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(.55, .055, .675, .19); + animation-timing-function: cubic-bezier(.55, .055, .675, .19) + } + + to { + 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(.175, .885, .32, 1); + animation-timing-function: cubic-bezier(.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(.55, .055, .675, .19); + animation-timing-function: cubic-bezier(.55, .055, .675, .19) + } + + to { + 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(.175, .885, .32, 1); + animation-timing-function: cubic-bezier(.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 + } + + to { + -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 + } + + to { + -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 + } + + to { + -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 + } + + to { + -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 + } + + to { + -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 + } + + to { + -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 + } + + to { + -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 + } + + to { + -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) + } + + to { + 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) + } + + to { + 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) + } + + to { + 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) + } + + to { + 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) + } + + to { + 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) + } + + to { + 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) + } + + to { + 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) + } + + to { + visibility: hidden; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0) + } +} + +.slideOutUp { + -webkit-animation-name: slideOutUp; + animation-name: slideOutUp +} + +/*! + * Waves v0.7.5 + * http://fian.my.id/Waves + * + * Copyright 2014-2016 Alfiana E. Sibuea and other contributors + * Released under the MIT license + * https://github.com/fians/Waves/blob/master/LICENSE + */ +.waves-effect { + position: relative; + cursor: pointer; + overflow: hidden; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + z-index: 1 +} + +.waves-effect .waves-ripple { + position: absolute; + border-radius: 50%; + width: 100px; + height: 100px; + margin-top: -50px; + margin-left: -50px; + opacity: 0; + background: rgba(0, 0, 0, .2); + background: -webkit-radial-gradient(rgba(0, 0, 0, .2) 0, rgba(0, 0, 0, .3) 40%, rgba(0, 0, 0, .4) 50%, rgba(0, 0, 0, .5) 60%, rgba(255, 255, 255, 0) 70%); + background: -o-radial-gradient(rgba(0, 0, 0, .2) 0, rgba(0, 0, 0, .3) 40%, rgba(0, 0, 0, .4) 50%, rgba(0, 0, 0, .5) 60%, rgba(255, 255, 255, 0) 70%); + background: -moz-radial-gradient(rgba(0, 0, 0, .2) 0, rgba(0, 0, 0, .3) 40%, rgba(0, 0, 0, .4) 50%, rgba(0, 0, 0, .5) 60%, rgba(255, 255, 255, 0) 70%); + background: radial-gradient(rgba(0, 0, 0, .2) 0, rgba(0, 0, 0, .3) 40%, rgba(0, 0, 0, .4) 50%, rgba(0, 0, 0, .5) 60%, rgba(255, 255, 255, 0) 70%); + -webkit-transition: all .5s ease-out; + -moz-transition: all .5s ease-out; + -o-transition: all .5s ease-out; + transition: all .5s ease-out; + -webkit-transition-property: -webkit-transform, opacity; + -moz-transition-property: -moz-transform, opacity; + -o-transition-property: -o-transform, opacity; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + -webkit-transform: scale(0) translate(0, 0); + -moz-transform: scale(0) translate(0, 0); + -ms-transform: scale(0) translate(0, 0); + -o-transform: scale(0) translate(0, 0); + transform: scale(0) translate(0, 0); + pointer-events: none +} + +.waves-effect.waves-light .waves-ripple { + background: rgba(255, 255, 255, .4); + background: -webkit-radial-gradient(rgba(255, 255, 255, .2) 0, rgba(255, 255, 255, .3) 40%, rgba(255, 255, 255, .4) 50%, rgba(255, 255, 255, .5) 60%, rgba(255, 255, 255, 0) 70%); + background: -o-radial-gradient(rgba(255, 255, 255, .2) 0, rgba(255, 255, 255, .3) 40%, rgba(255, 255, 255, .4) 50%, rgba(255, 255, 255, .5) 60%, rgba(255, 255, 255, 0) 70%); + background: -moz-radial-gradient(rgba(255, 255, 255, .2) 0, rgba(255, 255, 255, .3) 40%, rgba(255, 255, 255, .4) 50%, rgba(255, 255, 255, .5) 60%, rgba(255, 255, 255, 0) 70%); + background: radial-gradient(rgba(255, 255, 255, .2) 0, rgba(255, 255, 255, .3) 40%, rgba(255, 255, 255, .4) 50%, rgba(255, 255, 255, .5) 60%, rgba(255, 255, 255, 0) 70%) +} + +.waves-effect.waves-classic .waves-ripple { + background: rgba(0, 0, 0, .2) +} + +.waves-effect.waves-classic.waves-light .waves-ripple { + background: rgba(255, 255, 255, .4) +} + +.waves-notransition { + -webkit-transition: none !important; + -moz-transition: none !important; + -o-transition: none !important; + transition: none !important +} + +.waves-button, .waves-circle { + -webkit-transform: translateZ(0); + -moz-transform: translateZ(0); + -ms-transform: translateZ(0); + -o-transform: translateZ(0); + transform: translateZ(0); + -webkit-mask-image: -webkit-radial-gradient(circle, #fff 100%, #000 100%) +} + +.waves-button, .waves-button-input, .waves-button:hover, .waves-button:visited { + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + border: none; + outline: 0; + color: inherit; + background-color: transparent; + font-size: 1em; + line-height: 1em; + text-align: center; + text-decoration: none; + z-index: 1 +} + +.waves-button { + padding: .85em 1.1em; + border-radius: .2em +} + +.waves-button-input { + margin: 0; + padding: .85em 1.1em +} + +.waves-input-wrapper { + border-radius: .2em; + vertical-align: bottom +} + +.waves-input-wrapper.waves-button { + padding: 0 +} + +.waves-input-wrapper .waves-button-input { + position: relative; + top: 0; + left: 0; + z-index: 1 +} + +.waves-circle { + text-align: center; + width: 2.5em; + height: 2.5em; + line-height: 2.5em; + border-radius: 50% +} + +.waves-float { + -webkit-mask-image: none; + -webkit-box-shadow: 0 1px 1.5px 1px rgba(0, 0, 0, .12); + box-shadow: 0 1px 1.5px 1px rgba(0, 0, 0, .12); + -webkit-transition: all 300ms; + -moz-transition: all 300ms; + -o-transition: all 300ms; + transition: all 300ms +} + +.btn, .pager li a { + transition: .2s ease-out +} + +.waves-float:active { + -webkit-box-shadow: 0 8px 20px 1px rgba(0, 0, 0, .3); + box-shadow: 0 8px 20px 1px rgba(0, 0, 0, .3) +} + +.waves-block { + display: block +} + +@media only screen and (max-width:992px) { + .center-on-small-only { + text-align: center + } + + .card .center-on-small-only img, .center-on-small-only .card img, + .center-on-small-only .img-fluid, .center-on-small-only .section .view, + .center-on-small-only .section img, .section .center-on-small-only .view, + .section .center-on-small-only img { + display: inline + } +} + +.flex-center { + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + height: 100% +} + +.flex-center p { + margin: 0 +} + +.flex-center ul { + text-align: center +} + +.flex-center ul li { + margin-bottom: 1rem +} + +.vertical-center { + position: relative; + top: 50%; + -webkit-transform: translateY(-50%); + -o-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%) +} + +.card img, .img-fluid, .section .view, .section img { + display: block; + max-width: 100%; + height: auto +} + +.inline-ul > li { + display: inline +} + +.list-inline-div > div { + display: inline-block +} + +.hr-light { + background-color: #fff; + height: .5px +} + +.hr-dark { + background-color: #666; + height: .5px +} + +.divider-new::after, .divider-new::before { + content: ''; + height: 1.5px; + background: #666 +} + +.divider-new { + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + margin-top: 45px; + margin-bottom: 45px +} + +.divider-new h2 { + margin-top: 5px +} + +.divider-new::before { + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; + margin: 0 .45em 0 0 +} + +.divider-new::after { + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; + margin: 0 0 0 .45em +} + +.section-title { + text-transform: uppercase; + margin-top: 0; + margin-bottom: 3rem; + padding: .7rem +} + +.section-title small { + text-transform: none; + padding-left: 7px; + margin-left: 10px +} + +.btn, footer.page-footer .title { + text-transform: uppercase +} + +.st-indigo { + border-left: 4px solid #00f +} + +.st-indigo small { + border-left: 2px solid #00f +} + +.st-red { + border-left: 4px solid red +} + +.st-red small { + border-left: 2px solid red +} + +.st-teal { + border-left: 4px solid #009688 +} + +.st-teal small { + border-left: 2px solid #009688 +} + +.st-orange { + border-left: 4px solid #ff6f00 +} + +.st-orange small { + border-left: 2px solid #ff6f00 +} + +.st-blue { + border-left: 4px solid #2196f3 +} + +.st-blue small { + border-left: 2px solid #2196f3 +} + +.st-mdb { + border-left: 4px solid #45526E +} + +.st-mdb small { + border-left: 2px solid #45526E +} + +.divider-short { + max-width: 50px; + border-color: #4285F4; + border-width: 3px +} + +.blockquote .bq-title { + font-weight: 400; + font-size: 1.5rem; + margin-bottom: 0 +} + +.blockquote p { + font-size: 1.1rem +} + +.bq-primary { + border-left: 3px solid #4285F4 +} + +.bq-primary .bq-title { + color: #4285F4 +} + +.bq-warning { + border-left: 3px solid #fb3 +} + +.bq-warning .bq-title { + color: #fb3 +} + +.bq-danger { + border-left: 3px solid #f44 +} + +.bq-danger .bq-title { + color: #f44 +} + +.bq-success { + border-left: 3px solid #00C851 +} + +.bq-success .bq-title { + color: #00C851 +} + +.pt-1 { + padding-top: 1rem !important +} + +.pt-2 { + padding-top: 2rem !important +} + +.pt-3 { + padding-top: 3rem !important +} + +.pt-4 { + padding-top: 4rem !important +} + +.pt-5 { + padding-top: 5rem !important +} + +.pt-6 { + padding-top: 6rem !important +} + +.pb-1 { + padding-top: 1rem !important +} + +.pb-2 { + padding-top: 2rem !important +} + +.pb-3 { + padding-top: 3rem !important +} + +.pb-4 { + padding-bottom: 4rem !important +} + +.pb-5 { + padding-bottom: 5rem !important +} + +.pb-6 { + padding-bottom: 6rem !important +} + +.mt-1 { + margin-top: 1rem !important +} + +.mt-2 { + margin-top: 2rem !important +} + +.mt-3 { + margin-top: 3rem !important +} + +.mt-4 { + margin-top: 4rem !important +} + +.mt-5 { + margin-top: 5rem !important +} + +.mt-6 { + margin-top: 6rem !important +} + +.mb-1 { + margin-bottom: 1rem !important +} + +.mb-2 { + margin-bottom: 2rem !important +} + +.mb-3 { + margin-bottom: 3rem !important +} + +.mb-4 { + margin-bottom: 4rem !important +} + +.mb-5 { + margin-bottom: 5rem !important +} + +.mb-6 { + margin-bottom: 6rem !important +} + +@media (max-width:992px) { + .mb-r { + margin-bottom: 2rem !important + } +} + +@media (min-width:992px) { + .mb-r { + margin-bottom: 3rem !important + } +} + +.mb-m { + margin-bottom: 1rem +} + +@media (min-width:62em) { + .mb-m { + margin-bottom: 0 + } +} + +.no-height { + height: 0 +} + +.sharp-corners { + border-radius: 0 +} + +button:focus { + outline: 0 !important +} + +.btn { + font-size: .8rem; + padding: .85rem 2.13rem; + border-radius: 2px; + border: 0; + color: #fff !important; + margin: 6px; + white-space: normal !important +} + +.btn.btn-lg { + font-size: .9rem; + padding: 1rem 2.4rem +} + +.btn.btn-md { + font-size: .7rem; + padding: .7rem 1.6rem +} + +.btn.btn-sm { + font-size: .6rem; + padding: .5rem 1.6rem +} + +.btn:hover { + color: #fff +} + +.btn.active, .btn:active, .btn:focus { + outline: 0; + color: #fff +} + +.btn .fa { + font-size: 1.1rem; + position: relative; + vertical-align: middle; + margin-top: -2px +} + +.btn .fa.right { + margin-left: 3px +} + +.btn .fa.left { + margin-right: 3px +} + +.btn-group .btn { + margin: 0 +} + +.btn-block { + margin: inherit +} + +.btn-secondary { + background-color: #a6c +} + +.btn-secondary:active, .btn-secondary:focus, .btn-secondary:hover { + background-color: #b579d2 !important; + color: #fff +} + +.btn-secondary.active { + background-color: #739 !important +} + +.btn-secondary.active:focus, .btn-secondary.active:hover { + color: #fff +} + +.btn-secondary.dropdown-toggle { + color: #fff !important; + background-color: #a6c !important +} + +.btn-secondary.dropdown-toggle:hover { + color: #fff; + background-color: #b579d2 !important +} + +.btn-secondary.dropdown-toggle:focus { + color: #fff; + background-color: #a6c +} + +.btn-secondary:active:hover { + background-color: #b579d2 !important +} + +.btn-primary { + background: #4285F4 +} + +.btn-primary:active, .btn-primary:focus, .btn-primary:hover { + background-color: #5a95f5 !important +} + +.btn-primary.active { + background-color: #0b51c5 !important +} + +.btn-default { + background: #2BBBAD +} + +.btn-default:active, .btn-default:focus, .btn-default:hover { + background-color: #30cfc0 !important +} + +.btn-default.active { + background-color: #186860 !important +} + +.btn-success { + background: #00C851 +} + +.btn-success:active, .btn-success:focus, .btn-success:hover { + background-color: #00d255 !important +} + +.btn-success.active { + background-color: #006228 !important +} + +.btn-info { + background: #33b5e5 +} + +.btn-info:focus, .btn-info:hover { + background-color: #4abde8 !important +} + +.btn-info.active { + background-color: #14799e !important +} + +.btn-warning { + background: #F80 +} + +.btn-warning:focus, .btn-warning:hover { + background-color: #ff961f !important +} + +.btn-warning.active { + background-color: #c80 !important +} + +.btn-danger { + background: #C00 +} + +.btn-danger:focus, .btn-danger:hover { + background-color: #db0000 !important +} + +.btn-danger.active { + background-color: maroon !important +} + +.btn-link { + background-color: transparent; + color: #000 !important +} + +.btn-link:focus, .btn-link:hover { + background-color: transparent; + color: #000 +} + +.btn-outline-primary { + border: 2px solid #4285F4; + color: #0d47a1 !important; + background-color: transparent +} + +.btn-outline-primary:active, .btn-outline-primary:active:focus, +.btn-outline-primary:focus, .btn-outline-primary:hover { + color: #4285F4; + border-color: #4285F4; + background-color: transparent +} + +.btn-outline-secondary { + border: 2px solid #a6c; + color: #93C !important; + background-color: transparent +} + +.btn-outline-secondary:active, .btn-outline-secondary:active:focus, +.btn-outline-secondary:focus, .btn-outline-secondary:hover { + color: #a6c; + border: 2px solid #a6c; + background-color: transparent +} + +.btn-outline-default { + border: 2px solid #2BBBAD; + color: #00695c !important; + background-color: transparent +} + +.btn-outline-default:active, .btn-outline-default:active:focus, +.btn-outline-default:focus, .btn-outline-default:hover { + color: #2BBBAD; + border-color: #2BBBAD; + background-color: transparent +} + +.btn-outline-success { + border: 2px solid #00C851; + color: #007E33 !important; + background-color: transparent +} + +.btn-outline-success:active, .btn-outline-success:active:focus, +.btn-outline-success:focus, .btn-outline-success:hover { + color: #00C851; + border-color: #00C851; + background-color: transparent +} + +.btn-outline-info { + border: 2px solid #33b5e5; + color: #09C !important; + background-color: transparent +} + +.btn-outline-info:active, .btn-outline-info:active:focus, .btn-outline-info:focus, +.btn-outline-info:hover { + color: #33b5e5; + border-color: #33b5e5; + background-color: transparent +} + +.btn-outline-warning { + border: 2px solid #fb3; + color: #F80 !important; + background-color: transparent +} + +.btn-outline-warning:active, .btn-outline-warning:active:focus, +.btn-outline-warning:focus, .btn-outline-warning:hover { + border-color: #fb3; + color: #fb3; + background-color: transparent +} + +.btn-outline-danger { + border: 2px solid #f44; + color: #C00 !important; + background-color: transparent +} + +.btn-outline-danger:active, .btn-outline-danger:active:focus, +.btn-outline-danger:focus, .btn-outline-danger:hover { + color: #f44; + border-color: #f44; + background-color: transparent +} + +.btn-outline-white { + border: 2px solid #fff; + color: #fff !important; + background-color: transparent +} + +.btn-outline-white:active, .btn-outline-white:active:focus, .btn-outline-white:focus, +.btn-outline-white:hover { + color: #e6e6e6; + border-color: #fff; + background-color: transparent +} + +.btn-outline-black { + border: 2px solid #000; + color: #000 !important; + background-color: transparent +} + +.btn-outline-black:active, .btn-outline-black:active:focus, .btn-outline-black:focus, +.btn-outline-black:hover { + color: #000; + border-color: #000; + background-color: transparent +} + +.pager li a { + border: 0 +} + +.btn-elegant { + background: #2E2E2E +} + +.btn-elegant:focus, .btn-elegant:hover { + background-color: #3b3b3b !important +} + +.btn-elegant.active { + background-color: #000 !important +} + +.btn-unique { + background: #1C2331 +} + +.btn-unique:focus, .btn-unique:hover { + background-color: #252f41 !important +} + +.btn-unique.active { + background-color: #000 !important +} + +.btn-pink { + background: #e91e63 +} + +.btn-pink:focus, .btn-pink:hover { + background-color: #eb3573 !important +} + +.btn-pink.active { + background-color: #930e3b !important +} + +.btn-purple { + background: #4a148c +} + +.btn-purple:focus, .btn-purple:hover { + background-color: #5617a2 !important +} + +.btn-purple.active { + background-color: #1b0733 !important +} + +.btn-deep-purple { + background: #311b92 +} + +.btn-deep-purple:focus, .btn-deep-purple:hover { + background-color: #381fa8 !important +} + +.btn-deep-purple.active { + background-color: #140b3c !important +} + +.btn-indigo { + background: #1a237e +} + +.btn-indigo:focus, .btn-indigo:hover { + background-color: #1e2993 !important +} + +.btn-indigo.active { + background-color: #090c29 !important +} + +.btn-cyan { + background: #00acc1 +} + +.btn-cyan:focus, .btn-cyan:hover { + background-color: #00c3db !important +} + +.btn-cyan.active { + background-color: #00515b !important +} + +.btn-light-green { + background: #7cb342 +} + +.btn-light-green:focus, .btn-light-green:hover { + background-color: #89be50 !important +} + +.btn-light-green.active { + background-color: #486827 !important +} + +.btn-dark-green { + background: #007E33 +} + +.btn-dark-green:focus, .btn-dark-green:hover { + background-color: #00983d !important +} + +.btn-dark-green.active { + background-color: #00180a !important +} + +.btn-lime { + background: #afb42b +} + +.btn-lime:focus, .btn-lime:hover { + background-color: #c3c930 !important +} + +.btn-lime.active { + background-color: #5f6217 !important +} + +.btn-yellow { + background: #fbc02d +} + +.btn-yellow:focus, .btn-yellow:hover { + background-color: #fbc846 !important +} + +.btn-yellow.active { + background-color: #be8904 !important +} + +.btn-amber { + background: #ff6f00 +} + +.btn-amber:focus, .btn-amber:hover { + background-color: #ff7d1a !important +} + +.btn-amber.active { + background-color: #994300 !important +} + +.btn-orange { + background: #e65100 +} + +.btn-orange:focus, .btn-orange:hover { + background-color: #ff5a01 !important +} + +.btn-orange.active { + background-color: #802d00 !important +} + +.btn-deep-orange { + background: #bf360c +} + +.btn-deep-orange:focus, .btn-deep-orange:hover { + background-color: #d73d0e !important +} + +.btn-deep-orange.active { + background-color: #5f1b06 !important +} + +.btn-brown { + background: #6d4c41 +} + +.btn-brown:focus, .btn-brown:hover { + background-color: #7d574b !important +} + +.btn-brown.active { + background-color: #2d1f1b !important +} + +.btn-blue-grey { + background: #607d8b +} + +.btn-blue-grey:focus, .btn-blue-grey:hover { + background-color: #6b8a99 !important +} + +.btn-blue-grey.active { + background-color: #36474f !important +} + +.btn-mdb { + background: #45526E +} + +.btn-mdb:focus, .btn-mdb:hover { + background-color: #4f5e7e !important +} + +.btn-mdb.active { + background-color: #1e232f !important +} + +input[type=date], input[type=datetime-local], input[type=email], +input[type=number], input[type=password], input[type=search-md], +input[type=search], input[type=tel], input[type=text], input[type=time], +input[type=url], textarea.md-textarea { + background-color: transparent; + border: none; + border-bottom: 1px solid #ccc; + border-radius: 0; + outline: 0; + height: 2.1rem; + width: 100%; + font-size: 1rem; + box-shadow: none; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + transition: all .3s +} + +input[type=date]:disabled, input[type=date][readonly=readonly], +input[type=datetime-local]:disabled, input[type=datetime-local][readonly=readonly], +input[type=email]:disabled, input[type=email][readonly=readonly], +input[type=number]:disabled, input[type=number][readonly=readonly], +input[type=password]:disabled, input[type=password][readonly=readonly], +input[type=search-md]:disabled, input[type=search-md][readonly=readonly], +input[type=search]:disabled, input[type=search][readonly=readonly], +input[type=tel]:disabled, input[type=tel][readonly=readonly], input[type=text]:disabled, +input[type=text][readonly=readonly], input[type=time]:disabled, +input[type=time][readonly=readonly], input[type=url]:disabled, +input[type=url][readonly=readonly], textarea.md-textarea:disabled, +textarea.md-textarea[readonly=readonly] { + color: rgba(0, 0, 0, .46); + border-bottom: 1px dotted rgba(0, 0, 0, .46); + background-color: transparent +} + +input[type=date]:disabled + label, input[type=date][readonly=readonly] + label, +input[type=datetime-local]:disabled + label, input[type=datetime-local][readonly=readonly] + label, +input[type=email]:disabled + label, input[type=email][readonly=readonly] + label, +input[type=number]:disabled + label, input[type=number][readonly=readonly] + label, +input[type=password]:disabled + label, input[type=password][readonly=readonly] + label, +input[type=search-md]:disabled + label, input[type=search-md][readonly=readonly] + label, +input[type=search]:disabled + label, input[type=search][readonly=readonly] + label, +input[type=tel]:disabled + label, input[type=tel][readonly=readonly] + label, +input[type=text]:disabled + label, input[type=text][readonly=readonly] + label, +input[type=time]:disabled + label, input[type=time][readonly=readonly] + label, +input[type=url]:disabled + label, input[type=url][readonly=readonly] + label, +textarea.md-textarea:disabled + label, textarea.md-textarea[readonly=readonly] + label { + color: rgba(0, 0, 0, .46); + background-color: transparent +} + +input[type=date]:focus:not([readonly]), input[type=datetime-local]:focus:not([readonly]), +input[type=email]:focus:not([readonly]), input[type=number]:focus:not([readonly]), +input[type=password]:focus:not([readonly]), input[type=search-md]:focus:not([readonly]), +input[type=search]:focus:not([readonly]), input[type=tel]:focus:not([readonly]), +input[type=text]:focus:not([readonly]), input[type=time]:focus:not([readonly]), +input[type=url]:focus:not([readonly]), textarea.md-textarea:focus:not([readonly]) { + border-bottom: 1px solid #4285F4; + box-shadow: 0 1px 0 0 #4285F4 +} + +input[type=date]:focus:not([readonly]) + label, input[type=datetime-local]:focus:not([readonly]) + label, +input[type=email]:focus:not([readonly]) + label, input[type=number]:focus:not([readonly]) + label, +input[type=password]:focus:not([readonly]) + label, input[type=search-md]:focus:not([readonly]) + label, +input[type=search]:focus:not([readonly]) + label, input[type=tel]:focus:not([readonly]) + label, +input[type=text]:focus:not([readonly]) + label, input[type=time]:focus:not([readonly]) + label, +input[type=url]:focus:not([readonly]) + label, textarea.md-textarea:focus:not([readonly]) + label { + color: #4285F4 +} + +input[type=date].valid, input[type=date]:focus.valid, input[type=datetime-local].valid, +input[type=datetime-local]:focus.valid, input[type=email].valid, +input[type=email]:focus.valid, input[type=number].valid, input[type=number]:focus.valid, +input[type=password].valid, input[type=password]:focus.valid, input[type=search-md].valid, +input[type=search-md]:focus.valid, input[type=search].valid, input[type=search]:focus.valid, +input[type=tel].valid, input[type=tel]:focus.valid, input[type=text].valid, +input[type=text]:focus.valid, input[type=time].valid, input[type=time]:focus.valid, +input[type=url].valid, input[type=url]:focus.valid, textarea.md-textarea.valid, +textarea.md-textarea:focus.valid { + border-bottom: 1px solid #00C851; + box-shadow: 0 1px 0 0 #00C851 +} + +input[type=date].valid + label:after, input[type=date]:focus.valid + label:after, +input[type=datetime-local].valid + label:after, input[type=datetime-local]:focus.valid + label:after, +input[type=email].valid + label:after, input[type=email]:focus.valid + label:after, +input[type=number].valid + label:after, input[type=number]:focus.valid + label:after, +input[type=password].valid + label:after, input[type=password]:focus.valid + label:after, +input[type=search-md].valid + label:after, input[type=search-md]:focus.valid + label:after, +input[type=search].valid + label:after, input[type=search]:focus.valid + label:after, +input[type=tel].valid + label:after, input[type=tel]:focus.valid + label:after, +input[type=text].valid + label:after, input[type=text]:focus.valid + label:after, +input[type=time].valid + label:after, input[type=time]:focus.valid + label:after, +input[type=url].valid + label:after, input[type=url]:focus.valid + label:after, +textarea.md-textarea.valid + label:after, textarea.md-textarea:focus.valid + label:after { + content: attr(data-success); + color: #00C851; + opacity: 1 +} + +input[type=date].invalid, input[type=date]:focus.invalid, input[type=datetime-local].invalid, +input[type=datetime-local]:focus.invalid, input[type=email].invalid, +input[type=email]:focus.invalid, input[type=number].invalid, input[type=number]:focus.invalid, +input[type=password].invalid, input[type=password]:focus.invalid, +input[type=search-md].invalid, input[type=search-md]:focus.invalid, +input[type=search].invalid, input[type=search]:focus.invalid, input[type=tel].invalid, +input[type=tel]:focus.invalid, input[type=text].invalid, input[type=text]:focus.invalid, +input[type=time].invalid, input[type=time]:focus.invalid, input[type=url].invalid, +input[type=url]:focus.invalid, textarea.md-textarea.invalid, textarea.md-textarea:focus.invalid { + border-bottom: 1px solid #F44336; + box-shadow: 0 1px 0 0 #F44336 +} + +input[type=date].invalid + label:after, input[type=date]:focus.invalid + label:after, +input[type=datetime-local].invalid + label:after, input[type=datetime-local]:focus.invalid + label:after, +input[type=email].invalid + label:after, input[type=email]:focus.invalid + label:after, +input[type=number].invalid + label:after, input[type=number]:focus.invalid + label:after, +input[type=password].invalid + label:after, input[type=password]:focus.invalid + label:after, +input[type=search-md].invalid + label:after, input[type=search-md]:focus.invalid + label:after, +input[type=search].invalid + label:after, input[type=search]:focus.invalid + label:after, +input[type=tel].invalid + label:after, input[type=tel]:focus.invalid + label:after, +input[type=text].invalid + label:after, input[type=text]:focus.invalid + label:after, +input[type=time].invalid + label:after, input[type=time]:focus.invalid + label:after, +input[type=url].invalid + label:after, input[type=url]:focus.invalid + label:after, +textarea.md-textarea.invalid + label:after, textarea.md-textarea:focus.invalid + label:after { + content: attr(data-error); + color: #F44336; + opacity: 1 +} + +input[type=date] + label:after, input[type=datetime-local] + label:after, +input[type=email] + label:after, input[type=number] + label:after, +input[type=password] + label:after, input[type=search-md] + label:after, +input[type=search] + label:after, input[type=tel] + label:after, input[type=text] + label:after, +input[type=time] + label:after, input[type=url] + label:after, textarea.md-textarea + label:after { + display: block; + content: ""; + position: absolute; + top: 65px; + opacity: 0; + transition: .2s opacity ease-out, .2s color ease-out +} + +input[type=date].input-alternate, input[type=datetime-local].input-alternate, +input[type=email].input-alternate, input[type=number].input-alternate, +input[type=password].input-alternate, input[type=search-md].input-alternate, +input[type=search].input-alternate, input[type=tel].input-alternate, +input[type=text].input-alternate, input[type=time].input-alternate, +input[type=url].input-alternate, textarea.md-textarea.input-alternate { + padding: 0 15px; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 2px 1px -1px rgba(0, 0, 0, .12); + font-size: .875rem; + border-bottom: 0 +} + +input[type=date].input-alternate:focus:not([readonly]), input[type=datetime-local].input-alternate:focus:not([readonly]), +input[type=email].input-alternate:focus:not([readonly]), input[type=number].input-alternate:focus:not([readonly]), +input[type=password].input-alternate:focus:not([readonly]), input[type=search-md].input-alternate:focus:not([readonly]), +input[type=search].input-alternate:focus:not([readonly]), input[type=tel].input-alternate:focus:not([readonly]), +input[type=text].input-alternate:focus:not([readonly]), input[type=time].input-alternate:focus:not([readonly]), +input[type=url].input-alternate:focus:not([readonly]), textarea.md-textarea.input-alternate:focus:not([readonly]) { + border-bottom: 0; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 2px 1px -1px rgba(0, 0, 0, .12) +} + +label { + font-size: .8rem; + color: darken #ccc, 90% +} + +.form-control { + padding: .5rem 0 .6rem; + font-size: 1rem; + line-height: 1.5; + background-color: transparent; + background-image: none; + border-radius: 0; + margin-top: .2rem; + margin-bottom: 1rem +} + +.md-form, .md-form .btn { + margin-bottom: 1.5rem +} + +.form-control:focus { + background: 0 0 +} + +.form-control:disabled, .form-control[readonly] { + background-color: transparent; + border-bottom: 1px solid #e0e0e0 +} + +.md-form { + position: relative +} + +.md-form label { + color: #757575; + position: absolute; + top: .8rem; + left: 0; + font-size: 1rem; + cursor: text; + -webkit-transition: .2s ease-out; + -moz-transition: .2s ease-out; + -o-transition: .2s ease-out; + -ms-transition: .2s ease-out; + transition: .2s ease-out +} + +.md-form label.active { + font-size: .8rem; + -webkit-transform: translateY(-140%); + -moz-transform: translateY(-140%); + -ms-transform: translateY(-140%); + -o-transform: translateY(-140%); + transform: translateY(-140%) +} + +.md-form .prefix { + position: absolute; + width: 3rem; + font-size: 2rem; + -webkit-transition: color .2s; + -moz-transition: color .2s; + -o-transition: color .2s; + -ms-transition: color .2s; + transition: color .2s +} + +.md-form .prefix.active { + color: #4285F4 +} + +.md-form .prefix ~ input, .md-form .prefix ~ textarea { + margin-left: 3rem; + width: 92%; + width: calc(100% - 3rem) +} + +.md-form .prefix ~ textarea { + padding-top: .8rem +} + +.md-form .prefix ~ label { + margin-left: 3rem +} + +@media only screen and (max-width:992px) { + .md-form .prefix ~ input { + width: 86%; + width: calc(100% - 3rem) + } +} + +@media only screen and (max-width:600px) { + .md-form .prefix ~ input { + width: 80%; + width: calc(100% - 3rem) + } +} + +.list-group-item, textarea { + width: 100% +} + +.md-form.input-group .form-control { + margin: 0; + padding-left: 1rem +} + +.md-form.input-group .form-control:-moz-placeholder { + color: #999; + padding-top: 2px +} + +.md-form.input-group .form-control::-ms-placeholder { + color: #999; + padding-top: 2px +} + +.md-form.input-group .form-control::-webkit-input-placeholder { + color: #999; + padding-top: 2px +} + +.md-form.input-group .form-control::-moz-placeholder { + color: #999; + padding-top: 2px +} + +.md-form.input-group .form-control:-ms-input-placeholder { + color: #999; + padding-top: 2px +} + +.md-form.input-group .form-control::placeholder { + color: #999; + padding-top: 2px +} + +.form-inline fieldset { + margin-right: 1.5rem +} + +textarea { + height: 3rem; + background-color: transparent +} + +textarea.md-textarea { + overflow-y: hidden; + padding: 1.6rem 0; + resize: none; + min-height: 3rem +} + +.hiddendiv { + display: none; + white-space: pre-wrap; + overflow-wrap: break-word; + padding-top: 1.2rem +} + +.input-dark-bg:-moz-placeholder { + color: #fff !important; + font-weight: 300 +} + +.input-dark-bg::-ms-placeholder { + color: #fff !important; + font-weight: 300 +} + +.input-dark-bg::-webkit-input-placeholder { + color: #fff !important; + font-weight: 300 +} + +.input-dark-bg::-moz-placeholder { + color: #fff !important; + font-weight: 300 +} + +.input-dark-bg:-ms-input-placeholder { + color: #fff !important; + font-weight: 300 +} + +.input-dark-bg::placeholder { + color: #fff !important; + font-weight: 300 +} + +.input-dark-bg input[type=text] { + border-bottom: 1px solid #fff +} + +.input-dark-bg .form-control { + color: #fff +} + +.input-light-bg:-moz-placeholder { + color: #1C2331 !important; + font-weight: 300 +} + +.input-light-bg::-ms-placeholder { + color: #1C2331 !important; + font-weight: 300 +} + +.input-light-bg::-webkit-input-placeholder { + color: #1C2331 !important; + font-weight: 300 +} + +.input-light-bg::-moz-placeholder { + color: #1C2331 !important; + font-weight: 300 +} + +.input-light-bg:-ms-input-placeholder { + color: #1C2331 !important; + font-weight: 300 +} + +.input-light-bg::placeholder { + color: #1C2331 !important; + font-weight: 300 +} + +.input-light-bg input[type=text] { + border-bottom: 1px solid #1C2331 +} + +.input-light-bg .form-control { + color: #1C2331 +} + +.form-inline .form-group { + margin-right: 2rem +} + +i.btn-primary { + background: #4285F4 !important +} + +i.btn-default { + background: #2BBBAD !important +} + +i.btn-success { + background: #00C851 !important +} + +i.btn-info { + background: #33b5e5 !important +} + +i.btn-warning { + background: #F80 !important +} + +i.btn-danger { + background: #C00 !important +} + +.card { + border: 0 +} + +.card .card-title a { + color: #424242; + transition: .4s +} + +.card .card-title a, .card .card-title a:hover { + -webkit-transition: .4s; + -moz-transition: .4s; + -o-transition: .4s; + -ms-transition: .4s +} + +.card .card-title a:hover { + color: #616161; + transition: .4s +} + +.card img { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0 +} + +.card .card-block { + position: relative +} + +.card .card-footer { + padding-bottom: 0; + font-size: 1.2rem +} + +.card .card-footer:after { + display: block; + content: ""; + clear: both +} + +.card .card-footer .card-link { + color: inherit +} + +.jumbotron { + background-color: #fff; + padding: 2rem +} + +.jumbotron.m-1, .jumbotron.m-2, .jumbotron.m-3 { + z-index: 50; + position: relative; + margin-left: 3%; + margin-right: 3% +} + +.jumbotron.m-1 { + margin-top: -20px +} + +.jumbotron.m-2 { + margin-top: -30px +} + +.jumbotron.m-3 { + margin-top: -40px +} + +.edge-header { + display: block; + height: 278px; + background-color: #ccc +} + +.free-bird { + margin-top: -100px +} + +.navbar { + font-weight: 300 +} + +.navbar form input { + margin: 0 5px 1px 8px; + height: 1rem +} + +.full-bg-img, .img-overlay:after, .view .content, .view .mask { + left: 0; + height: 100%; + width: 100%; + top: 0 +} + +.navbar .navbar-brand { + -webkit-align-self: flex-start; + -ms-flex-item-align: start; + align-self: flex-start; + overflow: visible +} + +.navbar .breadcrumb { + margin: 0; + background-color: inherit; + font-weight: 300 +} + +.navbar.navbar-dark .navbar-brand, .navbar.navbar-dark .navbar-brand:hover { + color: #fff +} + +.navbar.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#fff' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E") +} + +.navbar.navbar-dark .breadcrumb a, .navbar.navbar-dark .navbar-nav .nav-item a { + color: #fff; + transition: .35s +} + +.navbar.navbar-dark .breadcrumb a:hover, .navbar.navbar-dark .navbar-nav .nav-item a:hover { + color: rgba(255, 255, 255, .75) +} + +.navbar.navbar-dark .breadcrumb.active, .navbar.navbar-dark .navbar-nav .nav-item.active { + background-color: rgba(255, 255, 255, .1) +} + +.navbar.navbar-dark .breadcrumb .dropdown-menu a, .navbar.navbar-dark .breadcrumb .dropdown-menu a:active, +.navbar.navbar-dark .breadcrumb .dropdown-menu a:focus, .navbar.navbar-dark .breadcrumb .dropdown-menu a:hover, +.navbar.navbar-dark .navbar-nav .nav-item .dropdown-menu a, .navbar.navbar-dark .navbar-nav .nav-item .dropdown-menu a:active, +.navbar.navbar-dark .navbar-nav .nav-item .dropdown-menu a:focus, +.navbar.navbar-dark .navbar-nav .nav-item .dropdown-menu a:hover { + color: #212121 +} + +.navbar.navbar-dark .nav-link, .navbar.navbar-dark .navbar-toggler { + color: #fff +} + +.navbar.navbar-light .breadcrumb a, .navbar.navbar-light .breadcrumb a:hover, +.navbar.navbar-light .nav-item a, .navbar.navbar-light .nav-item a:hover { + transition: .35s; + color: #212121 +} + +.navbar.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E") +} + +.navbar.navbar-light .breadcrumb.active, .navbar.navbar-light .nav-item.active { + background-color: rgba(158, 158, 158, .2) +} + +.navbar.navbar-light .breadcrumb .dropdown-menu a, .navbar.navbar-light .nav-item .dropdown-menu a { + color: #000; + padding: 10px +} + +.navbar.navbar-light .navbar-toggler { + color: #000 +} + +.navbar .dropdown-menu a { + font-size: .9375rem; + font-weight: 300; + padding: 1rem +} + +.navbar .navbar-toggler { + border-width: 0 +} + +.navbar .nav-flex-icons { + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row +} + +@media (max-width:991px) { + .navbar .container { + width: 100% + } + + .navbar .container .navbar-toggler-right { + right: 0 + } +} + +.navbar .dropdown-menu { + position: absolute !important +} + +.navbar.double-nav { + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row +} + +.navbar-dark form input[type=text] { + border-bottom: 1px solid #fff +} + +.navbar-dark form .form-control { + color: #fff +} + +.navbar-dark form .form-control:-moz-placeholder { + color: rgba(255, 255, 255, .65) !important; + font-weight: 300 +} + +.navbar-dark form .form-control::-ms-placeholder { + color: rgba(255, 255, 255, .65) !important; + font-weight: 300 +} + +.navbar-dark form .form-control::-webkit-input-placeholder { + color: rgba(255, 255, 255, .65) !important; + font-weight: 300 +} + +.navbar-dark form .form-control::-moz-placeholder { + color: rgba(255, 255, 255, .65) !important; + font-weight: 300 +} + +.navbar-dark form .form-control:-ms-input-placeholder { + color: rgba(255, 255, 255, .65) !important; + font-weight: 300 +} + +.navbar-dark form .form-control::placeholder { + color: rgba(255, 255, 255, .65) !important; + font-weight: 300 +} + +.navbar-light form input[type=text] { + border-bottom: 1px solid #1C2331 +} + +.navbar-light form .form-control { + color: #1C2331 +} + +.navbar-light form .form-control:-moz-placeholder { + color: #1C2331 !important; + font-weight: 300 +} + +.navbar-light form .form-control::-ms-placeholder { + color: #1C2331 !important; + font-weight: 300 +} + +.navbar-light form .form-control::-webkit-input-placeholder { + color: #1C2331 !important; + font-weight: 300 +} + +.navbar-light form .form-control::-moz-placeholder { + color: #1C2331 !important; + font-weight: 300 +} + +.navbar-light form .form-control:-ms-input-placeholder { + color: #1C2331 !important; + font-weight: 300 +} + +.navbar-light form .form-control::placeholder { + color: #1C2331 !important; + font-weight: 300 +} + +.view { + overflow: hidden; + position: relative; + cursor: default +} + +.view .content, .view .mask { + position: absolute; + overflow: hidden +} + +.view img, .view video { + display: block; + position: relative +} + +.view .mask { + background-attachment: fixed +} + +.full-bg-img { + position: absolute; + overflow: hidden +} + +.overlay:hover .mask { + opacity: 1 +} + +.overlay img, .overlay video { + transition: all .2s linear +} + +.overlay .mask { + opacity: 0; + transition: all .4s ease-in-out +} + +.pattern-1 { + background: url(../img/overlays/01.png) +} + +.pattern-2 { + background: url(../img/overlays/02.png) +} + +.pattern-3 { + background: url(../img/overlays/03.png) +} + +.pattern-4 { + background: url(../img/overlays/04.png) +} + +.pattern-5 { + background: url(../img/overlays/05.png) +} + +.pattern-6 { + background: url(../img/overlays/06.png) +} + +.pattern-7 { + background: url(../img/overlays/07.png) +} + +.pattern-8 { + background: url(../img/overlays/08.png) +} + +.pattern-9 { + background: url(../img/overlays/09.png) +} + +.hm-blue-light .full-bg-img, .hm-blue-light .mask { + background-color: rgba(3, 169, 244, .3) +} + +.hm-red-light .full-bg-img, .hm-red-light .mask { + background-color: rgba(244, 67, 54, .3) +} + +.hm-pink-light .full-bg-img, .hm-pink-light .mask { + background-color: rgba(233, 30, 99, .3) +} + +.hm-purple-light .full-bg-img, .hm-purple-light .mask { + background-color: rgba(156, 39, 176, .3) +} + +.hm-indigo-light .full-bg-img, .hm-indigo-light .mask { + background-color: rgba(63, 81, 181, .3) +} + +.hm-cyan-light .full-bg-img, .hm-cyan-light .mask { + background-color: rgba(0, 188, 212, .3) +} + +.hm-teal-light .full-bg-img, .hm-teal-light .mask { + background-color: rgba(0, 150, 136, .3) +} + +.hm-green-light .full-bg-img, .hm-green-light .mask { + background-color: rgba(76, 175, 80, .3) +} + +.hm-lime-light .full-bg-img, .hm-lime-light .mask { + background-color: rgba(205, 220, 57, .3) +} + +.hm-yellow-light .full-bg-img, .hm-yellow-light .mask { + background-color: rgba(255, 235, 59, .3) +} + +.hm-orange-light .full-bg-img, .hm-orange-light .mask { + background-color: rgba(255, 152, 0, .3) +} + +.hm-brown-light .full-bg-img, .hm-brown-light .mask { + background-color: rgba(121, 85, 72, .3) +} + +.hm-grey-light .full-bg-img, .hm-grey-light .mask { + background-color: rgba(158, 158, 158, .3) +} + +.hm-bluegrey-light .full-bg-img, .hm-bluegrey-light .mask { + background-color: rgba(96, 125, 139, .3) +} + +.hm-black-light .full-bg-img, .hm-black-light .mask { + background-color: rgba(0, 0, 0, .3) +} + +.hm-stylish-light .full-bg-img, .hm-stylish-light .mask { + background-color: rgba(62, 69, 81, .3) +} + +.hm-white-light .full-bg-img, .hm-white-light .mask { + background-color: rgba(255, 255, 255, .3) +} + +.hm-blue-strong .full-bg-img, .hm-blue-strong .mask { + background-color: rgba(3, 169, 244, .7) +} + +.hm-red-strong .full-bg-img, .hm-red-strong .mask { + background-color: rgba(244, 67, 54, .7) +} + +.hm-pink-strong .full-bg-img, .hm-pink-strong .mask { + background-color: rgba(233, 30, 99, .7) +} + +.hm-purple-strong .full-bg-img, .hm-purple-strong .mask { + background-color: rgba(156, 39, 176, .7) +} + +.hm-indigo-strong .full-bg-img, .hm-indigo-strong .mask { + background-color: rgba(63, 81, 181, .7) +} + +.hm-cyan-strong .full-bg-img, .hm-cyan-strong .mask { + background-color: rgba(0, 188, 212, .7) +} + +.hm-teal-strong .full-bg-img, .hm-teal-strong .mask { + background-color: rgba(0, 150, 136, .7) +} + +.hm-green-strong .full-bg-img, .hm-green-strong .mask { + background-color: rgba(76, 175, 80, .7) +} + +.hm-lime-strong .full-bg-img, .hm-lime-strong .mask { + background-color: rgba(205, 220, 57, .7) +} + +.hm-yellow-strong .full-bg-img, .hm-yellow-strong .mask { + background-color: rgba(255, 235, 59, .7) +} + +.hm-orange-strong .full-bg-img, .hm-orange-strong .mask { + background-color: rgba(255, 152, 0, .7) +} + +.hm-brown-strong .full-bg-img, .hm-brown-strong .mask { + background-color: rgba(121, 85, 72, .7) +} + +.hm-grey-strong .full-bg-img, .hm-grey-strong .mask { + background-color: rgba(158, 158, 158, .7) +} + +.hm-bluegrey-strong .full-bg-img, .hm-bluegrey-strong .mask { + background-color: rgba(96, 125, 139, .7) +} + +.hm-black-strong .full-bg-img, .hm-black-strong .mask { + background-color: rgba(0, 0, 0, .7) +} + +.hm-stylish-strong .full-bg-img, .hm-stylish-strong .mask { + background-color: rgba(62, 69, 81, .7) +} + +.hm-white-strong .full-bg-img, .hm-white-strong .mask { + background-color: rgba(255, 255, 255, .7) +} + +.hm-blue-slight .full-bg-img, .hm-blue-slight .mask { + background-color: rgba(3, 169, 244, .1) +} + +.hm-red-slight .full-bg-img, .hm-red-slight .mask { + background-color: rgba(244, 67, 54, .1) +} + +.hm-pink-slight .full-bg-img, .hm-pink-slight .mask { + background-color: rgba(233, 30, 99, .1) +} + +.hm-purple-slight .full-bg-img, .hm-purple-slight .mask { + background-color: rgba(156, 39, 176, .1) +} + +.hm-indigo-slight .full-bg-img, .hm-indigo-slight .mask { + background-color: rgba(63, 81, 181, .1) +} + +.hm-cyan-slight .full-bg-img, .hm-cyan-slight .mask { + background-color: rgba(0, 188, 212, .1) +} + +.hm-teal-slight .full-bg-img, .hm-teal-slight .mask { + background-color: rgba(0, 150, 136, .1) +} + +.hm-green-slight .full-bg-img, .hm-green-slight .mask { + background-color: rgba(76, 175, 80, .1) +} + +.hm-lime-slight .full-bg-img, .hm-lime-slight .mask { + background-color: rgba(205, 220, 57, .1) +} + +.hm-yellow-slight .full-bg-img, .hm-yellow-slight .mask { + background-color: rgba(255, 235, 59, .1) +} + +.hm-orange-slight .full-bg-img, .hm-orange-slight .mask { + background-color: rgba(255, 152, 0, .1) +} + +.hm-brown-slight .full-bg-img, .hm-brown-slight .mask { + background-color: rgba(121, 85, 72, .1) +} + +.hm-grey-slight .full-bg-img, .hm-grey-slight .mask { + background-color: rgba(158, 158, 158, .1) +} + +.hm-bluegrey-slight .full-bg-img, .hm-bluegrey-slight .mask { + background-color: rgba(96, 125, 139, .1) +} + +.hm-black-slight .full-bg-img, .hm-black-slight .mask { + background-color: rgba(0, 0, 0, .1) +} + +.hm-stylish-slight .full-bg-img, .hm-stylish-slight .mask { + background-color: rgba(62, 69, 81, .1) +} + +.hm-white-slight .full-bg-img, .hm-white-slight .mask { + background-color: rgba(255, 255, 255, .1) +} + +.hm-zoom img { + transition: all .2s linear +} + +.hm-zoom:hover img { + -webkit-transform: scale(1.1); + -ms-transform: scale(1.1); + transform: scale(1.1) +} + +.hm-zoom:hover .mask { + opacity: 1 +} + +.img-overlay { + position: relative +} + +.img-overlay:after { + content: ''; + display: block; + position: absolute; + bottom: 0; + right: 0; + background: rgba(0, 0, 0, .17); + transition: background .4s +} + +.img-overlay:hover:after { + background: rgba(0, 0, 0, .35) +} + +.img-overlay.light:after { + background: rgba(255, 255, 255, .17) +} + +.img-overlay.light:hover:after { + background: rgba(255, 255, 255, .35) +} + +.img-overlay.blue:after { + background: rgba(0, 145, 234, .17) +} + +.img-overlay.blue:hover:after { + background: rgba(0, 145, 234, .35) +} + +.img-overlay.green:after { + background: rgba(76, 175, 80, .17) +} + +.img-overlay.green:hover:after { + background: rgba(76, 175, 80, .35) +} + +.img-overlay.red:after { + background: rgba(213, 0, 0, .17) +} + +.img-overlay.red:hover:after { + background: rgba(213, 0, 0, .35) +} + +footer.page-footer { + margin-top: 20px; + padding-top: 20px; + background-color: #3E4551; + color: #fff +} + +footer.page-footer .footer-copyright { + overflow: hidden; + height: 50px; + line-height: 50px; + color: rgba(255, 255, 255, .8); + background-color: rgba(0, 0, 0, .2); + text-align: center +} + +footer.page-footer a { + color: #fff +} + +footer.page-footer .call-to-action { + text-align: center; + padding-top: 1.3rem; + padding-bottom: .5rem +} + +footer.page-footer .call-to-action ul li { + display: inline-block; + padding-right: 10px +} + +footer.page-footer .social-section { + text-align: center +} + +footer.page-footer .social-section ul li { + display: inline-block +} + +ul.instagram-photos li { + display: inline-block; + max-width: 100px; + margin: 4px +} + +ul.instagram-photos li img { + margin: 0 +} + +.carousel-control:hover { + -webkit-transition-duration: 400ms; + -moz-transition-duration: 400ms; + -o-transition-duration: 400ms; + -ms-transition-duration: 400ms; + transition-duration: 400ms +} + +.carousel-fade .carousel-inner .carousel-item { + opacity: 0; + transition-property: opacity +} + +.carousel-fade .carousel-inner .active { + opacity: 1 +} + +.carousel-fade .carousel-inner .active.left, .carousel-fade .carousel-inner .active.right { + left: 0; + opacity: 0; + z-index: 1 +} + +.carousel-fade .carousel-inner .next.left, .carousel-fade .carousel-inner .prev.right { + opacity: 1 +} + +.carousel-fade .carousel-control { + z-index: 2 +} + +@media all and (transform-3d), (-webkit-transform-3d) { + .carousel-fade .carousel-inner > .carousel-item.active.left, .carousel-fade .carousel-inner > .carousel-item.active.right, + .carousel-fade .carousel-inner > .carousel-item.next, .carousel-fade .carousel-inner > .carousel-item.prev { + opacity: 0; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0) + } + + .carousel-fade .carousel-inner > .carousel-item.active, .carousel-fade .carousel-inner > .carousel-item.next.left, + .carousel-fade .carousel-inner > .carousel-item.prev.right { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0) + } +} + +.carousel .carousel-control-next-icon, .carousel .carousel-control-prev-icon { + width: 36px; + height: 36px +} + +.carousel .carousel-control-prev-icon { + background-image: url(../img/svg/arrow_left.svg) +} + +.carousel .carousel-control-next-icon { + background-image: url(../img/svg/arrow_right.svg) +} + +.carousel .carousel-indicators li { + max-width: 10px; + height: 10px; + border-radius: 50% +} + +.carousel .video-fluid { + height: 100% +} + +.carousel.no-flex .carousel-item-next, .carousel.no-flex .carousel-item-prev, +.carousel.no-flex .carousel-item.active { + display: block +} \ No newline at end of file diff --git a/workspace/public/favicon.ico b/workspace/public/favicon.ico new file mode 100644 index 0000000..e69de29 diff --git a/workspace/public/img/arbre.jpg b/workspace/public/img/arbre.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5c99fb668a4e6c59c7c60f1643efd6f8c4a467cd GIT binary patch literal 113567 zcmex=<NpH&0WUXCHwH#VMuraz9~c<^KV;nET9KK?z~Jer#lXS9z`(-5&&b3e#K6E{ z$H2fKz{teF#lXN2z`(#@#K^=T!oa`~#lXOj+0Mei$iTpm#{dC-p5Fd`3eNsP0scXb zA)fwz3=k0)O9KWY14BbALqjWL0|g@kD+6OI6H5jmhFMLlU=w^885rh5*&&P!3`!l$ zU~wh}1_pH~yMc*;fq4SN_83M61{Ns0fRTZLaS|6;eG4N41JfjknLQviQ1K~@3=FJL z@i~kP4D6F2=Cd*|FmOQGAU|*-vALk?mw?P)08tO}Ez=SR8>F5YiOq(@2FZcc8Zj_1 zXfZH=Lk|`L2F418rdGzLR>l_aP(c<8kPBmQaN=ipt!EFWSr`}?*cccXG@<4=Fhb1x z|B$mhqokz3N?$*(ST8XpKPgo&IX_pwBC$Z<P|rZ0!N$I#ATc>RwL~E)H9a%WR_Xoj z{Yna%DYi=CroINg1<t7%nI2U|slio#A<0$Q$(AWf_I3(36;>6w1-Ypui3%0DIeEoa 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 At^fc4 literal 0 HcmV?d00001 diff --git a/workspace/public/img/arbreNav.jpg b/workspace/public/img/arbreNav.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3f1f5f28189e2e5451ca498fba1f6a08622bba0c GIT binary patch literal 21353 zcmex=<NpH&0WUXCHwH#VMg|WC4+e(+51ANTD>Bm<7(6|-7&sUh7}y#38JQS_7#J9m z7#J7?7?~Kj7#J8z7#J9&7+Dz@85kJq7#J9&q3kvW1_ljAX0SLD0|SE*BNKxN0|P@J z0|P^5I}2ER5d#GHd3yW%DLDHF1^5R!hIsn>F+fCIEDb<T0ju?3U;xub28QNVh6Ywf z#tMc;Rt82^CYB5$46~XbE||f{z%UoeUckt}pwxkIfjX4k0CLU*b_Ny(1_lEoLj&ds z5SOiBWME){viC4DFfdNy0^4|jk%56}62$x)AT?0&2aF61tWfb6j0_CylOT4nGB7Z3 zK-nPwaU!v~pz1$>f@=ZP4Tc5=j0+%oLBdQ+AZ(CcW+XNn5*s83QftJ(z@Wvz0FDVG z14BbALqjVAV+BJ~D`QhDV+#gsVgYht3=U5G46pU<!89lw*cccXG@<4=Fhb1x|By{N zqokz3N?$*(ST8XpKPgo&IX_pwBC$Z<P|rZ0!N$I#ATc>RwL~E)H9a%WR{j0%{pt#t zDYok2roINg1<t7%nI2U|slio#A<0$Q$(AYV_I6x06;>6w1-Ypui3%0DIeEoa6}IYN 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 E034Eop#T5? literal 0 HcmV?d00001 diff --git a/workspace/public/img/arbreRond.png b/workspace/public/img/arbreRond.png new file mode 100644 index 0000000000000000000000000000000000000000..8522b1210957c6c573fe697a16796f686813d5f6 GIT binary patch literal 530962 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ⅆB=LYmovEGt+tH^TDf5ZGEvu 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 literal 0 HcmV?d00001 diff --git a/workspace/public/img/doge.png b/workspace/public/img/doge.png new file mode 100644 index 0000000000000000000000000000000000000000..3166b12817019f0769572ab66687f22872964e9c GIT binary patch literal 42968 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 I=akR{0P1vz;s5{u literal 0 HcmV?d00001 diff --git a/workspace/public/img/feuillesNav.jpeg b/workspace/public/img/feuillesNav.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..1fbc7eeff04fc91370ceb5784b9c4c33a9b2fe0b GIT binary patch literal 102903 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 Zbz$|rZGYY4XMAVBBU<pn`m_E2n*dC$Xg>e| literal 0 HcmV?d00001 diff --git a/workspace/public/index.php b/workspace/public/index.php new file mode 100644 index 0000000..c582053 --- /dev/null +++ b/workspace/public/index.php @@ -0,0 +1,58 @@ +<?php + +/** + * Laravel - A PHP Framework For Web Artisans + * + * @package Laravel + * @author Taylor Otwell <taylorotwell@gmail.com> + */ + +/* +|-------------------------------------------------------------------------- +| Register The Auto Loader +|-------------------------------------------------------------------------- +| +| Composer provides a convenient, automatically generated class loader for +| our application. We just need to utilize it! We'll simply require it +| into the script here so that we don't have to worry about manual +| loading any of our classes later on. It feels nice to relax. +| +*/ + +require __DIR__.'/../bootstrap/autoload.php'; + +/* +|-------------------------------------------------------------------------- +| Turn On The Lights +|-------------------------------------------------------------------------- +| +| We need to illuminate PHP development, so let us turn on the lights. +| This bootstraps the framework and gets it ready for use, then it +| will load up this application so that we can run it and send +| the responses back to the browser and delight our users. +| +*/ + +$app = require_once __DIR__.'/../bootstrap/app.php'; + +/* +|-------------------------------------------------------------------------- +| Run The Application +|-------------------------------------------------------------------------- +| +| Once we have the application, we can handle the incoming request +| through the kernel, and send the associated response back to +| the client's browser allowing them to enjoy the creative +| and wonderful application we have prepared for them. +| +*/ + +$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class); + +$response = $kernel->handle( + $request = Illuminate\Http\Request::capture() +); + +$response->send(); + +$kernel->terminate($request, $response); diff --git a/workspace/public/jquery/core.js b/workspace/public/jquery/core.js new file mode 100644 index 0000000..0e95274 --- /dev/null +++ b/workspace/public/jquery/core.js @@ -0,0 +1,476 @@ +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + +define( [ + "./var/arr", + "./var/document", + "./var/getProto", + "./var/slice", + "./var/concat", + "./var/push", + "./var/indexOf", + "./var/class2type", + "./var/toString", + "./var/hasOwn", + "./var/fnToString", + "./var/ObjectFunctionString", + "./var/support", + "./core/DOMEval" +], function( arr, document, getProto, slice, concat, push, indexOf, + class2type, toString, hasOwn, fnToString, ObjectFunctionString, + support, DOMEval ) { + +"use strict"; + +var + version = "3.2.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android <=4.0 only + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + + if ( copyIsArray ) { + copyIsArray = false; + clone = src && Array.isArray( src ) ? src : []; + + } else { + clone = src && jQuery.isPlainObject( src ) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isFunction: function( obj ) { + return jQuery.type( obj ) === "function"; + }, + + isWindow: function( obj ) { + return obj != null && obj === obj.window; + }, + + isNumeric: function( obj ) { + + // As of jQuery 3.0, isNumeric is limited to + // strings and numbers (primitives or objects) + // that can be coerced to finite numbers (gh-2662) + var type = jQuery.type( obj ); + return ( type === "number" || type === "string" ) && + + // parseFloat NaNs numeric-cast false positives ("") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + !isNaN( obj - parseFloat( obj ) ); + }, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + + /* eslint-disable no-unused-vars */ + // See https://github.com/eslint/eslint/issues/6125 + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + type: function( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; + }, + + // Evaluates a script in a global context + globalEval: function( code ) { + DOMEval( code ); + }, + + // Convert dashed to camelCase; used by the css and data modules + // Support: IE <=9 - 11, Edge 12 - 13 + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + now: Date.now, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = jQuery.type( obj ); + + if ( type === "function" || jQuery.isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} + +return jQuery; +} ); diff --git a/workspace/public/jquery/jquery.js b/workspace/public/jquery/jquery.js new file mode 100644 index 0000000..d2d8ca4 --- /dev/null +++ b/workspace/public/jquery/jquery.js @@ -0,0 +1,10253 @@ +/*! + * jQuery JavaScript Library v3.2.1 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2017-03-20T18:59Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var document = window.document; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + + + + function DOMEval( code, doc ) { + doc = doc || document; + + var script = doc.createElement( "script" ); + + script.text = code; + doc.head.appendChild( script ).parentNode.removeChild( script ); + } +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.2.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android <=4.0 only + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + + if ( copyIsArray ) { + copyIsArray = false; + clone = src && Array.isArray( src ) ? src : []; + + } else { + clone = src && jQuery.isPlainObject( src ) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isFunction: function( obj ) { + return jQuery.type( obj ) === "function"; + }, + + isWindow: function( obj ) { + return obj != null && obj === obj.window; + }, + + isNumeric: function( obj ) { + + // As of jQuery 3.0, isNumeric is limited to + // strings and numbers (primitives or objects) + // that can be coerced to finite numbers (gh-2662) + var type = jQuery.type( obj ); + return ( type === "number" || type === "string" ) && + + // parseFloat NaNs numeric-cast false positives ("") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + !isNaN( obj - parseFloat( obj ) ); + }, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + + /* eslint-disable no-unused-vars */ + // See https://github.com/eslint/eslint/issues/6125 + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + type: function( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; + }, + + // Evaluates a script in a global context + globalEval: function( code ) { + DOMEval( code ); + }, + + // Convert dashed to camelCase; used by the css and data modules + // Support: IE <=9 - 11, Edge 12 - 13 + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + now: Date.now, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = jQuery.type( obj ); + + if ( type === "function" || jQuery.isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.3 + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2016-08-08 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + disabledAncestor = addCombinator( + function( elem ) { + return elem.disabled === true && ("form" in elem || "label" in elem); + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !compilerCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + + if ( nodeType !== 1 ) { + newContext = context; + newSelector = selector; + + // qSA looks outside Element context, which is not what we want + // Thanks to Andrew Dupont for this workaround technique + // Support: IE <=8 + // Exclude object elements + } else if ( context.nodeName.toLowerCase() !== "object" ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + disabledAncestor( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( preferredDoc !== document && + (subWindow = document.defaultView) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( el ) { + el.className = "i"; + return !el.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( el ) { + el.appendChild( document.createComment("") ); + return !el.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID filter and find + if ( support.getById ) { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( (elem = elems[i++]) ) { + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( el ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" + + "<select id='" + expando + "-\r\\' msallowcapture=''>" + + "<option selected=''></option></select>"; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( el ) { + el.innerHTML = "<a href='' disabled='disabled'></a>" + + "<select disabled='disabled'><option/></select>"; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll(":enabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll(":disabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( el ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + !compilerCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) {} + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return (sel + "").replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( (oldCache = uniqueCache[ key ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( el ) { + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement("fieldset") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( el ) { + el.innerHTML = "<a href='#'></a>"; + return el.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( el ) { + el.innerHTML = "<input/>"; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( el ) { + return el.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +}; +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +var risSimple = /^.[^:#\[\.,]*$/; + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Simple selector that can be filtered directly, removing non-Elements + if ( risSimple.test( qualifier ) ) { + return jQuery.filter( qualifier, elements, not ); + } + + // Complex selector, compare the two sets, removing non-Elements + qualifier = jQuery.filter( qualifier, elements ); + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not && elem.nodeType === 1; + } ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( jQuery.isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( nodeName( elem, "iframe" ) ) { + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( jQuery.isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && jQuery.isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && jQuery.isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = jQuery.isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( jQuery.isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + jQuery.isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( jQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !jQuery.isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ jQuery.camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ jQuery.camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ jQuery.camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( jQuery.camelCase ); + } else { + key = jQuery.camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = jQuery.camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + jQuery.contains( elem.ownerDocument, elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + +var swap = function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, + scale = 1, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + do { + + // If previous iteration zeroed out, double until we get *something*. + // Use string for doubling so we don't accidentally see scale as unchanged below + scale = scale || ".5"; + + // Adjust and apply + initialInUnit = initialInUnit / scale; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Update scale, tolerating zero or NaN from tween.cur() + // Break the loop if scale is unchanged or perfect, or if we've just had enough. + } while ( + scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations + ); + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i ); + +var rscriptType = ( /^$|\/(?:java|ecma)script/i ); + + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE <=9 only + option: [ 1, "<select multiple='multiple'>", "</select>" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting <tbody> or other required elements. + thead: [ 1, "<table>", "</table>" ], + col: [ 2, "<table><colgroup>", "</colgroup></table>" ], + tr: [ 2, "<table><tbody>", "</tbody></table>" ], + td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], + + _default: [ 0, "", "" ] +}; + +// Support: IE <=9 only +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, contains, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = "<textarea>x</textarea>"; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); +var documentElement = document.documentElement; + + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 only +// See #13393 for more info +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + // Make a writable jQuery.Event from the native event object + var event = jQuery.event.fix( nativeEvent ); + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or 2) have namespace(s) + // a subset or equal to those in the bound event (both can have no namespace). + if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG <use> instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: jQuery.isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + this.focus(); + return false; + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( this.type === "checkbox" && this.click && nodeName( this, "input" ) ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; + } + + return event.which; + } +}, jQuery.event.addProp ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + /* eslint-disable max-len */ + + // See https://github.com/eslint/eslint/issues/3229 + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, + + /* eslint-enable */ + + // Support: IE <=10 - 11, Edge 12 - 13 + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /<script|<style|<link/i, + + // checked="checked" or checked + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, + rscriptTypeMasked = /^true\/(.*)/, + rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( ">tbody", elem )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + + if ( match ) { + elem.type = match[ 1 ]; + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + isFunction = jQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( isFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl ) { + jQuery._evalUrl( node.src ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1></$2>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = jQuery.contains( elem.ownerDocument, elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rmargin = ( /^margin/ ); + +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + div.style.cssText = + "box-sizing:border-box;" + + "position:relative;display:block;" + + "margin:auto;border:1px;padding:1px;" + + "top:1%;width:50%"; + div.innerHTML = ""; + documentElement.appendChild( container ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = divStyle.marginLeft === "2px"; + boxSizingReliableVal = divStyle.width === "4px"; + + // Support: Android 4.0 - 4.3 only + // Some styles come back with percentage values, even though they shouldn't + div.style.marginRight = "50%"; + pixelMarginRightVal = divStyle.marginRight === "4px"; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + var pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + container.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;" + + "padding:0;margin-top:1px;position:absolute"; + container.appendChild( div ); + + jQuery.extend( support, { + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelMarginRight: function() { + computeStyleTests(); + return pixelMarginRightVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }, + + cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style; + +// Return a css property mapped to a potentially vendor prefixed property +function vendorPropName( name ) { + + // Shortcut for names that are not vendor prefixed + if ( name in emptyStyle ) { + return name; + } + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a property mapped along what jQuery.cssProps suggests or to +// a vendor prefixed property. +function finalPropName( name ) { + var ret = jQuery.cssProps[ name ]; + if ( !ret ) { + ret = jQuery.cssProps[ name ] = vendorPropName( name ) || name; + } + return ret; +} + +function setPositiveNumber( elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { + var i, + val = 0; + + // If we already have the right measurement, avoid augmentation + if ( extra === ( isBorderBox ? "border" : "content" ) ) { + i = 4; + + // Otherwise initialize for horizontal or vertical properties + } else { + i = name === "width" ? 1 : 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin, so add it if we want it + if ( extra === "margin" ) { + val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); + } + + if ( isBorderBox ) { + + // border-box includes padding, so remove it if we want content + if ( extra === "content" ) { + val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // At this point, extra isn't border nor margin, so remove border + if ( extra !== "margin" ) { + val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } else { + + // At this point, extra isn't content, so add padding + val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // At this point, extra isn't content nor padding, so add border + if ( extra !== "padding" ) { + val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + return val; +} + +function getWidthOrHeight( elem, name, extra ) { + + // Start with computed style + var valueIsBorderBox, + styles = getStyles( elem ), + val = curCSS( elem, name, styles ), + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Computed unit is not pixels. Stop here and return. + if ( rnumnonpx.test( val ) ) { + return val; + } + + // Check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = isBorderBox && + ( support.boxSizingReliable() || val === elem.style[ name ] ); + + // Fall back to offsetWidth/Height when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + if ( val === "auto" ) { + val = elem[ "offset" + name[ 0 ].toUpperCase() + name.slice( 1 ) ]; + } + + // Normalize "", auto, and prepare for extra + val = parseFloat( val ) || 0; + + // Use the active box-sizing model to add/subtract irrelevant styles + return ( val + + augmentWidthOrHeight( + elem, + name, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: { + "float": "cssFloat" + }, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = jQuery.camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + if ( type === "number" ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = jQuery.camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( i, name ) { + jQuery.cssHooks[ name ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, name, extra ); + } ) : + getWidthOrHeight( elem, name, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = extra && getStyles( elem ), + subtract = extra && augmentWidthOrHeight( + elem, + name, + extra, + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + styles + ); + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ name ] = value; + value = jQuery.css( elem, name ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( !rmargin.test( prefix ) ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && + ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || + jQuery.cssHooks[ tween.prop ] ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = jQuery.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 13 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = jQuery.camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( jQuery.isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + jQuery.proxy( result.stop, result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( jQuery.isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( jQuery.isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + jQuery.isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( jQuery.isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = jQuery.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://html.spec.whatwg.org/multipage/infrastructure.html#strip-and-collapse-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( jQuery.isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( typeof value === "string" && value ) { + classes = value.match( rnothtmlwhite ) || []; + + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( jQuery.isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + if ( typeof value === "string" && value ) { + classes = value.match( rnothtmlwhite ) || []; + + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value; + + if ( typeof stateVal === "boolean" && type === "string" ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( jQuery.isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( type === "string" ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = value.match( rnothtmlwhite ) || []; + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, isFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + isFunction = jQuery.isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + elem[ type ](); + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup contextmenu" ).split( " " ), + function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; +} ); + +jQuery.fn.extend( { + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +} ); + + + + +support.focusin = "onfocusin" in window; + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = jQuery.now(); + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) { + xml = undefined; + } + + if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && jQuery.type( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = jQuery.isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( jQuery.isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ]; + } + } + match = responseHeaders[ key.toLowerCase() ]; + } + return match == null ? null : match; + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 13 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available, append data to url + if ( s.data ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( jQuery.isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + + +jQuery._evalUrl = function( url ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + "throws": true + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( jQuery.isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var isFunction = jQuery.isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain requests + if ( s.crossDomain ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( "<script>" ).prop( { + charset: s.scriptCharset, + src: s.url + } ).on( + "load error", + callback = function( evt ) { + script.remove(); + callback = null; + if ( evt ) { + complete( evt.type === "error" ? 404 : 200, evt.type ); + } + } + ); + + // Use native DOM manipulation to avoid our domManip AJAX trickery + document.head.appendChild( script[ 0 ] ); + }, + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +var oldCallbacks = [], + rjsonp = /(=)\?(?=&|$)|\?\?/; + +// Default jsonp settings +jQuery.ajaxSetup( { + jsonp: "callback", + jsonpCallback: function() { + var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) ); + this[ callback ] = true; + return callback; + } +} ); + +// Detect, normalize options and install callbacks for jsonp requests +jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { + + var callbackName, overwritten, responseContainer, + jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? + "url" : + typeof s.data === "string" && + ( s.contentType || "" ) + .indexOf( "application/x-www-form-urlencoded" ) === 0 && + rjsonp.test( s.data ) && "data" + ); + + // Handle iff the expected data type is "jsonp" or we have a parameter to set + if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { + + // Get callback name, remembering preexisting value associated with it + callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ? + s.jsonpCallback() : + s.jsonpCallback; + + // Insert callback into url or form data + if ( jsonProp ) { + s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); + } else if ( s.jsonp !== false ) { + s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; + } + + // Use data converter to retrieve json after script execution + s.converters[ "script json" ] = function() { + if ( !responseContainer ) { + jQuery.error( callbackName + " was not called" ); + } + return responseContainer[ 0 ]; + }; + + // Force json dataType + s.dataTypes[ 0 ] = "json"; + + // Install callback + overwritten = window[ callbackName ]; + window[ callbackName ] = function() { + responseContainer = arguments; + }; + + // Clean-up function (fires after converters) + jqXHR.always( function() { + + // If previous value didn't exist - remove it + if ( overwritten === undefined ) { + jQuery( window ).removeProp( callbackName ); + + // Otherwise restore preexisting value + } else { + window[ callbackName ] = overwritten; + } + + // Save back as free + if ( s[ callbackName ] ) { + + // Make sure that re-using the options doesn't screw things around + s.jsonpCallback = originalSettings.jsonpCallback; + + // Save the callback name for future use + oldCallbacks.push( callbackName ); + } + + // Call if it was a function and we have a response + if ( responseContainer && jQuery.isFunction( overwritten ) ) { + overwritten( responseContainer[ 0 ] ); + } + + responseContainer = overwritten = undefined; + } ); + + // Delegate to script + return "script"; + } +} ); + + + + +// Support: Safari 8 only +// In Safari 8 documents created via document.implementation.createHTMLDocument +// collapse sibling forms: the second one becomes a child of the first one. +// Because of that, this security measure has to be disabled in Safari 8. +// https://bugs.webkit.org/show_bug.cgi?id=137337 +support.createHTMLDocument = ( function() { + var body = document.implementation.createHTMLDocument( "" ).body; + body.innerHTML = "<form></form><form></form>"; + return body.childNodes.length === 2; +} )(); + + +// Argument "data" should be string of html +// context (optional): If specified, the fragment will be created in this context, +// defaults to document +// keepScripts (optional): If true, will include scripts passed in the html string +jQuery.parseHTML = function( data, context, keepScripts ) { + if ( typeof data !== "string" ) { + return []; + } + if ( typeof context === "boolean" ) { + keepScripts = context; + context = false; + } + + var base, parsed, scripts; + + if ( !context ) { + + // Stop scripts or inline event handlers from being executed immediately + // by using document.implementation + if ( support.createHTMLDocument ) { + context = document.implementation.createHTMLDocument( "" ); + + // Set the base href for the created document + // so any parsed elements with URLs + // are based on the document's URL (gh-2965) + base = context.createElement( "base" ); + base.href = document.location.href; + context.head.appendChild( base ); + } else { + context = document; + } + } + + parsed = rsingleTag.exec( data ); + scripts = !keepScripts && []; + + // Single tag + if ( parsed ) { + return [ context.createElement( parsed[ 1 ] ) ]; + } + + parsed = buildFragment( [ data ], context, scripts ); + + if ( scripts && scripts.length ) { + jQuery( scripts ).remove(); + } + + return jQuery.merge( [], parsed.childNodes ); +}; + + +/** + * Load a url into a page + */ +jQuery.fn.load = function( url, params, callback ) { + var selector, type, response, + self = this, + off = url.indexOf( " " ); + + if ( off > -1 ) { + selector = stripAndCollapse( url.slice( off ) ); + url = url.slice( 0, off ); + } + + // If it's a function + if ( jQuery.isFunction( params ) ) { + + // We assume that it's the callback + callback = params; + params = undefined; + + // Otherwise, build a param string + } else if ( params && typeof params === "object" ) { + type = "POST"; + } + + // If we have elements to modify, make the request + if ( self.length > 0 ) { + jQuery.ajax( { + url: url, + + // If "type" variable is undefined, then "GET" method will be used. + // Make value of this field explicit since + // user can override it through ajaxSetup method + type: type || "GET", + dataType: "html", + data: params + } ).done( function( responseText ) { + + // Save response for use in complete callback + response = arguments; + + self.html( selector ? + + // If a selector was specified, locate the right elements in a dummy div + // Exclude scripts to avoid IE 'Permission Denied' errors + jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) : + + // Otherwise use the full result + responseText ); + + // If the request succeeds, this function gets "data", "status", "jqXHR" + // but they are ignored because response was set above. + // If it fails, this function gets "jqXHR", "status", "error" + } ).always( callback && function( jqXHR, status ) { + self.each( function() { + callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] ); + } ); + } ); + } + + return this; +}; + + + + +// Attach a bunch of functions for handling common AJAX events +jQuery.each( [ + "ajaxStart", + "ajaxStop", + "ajaxComplete", + "ajaxError", + "ajaxSuccess", + "ajaxSend" +], function( i, type ) { + jQuery.fn[ type ] = function( fn ) { + return this.on( type, fn ); + }; +} ); + + + + +jQuery.expr.pseudos.animated = function( elem ) { + return jQuery.grep( jQuery.timers, function( fn ) { + return elem === fn.elem; + } ).length; +}; + + + + +jQuery.offset = { + setOffset: function( elem, options, i ) { + var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, + position = jQuery.css( elem, "position" ), + curElem = jQuery( elem ), + props = {}; + + // Set position first, in-case top/left are set even on static elem + if ( position === "static" ) { + elem.style.position = "relative"; + } + + curOffset = curElem.offset(); + curCSSTop = jQuery.css( elem, "top" ); + curCSSLeft = jQuery.css( elem, "left" ); + calculatePosition = ( position === "absolute" || position === "fixed" ) && + ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1; + + // Need to be able to calculate position if either + // top or left is auto and position is either absolute or fixed + if ( calculatePosition ) { + curPosition = curElem.position(); + curTop = curPosition.top; + curLeft = curPosition.left; + + } else { + curTop = parseFloat( curCSSTop ) || 0; + curLeft = parseFloat( curCSSLeft ) || 0; + } + + if ( jQuery.isFunction( options ) ) { + + // Use jQuery.extend here to allow modification of coordinates argument (gh-1848) + options = options.call( elem, i, jQuery.extend( {}, curOffset ) ); + } + + if ( options.top != null ) { + props.top = ( options.top - curOffset.top ) + curTop; + } + if ( options.left != null ) { + props.left = ( options.left - curOffset.left ) + curLeft; + } + + if ( "using" in options ) { + options.using.call( elem, props ); + + } else { + curElem.css( props ); + } + } +}; + +jQuery.fn.extend( { + offset: function( options ) { + + // Preserve chaining for setter + if ( arguments.length ) { + return options === undefined ? + this : + this.each( function( i ) { + jQuery.offset.setOffset( this, options, i ); + } ); + } + + var doc, docElem, rect, win, + elem = this[ 0 ]; + + if ( !elem ) { + return; + } + + // Return zeros for disconnected and hidden (display: none) elements (gh-2310) + // Support: IE <=11 only + // Running getBoundingClientRect on a + // disconnected node in IE throws an error + if ( !elem.getClientRects().length ) { + return { top: 0, left: 0 }; + } + + rect = elem.getBoundingClientRect(); + + doc = elem.ownerDocument; + docElem = doc.documentElement; + win = doc.defaultView; + + return { + top: rect.top + win.pageYOffset - docElem.clientTop, + left: rect.left + win.pageXOffset - docElem.clientLeft + }; + }, + + position: function() { + if ( !this[ 0 ] ) { + return; + } + + var offsetParent, offset, + elem = this[ 0 ], + parentOffset = { top: 0, left: 0 }; + + // Fixed elements are offset from window (parentOffset = {top:0, left: 0}, + // because it is its only offset parent + if ( jQuery.css( elem, "position" ) === "fixed" ) { + + // Assume getBoundingClientRect is there when computed position is fixed + offset = elem.getBoundingClientRect(); + + } else { + + // Get *real* offsetParent + offsetParent = this.offsetParent(); + + // Get correct offsets + offset = this.offset(); + if ( !nodeName( offsetParent[ 0 ], "html" ) ) { + parentOffset = offsetParent.offset(); + } + + // Add offsetParent borders + parentOffset = { + top: parentOffset.top + jQuery.css( offsetParent[ 0 ], "borderTopWidth", true ), + left: parentOffset.left + jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true ) + }; + } + + // Subtract parent offsets and element margins + return { + top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), + left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true ) + }; + }, + + // This method will return documentElement in the following cases: + // 1) For the element inside the iframe without offsetParent, this method will return + // documentElement of the parent window + // 2) For the hidden or detached element + // 3) For body or html element, i.e. in case of the html node - it will return itself + // + // but those exceptions were never presented as a real life use-cases + // and might be considered as more preferable results. + // + // This logic, however, is not guaranteed and can change at any point in the future + offsetParent: function() { + return this.map( function() { + var offsetParent = this.offsetParent; + + while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) { + offsetParent = offsetParent.offsetParent; + } + + return offsetParent || documentElement; + } ); + } +} ); + +// Create scrollLeft and scrollTop methods +jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) { + var top = "pageYOffset" === prop; + + jQuery.fn[ method ] = function( val ) { + return access( this, function( elem, method, val ) { + + // Coalesce documents and windows + var win; + if ( jQuery.isWindow( elem ) ) { + win = elem; + } else if ( elem.nodeType === 9 ) { + win = elem.defaultView; + } + + if ( val === undefined ) { + return win ? win[ prop ] : elem[ method ]; + } + + if ( win ) { + win.scrollTo( + !top ? val : win.pageXOffset, + top ? val : win.pageYOffset + ); + + } else { + elem[ method ] = val; + } + }, method, val, arguments.length ); + }; +} ); + +// Support: Safari <=7 - 9.1, Chrome <=37 - 49 +// Add the top/left cssHooks using jQuery.fn.position +// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 +// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347 +// getComputedStyle returns percent when specified for top/left/bottom/right; +// rather than make the css module depend on the offset module, just check for it here +jQuery.each( [ "top", "left" ], function( i, prop ) { + jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition, + function( elem, computed ) { + if ( computed ) { + computed = curCSS( elem, prop ); + + // If curCSS returns percentage, fallback to offset + return rnumnonpx.test( computed ) ? + jQuery( elem ).position()[ prop ] + "px" : + computed; + } + } + ); +} ); + + +// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods +jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { + jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, + function( defaultExtra, funcName ) { + + // Margin is only for outerHeight, outerWidth + jQuery.fn[ funcName ] = function( margin, value ) { + var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), + extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); + + return access( this, function( elem, type, value ) { + var doc; + + if ( jQuery.isWindow( elem ) ) { + + // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729) + return funcName.indexOf( "outer" ) === 0 ? + elem[ "inner" + name ] : + elem.document.documentElement[ "client" + name ]; + } + + // Get document width or height + if ( elem.nodeType === 9 ) { + doc = elem.documentElement; + + // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], + // whichever is greatest + return Math.max( + elem.body[ "scroll" + name ], doc[ "scroll" + name ], + elem.body[ "offset" + name ], doc[ "offset" + name ], + doc[ "client" + name ] + ); + } + + return value === undefined ? + + // Get width or height on the element, requesting but not forcing parseFloat + jQuery.css( elem, type, extra ) : + + // Set width or height on the element + jQuery.style( elem, type, value, extra ); + }, type, chainable ? margin : undefined, chainable ); + }; + } ); +} ); + + +jQuery.fn.extend( { + + bind: function( types, data, fn ) { + return this.on( types, null, data, fn ); + }, + unbind: function( types, fn ) { + return this.off( types, null, fn ); + }, + + delegate: function( selector, types, data, fn ) { + return this.on( types, selector, data, fn ); + }, + undelegate: function( selector, types, fn ) { + + // ( namespace ) or ( selector, types [, fn] ) + return arguments.length === 1 ? + this.off( selector, "**" ) : + this.off( types, selector || "**", fn ); + } +} ); + +jQuery.holdReady = function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } +}; +jQuery.isArray = Array.isArray; +jQuery.parseJSON = JSON.parse; +jQuery.nodeName = nodeName; + + + + +// Register as a named AMD module, since jQuery can be concatenated with other +// files that may use define, but not via a proper concatenation script that +// understands anonymous AMD modules. A named AMD is safest and most robust +// way to register. Lowercase jquery is used because AMD module names are +// derived from file names, and jQuery is normally delivered in a lowercase +// file name. Do this after creating the global so that if an AMD module wants +// to call noConflict to hide this version of jQuery, it will work. + +// Note that for maximum portability, libraries that are not jQuery should +// declare themselves as anonymous modules, and avoid setting a global if an +// AMD loader is present. jQuery is a special case. For more information, see +// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon + +if ( typeof define === "function" && define.amd ) { + define( "jquery", [], function() { + return jQuery; + } ); +} + + + + +var + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$; + +jQuery.noConflict = function( deep ) { + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + window.jQuery = _jQuery; + } + + return jQuery; +}; + +// Expose jQuery and $ identifiers, even in AMD +// (#7102#comment:10, https://github.com/jquery/jquery/pull/557) +// and CommonJS for browser emulators (#13566) +if ( !noGlobal ) { + window.jQuery = window.$ = jQuery; +} + + + + +return jQuery; +} ); diff --git a/workspace/public/jquery/jquery.min.js b/workspace/public/jquery/jquery.min.js new file mode 100644 index 0000000..644d35e --- /dev/null +++ b/workspace/public/jquery/jquery.min.js @@ -0,0 +1,4 @@ +/*! jQuery v3.2.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.2.1",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice},r.extend=r.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||r.isFunction(g)||(g={}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=Array.isArray(d)))?(e?(e=!1,f=c&&Array.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},r.extend({expando:"jQuery"+(q+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===r.type(a)},isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b,c;return!(!a||"[object Object]"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c&&m.call(c)===n))},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?j[k.call(a)]||"object":typeof a},globalEval:function(a){p(a)},camelCase:function(a){return a.replace(t,"ms-").replace(u,v)},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;d<c;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(s,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:i.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;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;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;f<d;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for(f in a)e=b(a[f],f,c),null!=e&&h.push(e);return g.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;if("string"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a))return d=f.call(arguments,2),e=function(){return a.apply(b||this,d.concat(f.call(arguments)))},e.guid=a.guid=a.guid||r.guid++,e},now:Date.now,support:o}),"function"==typeof Symbol&&(r.fn[Symbol.iterator]=c[Symbol.iterator]),r.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){j["[object "+b+"]"]=b.toLowerCase()});function w(a){var b=!!a&&"length"in a&&a.length,c=r.type(a);return"function"!==c&&!r.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}var x=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={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.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=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$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("fieldset");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=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;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 function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(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 qa(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},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=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),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){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.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===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(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,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):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(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!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&&C.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.escape=function(a){return(a+"").replace(ba,ca)},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:V,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(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===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 V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.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(_,aa).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("(^|"+K+")"+a+"("+K+"|$)"))&&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(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},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,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/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=I(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(P,"$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(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).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:oa(!1),disabled:oa(!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 X.test(a.nodeName)},input:function(a){return W.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:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e);return!1}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}return!1}}function ua(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 va(a,b,c){for(var d=0,e=b.length;d<e;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(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?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(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}];i<f;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;e<f;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i<e&&ya(a.slice(i,e)),e<f&&ya(a=a.slice(e)),e<f&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};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=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext;function B(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()}var C=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,D=/^.[^:#\[\.,]*$/;function E(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):D.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b<d;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;b<d;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(E(this,a||[],!1))},not:function(a){return this.pushStack(E(this,a||[],!0))},is:function(a){return!!E(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var F,G=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,H=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||F,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:G.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),C.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};H.prototype=r.fn,F=r(d);var I=/^(?:parents|prev(?:Until|All))/,J={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(r.contains(this,b[a]))return!0})},closest:function(a,b){var c,d=0,e=this.length,f=[],g="string"!=typeof a&&r(a);if(!A.test(a))for(;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function K(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return K(a,"nextSibling")},prev:function(a){return K(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return B(a,"iframe")?a.contentDocument:(B(a,"template")&&(a=a.content||a),r.merge([],a.childNodes))}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(J[a]||r.uniqueSort(e),I.test(a)&&e.reverse()),this.pushStack(e)}});var L=/[^\x20\t\r\n\f]+/g;function M(a){var b={};return r.each(a.match(L)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?M(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=e||a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){r.each(b,function(b,c){r.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==r.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return r.each(arguments,function(a,b){var c;while((c=r.inArray(b,f,c))>-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function N(a){return a}function O(a){throw a}function P(a,b,c,d){var e;try{a&&r.isFunction(e=a.promise)?e.call(a).done(b).fail(c):a&&r.isFunction(e=a.then)?e.call(a,b,c):b.apply(void 0,[a].slice(d))}catch(a){c.apply(void 0,[a])}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b<f)){if(a=d.apply(h,i),a===c.promise())throw new TypeError("Thenable self-resolution");j=a&&("object"==typeof a||"function"==typeof a)&&a.then,r.isFunction(j)?e?j.call(a,g(f,c,N,e),g(f,c,O,e)):(f++,j.call(a,g(f,c,N,e),g(f,c,O,e),g(f,c,N,c.notifyWith))):(d!==N&&(h=void 0,i=[a]),(e||c.resolveWith)(h,i))}},k=e?j:function(){try{j()}catch(a){r.Deferred.exceptionHook&&r.Deferred.exceptionHook(a,k.stackTrace),b+1>=f&&(d!==O&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:N,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:N)),c[2][3].add(g(0,a,r.isFunction(d)?d:O))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(P(a,g.done(h(c)).resolve,g.reject,!b),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)P(e[c],h(c),g.reject);return g.promise()}});var Q=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&Q.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var R=r.Deferred();r.fn.ready=function(a){return R.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||R.resolveWith(d,[r]))}}),r.ready.then=R.then;function S(){d.removeEventListener("DOMContentLoaded",S), +a.removeEventListener("load",S),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",S),a.addEventListener("load",S));var T=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)T(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h<i;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},U=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function V(){this.expando=r.expando+V.uid++}V.uid=1,V.prototype={cache:function(a){var b=a[this.expando];return b||(b={},U(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[r.camelCase(b)]=c;else for(d in b)e[r.camelCase(d)]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0===b||b&&"string"==typeof b&&void 0===c?this.get(a,b):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d=a[this.expando];if(void 0!==d){if(void 0!==b){Array.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(L)||[]),c=b.length;while(c--)delete d[b[c]]}(void 0===b||r.isEmptyObject(d))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!r.isEmptyObject(b)}};var W=new V,X=new V,Y=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function $(a){return"true"===a||"false"!==a&&("null"===a?null:a===+a+""?+a:Y.test(a)?JSON.parse(a):a)}function _(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Z,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c=$(c)}catch(e){}X.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return X.hasData(a)||W.hasData(a)},data:function(a,b,c){return X.access(a,b,c)},removeData:function(a,b){X.remove(a,b)},_data:function(a,b,c){return W.access(a,b,c)},_removeData:function(a,b){W.remove(a,b)}}),r.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=X.get(f),1===f.nodeType&&!W.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=r.camelCase(d.slice(5)),_(f,d,e[d])));W.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){X.set(this,a)}):T(this,function(b){var c;if(f&&void 0===b){if(c=X.get(f,a),void 0!==c)return c;if(c=_(f,a),void 0!==c)return c}else this.each(function(){X.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){X.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=W.get(a,b),c&&(!d||Array.isArray(c)?d=W.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.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 W.get(a,c)||W.access(a,c,{empty:r.Callbacks("once memory").add(function(){W.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?r.queue(this[0],a):void 0===b?this:this.each(function(){var c=r.queue(this,a,b);r._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&r.dequeue(this,a)})},dequeue:function(a){return this.each(function(){r.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=r.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=W.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var aa=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ba=new RegExp("^(?:([+-])=|)("+aa+")([a-z%]*)$","i"),ca=["Top","Right","Bottom","Left"],da=function(a,b){return a=b||a,"none"===a.style.display||""===a.style.display&&r.contains(a.ownerDocument,a)&&"none"===r.css(a,"display")},ea=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};function fa(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return r.css(a,b,"")},i=h(),j=c&&c[3]||(r.cssNumber[b]?"":"px"),k=(r.cssNumber[b]||"px"!==j&&+i)&&ba.exec(r.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,r.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var ga={};function ha(a){var b,c=a.ownerDocument,d=a.nodeName,e=ga[d];return e?e:(b=c.body.appendChild(c.createElement(d)),e=r.css(b,"display"),b.parentNode.removeChild(b),"none"===e&&(e="block"),ga[d]=e,e)}function ia(a,b){for(var c,d,e=[],f=0,g=a.length;f<g;f++)d=a[f],d.style&&(c=d.style.display,b?("none"===c&&(e[f]=W.get(d,"display")||null,e[f]||(d.style.display="")),""===d.style.display&&da(d)&&(e[f]=ha(d))):"none"!==c&&(e[f]="none",W.set(d,"display",c)));for(f=0;f<g;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ia(this,!0)},hide:function(){return ia(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){da(this)?r(this).show():r(this).hide()})}});var ja=/^(?:checkbox|radio)$/i,ka=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,la=/^$|\/(?:java|ecma)script/i,ma={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ma.optgroup=ma.option,ma.tbody=ma.tfoot=ma.colgroup=ma.caption=ma.thead,ma.th=ma.td;function na(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&B(a,b)?r.merge([a],c):c}function oa(a,b){for(var c=0,d=a.length;c<d;c++)W.set(a[c],"globalEval",!b||W.get(b[c],"globalEval"))}var pa=/<|&#?\w+;/;function qa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;n<o;n++)if(f=a[n],f||0===f)if("object"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(pa.test(f)){g=g||l.appendChild(b.createElement("div")),h=(ka.exec(f)||["",""])[1].toLowerCase(),i=ma[h]||ma._default,g.innerHTML=i[1]+r.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;r.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",n=0;while(f=m[n++])if(d&&r.inArray(f,d)>-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=na(l.appendChild(f),"script"),j&&oa(g),c){k=0;while(f=g[k++])la.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var ra=d.documentElement,sa=/^key/,ta=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ua=/^([^.]*)(?:\.(.+)|)/;function va(){return!0}function wa(){return!1}function xa(){try{return d.activeElement}catch(a){}}function ya(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ya(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=wa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(ra,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(L)||[""],j=b.length;while(j--)h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.hasData(a)&&W.get(a);if(q&&(i=q.events)){b=(b||"").match(L)||[""],j=b.length;while(j--)if(h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&W.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(W.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c<arguments.length;c++)i[c]=arguments[c];if(b.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,b)!==!1){h=r.event.handlers.call(this,b,j),c=0;while((f=h[c++])&&!b.isPropagationStopped()){b.currentTarget=f.elem,d=0;while((g=f.handlers[d++])&&!b.isImmediatePropagationStopped())b.rnamespace&&!b.rnamespace.test(g.namespace)||(b.handleObj=g,b.data=g.data,e=((r.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(b.result=e)===!1&&(b.preventDefault(),b.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,b),b.result}},handlers:function(a,b){var c,d,e,f,g,h=[],i=b.delegateCount,j=a.target;if(i&&j.nodeType&&!("click"===a.type&&a.button>=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c<i;c++)d=b[c],e=d.selector+" ",void 0===g[e]&&(g[e]=d.needsContext?r(e,this).index(j)>-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i<b.length&&h.push({elem:j,handlers:b.slice(i)}),h},addProp:function(a,b){Object.defineProperty(r.Event.prototype,a,{enumerable:!0,configurable:!0,get:r.isFunction(b)?function(){if(this.originalEvent)return b(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[a]},set:function(b){Object.defineProperty(this,a,{enumerable:!0,configurable:!0,writable:!0,value:b})}})},fix:function(a){return a[r.expando]?a:new r.Event(a)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==xa()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===xa()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&B(this,"input"))return this.click(),!1},_default:function(a){return B(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},r.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},r.Event=function(a,b){return this instanceof r.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?va:wa,this.target=a.target&&3===a.target.nodeType?a.target.parentNode:a.target,this.currentTarget=a.currentTarget,this.relatedTarget=a.relatedTarget):this.type=a,b&&r.extend(this,b),this.timeStamp=a&&a.timeStamp||r.now(),void(this[r.expando]=!0)):new r.Event(a,b)},r.Event.prototype={constructor:r.Event,isDefaultPrevented:wa,isPropagationStopped:wa,isImmediatePropagationStopped:wa,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=va,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=va,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=va,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},r.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(a){var b=a.button;return null==a.which&&sa.test(a.type)?null!=a.charCode?a.charCode:a.keyCode:!a.which&&void 0!==b&&ta.test(a.type)?1&b?1:2&b?3:4&b?2:0:a.which}},r.event.addProp),r.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){r.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||r.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),r.fn.extend({on:function(a,b,c,d){return ya(this,a,b,c,d)},one:function(a,b,c,d){return ya(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,r(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=wa),this.each(function(){r.event.remove(this,a,c,b)})}});var za=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Aa=/<script|<style|<link/i,Ba=/checked\s*(?:[^=]|=\s*.checked.)/i,Ca=/^true\/(.*)/,Da=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Ea(a,b){return B(a,"table")&&B(11!==b.nodeType?b:b.firstChild,"tr")?r(">tbody",a)[0]||a:a}function Fa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ga(a){var b=Ca.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ha(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(W.hasData(a)&&(f=W.access(a),g=W.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)r.event.add(b,e,j[e][c])}X.hasData(a)&&(h=X.access(a),i=r.extend({},h),X.set(b,i))}}function Ia(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ja.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function Ja(a,b,c,d){b=g.apply([],b);var e,f,h,i,j,k,l=0,m=a.length,n=m-1,q=b[0],s=r.isFunction(q);if(s||m>1&&"string"==typeof q&&!o.checkClone&&Ba.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ja(f,b,c,d)});if(m&&(e=qa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(na(e,"script"),Fa),i=h.length;l<m;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,na(j,"script"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Ga),l=0;l<i;l++)j=h[l],la.test(j.type||"")&&!W.access(j,"globalEval")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Da,""),k))}return a}function Ka(a,b,c){for(var d,e=b?r.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||r.cleanData(na(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&oa(na(d,"script")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(za,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=na(h),f=na(a),d=0,e=f.length;d<e;d++)Ia(f[d],g[d]);if(b)if(c)for(f=f||na(a),g=g||na(h),d=0,e=f.length;d<e;d++)Ha(f[d],g[d]);else Ha(a,h);return g=na(h,"script"),g.length>0&&oa(g,!i&&na(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(U(c)){if(b=c[W.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[W.expando]=void 0}c[X.expando]&&(c[X.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ka(this,a,!0)},remove:function(a){return Ka(this,a)},text:function(a){return T(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.appendChild(a)}})},prepend:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(na(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return T(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Aa.test(a)&&!ma[(ka.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c<d;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(na(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ja(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(na(this)),c&&c.replaceChild(b,this))},a)}}),r.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){r.fn[a]=function(a){for(var c,d=[],e=r(a),f=e.length-1,g=0;g<=f;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var La=/^margin/,Ma=new RegExp("^("+aa+")(?!px)[a-z%]+$","i"),Na=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)};!function(){function b(){if(i){i.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",i.innerHTML="",ra.appendChild(h);var b=a.getComputedStyle(i);c="1%"!==b.top,g="2px"===b.marginLeft,e="4px"===b.width,i.style.marginRight="50%",f="4px"===b.marginRight,ra.removeChild(h),i=null}}var c,e,f,g,h=d.createElement("div"),i=d.createElement("div");i.style&&(i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",o.clearCloneStyle="content-box"===i.style.backgroundClip,h.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",h.appendChild(i),r.extend(o,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return b(),e},pixelMarginRight:function(){return b(),f},reliableMarginLeft:function(){return b(),g}}))}();function Oa(a,b,c){var d,e,f,g,h=a.style;return c=c||Na(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!o.pixelMarginRight()&&Ma.test(g)&&La.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function Pa(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Qa=/^(none|table(?!-c[ea]).+)/,Ra=/^--/,Sa={position:"absolute",visibility:"hidden",display:"block"},Ta={letterSpacing:"0",fontWeight:"400"},Ua=["Webkit","Moz","ms"],Va=d.createElement("div").style;function Wa(a){if(a in Va)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ua.length;while(c--)if(a=Ua[c]+b,a in Va)return a}function Xa(a){var b=r.cssProps[a];return b||(b=r.cssProps[a]=Wa(a)||a),b}function Ya(a,b,c){var d=ba.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Za(a,b,c,d,e){var f,g=0;for(f=c===(d?"border":"content")?4:"width"===b?1:0;f<4;f+=2)"margin"===c&&(g+=r.css(a,c+ca[f],!0,e)),d?("content"===c&&(g-=r.css(a,"padding"+ca[f],!0,e)),"margin"!==c&&(g-=r.css(a,"border"+ca[f]+"Width",!0,e))):(g+=r.css(a,"padding"+ca[f],!0,e),"padding"!==c&&(g+=r.css(a,"border"+ca[f]+"Width",!0,e)));return g}function $a(a,b,c){var d,e=Na(a),f=Oa(a,b,e),g="border-box"===r.css(a,"boxSizing",!1,e);return Ma.test(f)?f:(d=g&&(o.boxSizingReliable()||f===a.style[b]),"auto"===f&&(f=a["offset"+b[0].toUpperCase()+b.slice(1)]),f=parseFloat(f)||0,f+Za(a,b,c||(g?"border":"content"),d,e)+"px")}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Oa(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=r.camelCase(b),i=Ra.test(b),j=a.style;return i||(b=Xa(h)),g=r.cssHooks[b]||r.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:j[b]:(f=typeof c,"string"===f&&(e=ba.exec(c))&&e[1]&&(c=fa(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(r.cssNumber[h]?"":"px")),o.clearCloneStyle||""!==c||0!==b.indexOf("background")||(j[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i?j.setProperty(b,c):j[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=r.camelCase(b),i=Ra.test(b);return i||(b=Xa(h)),g=r.cssHooks[b]||r.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Oa(a,b,d)),"normal"===e&&b in Ta&&(e=Ta[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),r.each(["height","width"],function(a,b){r.cssHooks[b]={get:function(a,c,d){if(c)return!Qa.test(r.css(a,"display"))||a.getClientRects().length&&a.getBoundingClientRect().width?$a(a,b,d):ea(a,Sa,function(){return $a(a,b,d)})},set:function(a,c,d){var e,f=d&&Na(a),g=d&&Za(a,b,d,"border-box"===r.css(a,"boxSizing",!1,f),f);return g&&(e=ba.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=r.css(a,b)),Ya(a,c,g)}}}),r.cssHooks.marginLeft=Pa(o.reliableMarginLeft,function(a,b){if(b)return(parseFloat(Oa(a,"marginLeft"))||a.getBoundingClientRect().left-ea(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px"}),r.each({margin:"",padding:"",border:"Width"},function(a,b){r.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+ca[d]+b]=f[d]||f[d-2]||f[0];return e}},La.test(a)||(r.cssHooks[a+b].set=Ya)}),r.fn.extend({css:function(a,b){return T(this,function(a,b,c){var d,e,f={},g=0;if(Array.isArray(b)){for(d=Na(a),e=b.length;g<e;g++)f[b[g]]=r.css(a,b[g],!1,d);return f}return void 0!==c?r.style(a,b,c):r.css(a,b)},a,b,arguments.length>1)}});function _a(a,b,c,d,e){return new _a.prototype.init(a,b,c,d,e)}r.Tween=_a,_a.prototype={constructor:_a,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=_a.propHooks[this.prop];return a&&a.get?a.get(this):_a.propHooks._default.get(this)},run:function(a){var b,c=_a.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):_a.propHooks._default.set(this),this}},_a.prototype.init.prototype=_a.prototype,_a.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},_a.propHooks.scrollTop=_a.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=_a.prototype.init,r.fx.step={};var ab,bb,cb=/^(?:toggle|show|hide)$/,db=/queueHooks$/;function eb(){bb&&(d.hidden===!1&&a.requestAnimationFrame?a.requestAnimationFrame(eb):a.setTimeout(eb,r.fx.interval),r.fx.tick())}function fb(){return a.setTimeout(function(){ab=void 0}),ab=r.now()}function gb(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ca[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function hb(a,b,c){for(var d,e=(kb.tweeners[b]||[]).concat(kb.tweeners["*"]),f=0,g=e.length;f<g;f++)if(d=e[f].call(c,b,a))return d}function ib(a,b,c){var d,e,f,g,h,i,j,k,l="width"in b||"height"in b,m=this,n={},o=a.style,p=a.nodeType&&da(a),q=W.get(a,"fxshow");c.queue||(g=r._queueHooks(a,"fx"),null==g.unqueued&&(g.unqueued=0,h=g.empty.fire,g.empty.fire=function(){g.unqueued||h()}),g.unqueued++,m.always(function(){m.always(function(){g.unqueued--,r.queue(a,"fx").length||g.empty.fire()})}));for(d in b)if(e=b[d],cb.test(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}n[d]=q&&q[d]||r.style(a,d)}if(i=!r.isEmptyObject(b),i||!r.isEmptyObject(n)){l&&1===a.nodeType&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=q&&q.display,null==j&&(j=W.get(a,"display")),k=r.css(a,"display"),"none"===k&&(j?k=j:(ia([a],!0),j=a.style.display||j,k=r.css(a,"display"),ia([a]))),("inline"===k||"inline-block"===k&&null!=j)&&"none"===r.css(a,"float")&&(i||(m.done(function(){o.display=j}),null==j&&(k=o.display,j="none"===k?"":k)),o.display="inline-block")),c.overflow&&(o.overflow="hidden",m.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]})),i=!1;for(d in n)i||(q?"hidden"in q&&(p=q.hidden):q=W.access(a,"fxshow",{display:j}),f&&(q.hidden=!p),p&&ia([a],!0),m.done(function(){p||ia([a]),W.remove(a,"fxshow");for(d in n)r.style(a,d,n[d])})),i=hb(p?q[d]:0,d,m),d in q||(q[d]=i.start,p&&(i.end=i.start,i.start=0))}}function jb(a,b){var c,d,e,f,g;for(c in a)if(d=r.camelCase(c),e=b[d],f=a[c],Array.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=r.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kb(a,b,c){var d,e,f=0,g=kb.prefilters.length,h=r.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=ab||fb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;g<i;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),f<1&&i?c:(i||h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:r.extend({},b),opts:r.extend(!0,{specialEasing:{},easing:r.easing._default},c),originalProperties:b,originalOptions:c,startTime:ab||fb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=r.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;c<d;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jb(k,j.opts.specialEasing);f<g;f++)if(d=kb.prefilters[f].call(j,a,k,j.opts))return r.isFunction(d.stop)&&(r._queueHooks(j.elem,j.opts.queue).stop=r.proxy(d.stop,d)),d;return r.map(k,hb,j),r.isFunction(j.opts.start)&&j.opts.start.call(a,j),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always),r.fx.timer(r.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j}r.Animation=r.extend(kb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return fa(c.elem,a,ba.exec(b),c),c}]},tweener:function(a,b){r.isFunction(a)?(b=a,a=["*"]):a=a.match(L);for(var c,d=0,e=a.length;d<e;d++)c=a[d],kb.tweeners[c]=kb.tweeners[c]||[],kb.tweeners[c].unshift(b)},prefilters:[ib],prefilter:function(a,b){b?kb.prefilters.unshift(a):kb.prefilters.push(a)}}),r.speed=function(a,b,c){var d=a&&"object"==typeof a?r.extend({},a):{complete:c||!c&&b||r.isFunction(a)&&a,duration:a,easing:c&&b||b&&!r.isFunction(b)&&b};return r.fx.off?d.duration=0:"number"!=typeof d.duration&&(d.duration in r.fx.speeds?d.duration=r.fx.speeds[d.duration]:d.duration=r.fx.speeds._default),null!=d.queue&&d.queue!==!0||(d.queue="fx"),d.old=d.complete,d.complete=function(){r.isFunction(d.old)&&d.old.call(this),d.queue&&r.dequeue(this,d.queue)},d},r.fn.extend({fadeTo:function(a,b,c,d){return this.filter(da).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=r.isEmptyObject(a),f=r.speed(b,c,d),g=function(){var b=kb(this,r.extend({},a),f);(e||W.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=r.timers,g=W.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&db.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||r.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=W.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=r.timers,g=d?d.length:0;for(c.finish=!0,r.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;b<g;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),r.each(["toggle","show","hide"],function(a,b){var c=r.fn[b];r.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gb(b,!0),a,d,e)}}),r.each({slideDown:gb("show"),slideUp:gb("hide"),slideToggle:gb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){r.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),r.timers=[],r.fx.tick=function(){var a,b=0,c=r.timers;for(ab=r.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||r.fx.stop(),ab=void 0},r.fx.timer=function(a){r.timers.push(a),r.fx.start()},r.fx.interval=13,r.fx.start=function(){bb||(bb=!0,eb())},r.fx.stop=function(){bb=null},r.fx.speeds={slow:600,fast:200,_default:400},r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",o.checkOn=""!==a.value,o.optSelected=c.selected,a=d.createElement("input"),a.value="t",a.type="radio",o.radioValue="t"===a.value}();var lb,mb=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return T(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?lb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b), +null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(L);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),lb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=mb[b]||r.find.attr;mb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=mb[g],mb[g]=e,e=null!=c(a,b,d)?g:null,mb[g]=f),e}});var nb=/^(?:input|select|textarea|button)$/i,ob=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return T(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):nb.test(a.nodeName)||ob.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function pb(a){var b=a.match(L)||[];return b.join(" ")}function qb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,qb(this)))});if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,qb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,qb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(L)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=qb(this),b&&W.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":W.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+pb(qb(c))+" ").indexOf(b)>-1)return!0;return!1}});var rb=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":Array.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(rb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:pb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d<i;d++)if(c=e[d],(c.selected||d===f)&&!c.disabled&&(!c.parentNode.disabled||!B(c.parentNode,"optgroup"))){if(b=r(c).val(),g)return b;h.push(b)}return h},set:function(a,b){var c,d,e=a.options,f=r.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=r.inArray(r.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(Array.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var sb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!sb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,sb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(W.get(h,"events")||{})[b.type]&&W.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&U(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!U(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=W.access(d,b);e||d.addEventListener(a,c,!0),W.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=W.access(d,b)-1;e?W.access(d,b,e):(d.removeEventListener(a,c,!0),W.remove(d,b))}}});var tb=a.location,ub=r.now(),vb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var wb=/\[\]$/,xb=/\r?\n/g,yb=/^(?:submit|button|image|reset|file)$/i,zb=/^(?:input|select|textarea|keygen)/i;function Ab(a,b,c,d){var e;if(Array.isArray(b))r.each(b,function(b,e){c||wb.test(a)?d(a,e):Ab(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)Ab(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(Array.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)Ab(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&zb.test(this.nodeName)&&!yb.test(a)&&(this.checked||!ja.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:Array.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(xb,"\r\n")}}):{name:b.name,value:c.replace(xb,"\r\n")}}).get()}});var Bb=/%20/g,Cb=/#.*$/,Db=/([?&])_=[^&]*/,Eb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Fb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Gb=/^(?:GET|HEAD)$/,Hb=/^\/\//,Ib={},Jb={},Kb="*/".concat("*"),Lb=d.createElement("a");Lb.href=tb.href;function Mb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(L)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Nb(a,b,c,d){var e={},f=a===Jb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Ob(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Pb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Qb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:tb.href,type:"GET",isLocal:Fb.test(tb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Kb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Ob(Ob(a,r.ajaxSettings),b):Ob(r.ajaxSettings,a)},ajaxPrefilter:Mb(Ib),ajaxTransport:Mb(Jb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Eb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||tb.href)+"").replace(Hb,tb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(L)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Lb.protocol+"//"+Lb.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Nb(Ib,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Gb.test(o.type),f=o.url.replace(Cb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(Bb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(vb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Db,"$1"),n=(vb.test(f)?"&":"?")+"_="+ub++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Kb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Nb(Jb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Pb(o,y,d)),v=Qb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Rb={0:200,1223:204},Sb=r.ajaxSettings.xhr();o.cors=!!Sb&&"withCredentials"in Sb,o.ajax=Sb=!!Sb,r.ajaxTransport(function(b){var c,d;if(o.cors||Sb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Rb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Tb=[],Ub=/(=)\?(?=&|$)|\?\?/;r.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Tb.pop()||r.expando+"_"+ub++;return this[a]=!0,a}}),r.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Ub.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ub.test(b.data)&&"data");if(h||"jsonp"===b.dataTypes[0])return e=b.jsonpCallback=r.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Ub,"$1"+e):b.jsonp!==!1&&(b.url+=(vb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||r.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?r(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Tb.push(e)),g&&r.isFunction(f)&&f(g[0]),g=f=void 0}),"script"}),o.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument("").body;return a.innerHTML="<form></form><form></form>",2===a.childNodes.length}(),r.parseHTML=function(a,b,c){if("string"!=typeof a)return[];"boolean"==typeof b&&(c=b,b=!1);var e,f,g;return b||(o.createHTMLDocument?(b=d.implementation.createHTMLDocument(""),e=b.createElement("base"),e.href=d.location.href,b.head.appendChild(e)):b=d),f=C.exec(a),g=!c&&[],f?[b.createElement(f[1])]:(f=qa([a],b,g),g&&g.length&&r(g).remove(),r.merge([],f.childNodes))},r.fn.load=function(a,b,c){var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=pb(a.slice(h)),a=a.slice(0,h)),r.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&r.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?r("<div>").append(r.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},r.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){r.fn[b]=function(a){return this.on(b,a)}}),r.expr.pseudos.animated=function(a){return r.grep(r.timers,function(b){return a===b.elem}).length},r.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=r.css(a,"position"),l=r(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=r.css(a,"top"),i=r.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),r.isFunction(b)&&(b=b.call(a,c,r.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},r.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){r.offset.setOffset(this,a,b)});var b,c,d,e,f=this[0];if(f)return f.getClientRects().length?(d=f.getBoundingClientRect(),b=f.ownerDocument,c=b.documentElement,e=b.defaultView,{top:d.top+e.pageYOffset-c.clientTop,left:d.left+e.pageXOffset-c.clientLeft}):{top:0,left:0}},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===r.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),B(a[0],"html")||(d=a.offset()),d={top:d.top+r.css(a[0],"borderTopWidth",!0),left:d.left+r.css(a[0],"borderLeftWidth",!0)}),{top:b.top-d.top-r.css(c,"marginTop",!0),left:b.left-d.left-r.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===r.css(a,"position"))a=a.offsetParent;return a||ra})}}),r.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;r.fn[a]=function(d){return T(this,function(a,d,e){var f;return r.isWindow(a)?f=a:9===a.nodeType&&(f=a.defaultView),void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),r.each(["top","left"],function(a,b){r.cssHooks[b]=Pa(o.pixelPosition,function(a,c){if(c)return c=Oa(a,b),Ma.test(c)?r(a).position()[b]+"px":c})}),r.each({Height:"height",Width:"width"},function(a,b){r.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){r.fn[d]=function(e,f){var g=arguments.length&&(c||"boolean"!=typeof e),h=c||(e===!0||f===!0?"margin":"border");return T(this,function(b,c,e){var f;return r.isWindow(b)?0===d.indexOf("outer")?b["inner"+a]:b.document.documentElement["client"+a]:9===b.nodeType?(f=b.documentElement,Math.max(b.body["scroll"+a],f["scroll"+a],b.body["offset"+a],f["offset"+a],f["client"+a])):void 0===e?r.css(b,c,h):r.style(b,c,e,h)},b,g?e:void 0,g)}})}),r.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),r.holdReady=function(a){a?r.readyWait++:r.ready(!0)},r.isArray=Array.isArray,r.parseJSON=JSON.parse,r.nodeName=B,"function"==typeof define&&define.amd&&define("jquery",[],function(){return r});var Vb=a.jQuery,Wb=a.$;return r.noConflict=function(b){return a.$===r&&(a.$=Wb),b&&a.jQuery===r&&(a.jQuery=Vb),r},b||(a.jQuery=a.$=r),r}); diff --git a/workspace/public/jquery/jquery.min.map b/workspace/public/jquery/jquery.min.map new file mode 100644 index 0000000..e8f55ef --- /dev/null +++ b/workspace/public/jquery/jquery.min.map @@ -0,0 +1 @@ +{"version":3,"sources":["jquery.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","arr","getProto","Object","getPrototypeOf","slice","concat","push","indexOf","class2type","toString","hasOwn","hasOwnProperty","fnToString","ObjectFunctionString","call","support","DOMEval","code","doc","script","createElement","text","head","appendChild","parentNode","removeChild","version","jQuery","selector","context","fn","init","rtrim","rmsPrefix","rdashAlpha","fcamelCase","all","letter","toUpperCase","prototype","jquery","constructor","length","toArray","get","num","pushStack","elems","ret","merge","prevObject","each","callback","map","elem","i","apply","arguments","first","eq","last","len","j","end","sort","splice","extend","options","name","src","copy","copyIsArray","clone","target","deep","isFunction","isPlainObject","Array","isArray","undefined","expando","Math","random","replace","isReady","error","msg","noop","obj","type","isWindow","isNumeric","isNaN","parseFloat","proto","Ctor","isEmptyObject","globalEval","camelCase","string","isArrayLike","trim","makeArray","results","inArray","second","grep","invert","callbackInverse","matches","callbackExpect","arg","value","guid","proxy","tmp","args","now","Date","Symbol","iterator","split","toLowerCase","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","sortOrder","a","b","pop","push_native","list","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","_","escaped","escapedWhitespace","high","String","fromCharCode","rcssescape","fcssescape","ch","asCodePoint","charCodeAt","unloadHandler","disabledAncestor","addCombinator","disabled","dir","next","childNodes","nodeType","e","els","seed","m","nid","match","groups","newSelector","newContext","ownerDocument","exec","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","nodeName","getAttribute","setAttribute","toSelector","join","testContext","querySelectorAll","qsaError","removeAttribute","keys","cache","key","cacheLength","shift","markFunction","assert","el","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","documentElement","node","hasCompare","subWindow","defaultView","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","filter","attrId","find","getAttributeNode","tag","innerHTML","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","attr","val","specified","escape","sel","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","simple","forward","ofType","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","setFilters","idx","matched","not","matcher","unmatched","has","innerText","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","tokens","soFar","preFilters","cached","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","n","rneedsContext","rsingleTag","risSimple","winnow","qualifier","self","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","prev","targets","l","closest","index","prevAll","add","addBack","sibling","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","reverse","rnothtmlwhite","createOptions","object","flag","Callbacks","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","remove","disable","lock","fireWith","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Deferred","func","tuples","state","always","deferred","catch","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","master","updateFunc","rerrorNames","stack","console","warn","message","readyException","readyList","readyWait","wait","completed","removeEventListener","readyState","doScroll","access","chainable","emptyGet","raw","bulk","acceptData","owner","Data","uid","defineProperty","configurable","set","data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","getData","JSON","parse","dataAttr","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isHiddenWithinTree","style","display","css","swap","old","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","getDefaultDisplay","body","showHide","show","values","hide","toggle","rcheckableType","rtagName","rscriptType","wrapMap","option","thead","col","tr","td","_default","optgroup","tbody","tfoot","colgroup","caption","th","getAll","setGlobalEval","refElements","rhtml","buildFragment","scripts","selection","ignored","wrap","fragment","createDocumentFragment","nodes","htmlPrefilter","createTextNode","div","checkClone","cloneNode","noCloneChecked","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","safeActiveElement","err","on","types","one","origFn","event","off","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","fix","handlerQueue","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","preventDefault","stopPropagation","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","Event","enumerable","originalEvent","writable","load","noBubble","trigger","blur","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","isSimulated","stopImmediatePropagation","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rxhtmlTag","rnoInnerhtml","rchecked","rscriptTypeMasked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","pdataOld","pdataCur","udataOld","udataCur","fixInput","domManip","collection","hasScripts","iNoClone","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rmargin","rnumnonpx","getStyles","opener","getComputedStyle","computeStyleTests","cssText","container","divStyle","pixelPositionVal","reliableMarginLeftVal","marginLeft","boxSizingReliableVal","width","marginRight","pixelMarginRightVal","backgroundClip","clearCloneStyle","pixelPosition","boxSizingReliable","pixelMarginRight","reliableMarginLeft","curCSS","computed","minWidth","maxWidth","getPropertyValue","addGetHookIf","conditionFn","hookFn","rdisplayswap","rcustomProp","cssShow","position","visibility","cssNormalTransform","letterSpacing","fontWeight","cssPrefixes","emptyStyle","vendorPropName","capName","finalPropName","cssProps","setPositiveNumber","subtract","max","augmentWidthOrHeight","extra","isBorderBox","styles","getWidthOrHeight","valueIsBorderBox","cssHooks","opacity","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","zoom","float","origName","isCustomProp","setProperty","isFinite","getClientRects","getBoundingClientRect","left","margin","padding","border","prefix","suffix","expand","expanded","parts","Tween","easing","propHooks","run","percent","eased","duration","pos","step","fx","scrollTop","scrollLeft","linear","p","swing","cos","PI","fxNow","inProgress","rfxtypes","rrun","schedule","hidden","requestAnimationFrame","interval","tick","createFxNow","genFx","includeWidth","height","createTween","animation","Animation","tweeners","defaultPrefilter","opts","oldfire","propTween","restoreDisplay","isBox","anim","dataShow","unqueued","overflow","overflowX","overflowY","propFilter","specialEasing","properties","stopped","prefilters","currentTime","startTime","tweens","originalProperties","originalOptions","gotoEnd","complete","timer","*","tweener","prefilter","speed","opt","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","removeProp","propFix","tabindex","parseInt","for","class","stripAndCollapse","getClass","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","classNames","hasClass","rreturn","valHooks","optionSet","rfocusMorph","onlyHandlers","bubbleType","ontype","eventPath","isTrigger","parentWindow","simulate","triggerHandler","hover","fnOver","fnOut","focusin","attaches","nonce","rquery","parseXML","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","s","valueOrFunction","encodeURIComponent","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rlocalProtocol","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","ajaxHandleResponses","responses","ct","finalDataType","firstDataType","mimeType","getResponseHeader","converters","ajaxConvert","response","isSuccess","conv2","current","conv","responseFields","dataFilter","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","setRequestHeader","overrideMimeType","status","abort","statusText","finalText","crossDomain","host","hasContent","ifModified","headers","beforeSend","success","send","nativeStatusText","modified","getJSON","getScript","throws","wrapAll","firstElementChild","wrapInner","unwrap","visible","offsetWidth","offsetHeight","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","onreadystatechange","responseType","responseText","binary","text script","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","params","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","using","rect","win","pageYOffset","clientTop","pageXOffset","clientLeft","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","bind","unbind","delegate","undelegate","holdReady","hold","parseJSON","define","amd","_jQuery","_$","$","noConflict"],"mappings":"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","file":"jquery.min.js"} \ No newline at end of file diff --git a/workspace/public/jquery/jquery.slim.js b/workspace/public/jquery/jquery.slim.js new file mode 100644 index 0000000..6cdf1ee --- /dev/null +++ b/workspace/public/jquery/jquery.slim.js @@ -0,0 +1,8160 @@ +/*! + * jQuery JavaScript Library v3.2.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2017-03-20T19:00Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var document = window.document; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + + + + function DOMEval( code, doc ) { + doc = doc || document; + + var script = doc.createElement( "script" ); + + script.text = code; + doc.head.appendChild( script ).parentNode.removeChild( script ); + } +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.2.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android <=4.0 only + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + + if ( copyIsArray ) { + copyIsArray = false; + clone = src && Array.isArray( src ) ? src : []; + + } else { + clone = src && jQuery.isPlainObject( src ) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isFunction: function( obj ) { + return jQuery.type( obj ) === "function"; + }, + + isWindow: function( obj ) { + return obj != null && obj === obj.window; + }, + + isNumeric: function( obj ) { + + // As of jQuery 3.0, isNumeric is limited to + // strings and numbers (primitives or objects) + // that can be coerced to finite numbers (gh-2662) + var type = jQuery.type( obj ); + return ( type === "number" || type === "string" ) && + + // parseFloat NaNs numeric-cast false positives ("") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + !isNaN( obj - parseFloat( obj ) ); + }, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + + /* eslint-disable no-unused-vars */ + // See https://github.com/eslint/eslint/issues/6125 + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + type: function( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; + }, + + // Evaluates a script in a global context + globalEval: function( code ) { + DOMEval( code ); + }, + + // Convert dashed to camelCase; used by the css and data modules + // Support: IE <=9 - 11, Edge 12 - 13 + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + now: Date.now, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = jQuery.type( obj ); + + if ( type === "function" || jQuery.isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.3 + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2016-08-08 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + disabledAncestor = addCombinator( + function( elem ) { + return elem.disabled === true && ("form" in elem || "label" in elem); + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !compilerCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + + if ( nodeType !== 1 ) { + newContext = context; + newSelector = selector; + + // qSA looks outside Element context, which is not what we want + // Thanks to Andrew Dupont for this workaround technique + // Support: IE <=8 + // Exclude object elements + } else if ( context.nodeName.toLowerCase() !== "object" ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + disabledAncestor( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( preferredDoc !== document && + (subWindow = document.defaultView) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( el ) { + el.className = "i"; + return !el.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( el ) { + el.appendChild( document.createComment("") ); + return !el.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID filter and find + if ( support.getById ) { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( (elem = elems[i++]) ) { + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( el ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" + + "<select id='" + expando + "-\r\\' msallowcapture=''>" + + "<option selected=''></option></select>"; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( el ) { + el.innerHTML = "<a href='' disabled='disabled'></a>" + + "<select disabled='disabled'><option/></select>"; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll(":enabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll(":disabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( el ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + !compilerCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) {} + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return (sel + "").replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( (oldCache = uniqueCache[ key ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( el ) { + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement("fieldset") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( el ) { + el.innerHTML = "<a href='#'></a>"; + return el.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( el ) { + el.innerHTML = "<input/>"; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( el ) { + return el.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +}; +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +var risSimple = /^.[^:#\[\.,]*$/; + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Simple selector that can be filtered directly, removing non-Elements + if ( risSimple.test( qualifier ) ) { + return jQuery.filter( qualifier, elements, not ); + } + + // Complex selector, compare the two sets, removing non-Elements + qualifier = jQuery.filter( qualifier, elements ); + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not && elem.nodeType === 1; + } ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( jQuery.isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( nodeName( elem, "iframe" ) ) { + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( jQuery.isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && jQuery.isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && jQuery.isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = jQuery.isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( jQuery.isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + jQuery.isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( jQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !jQuery.isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ jQuery.camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ jQuery.camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ jQuery.camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( jQuery.camelCase ); + } else { + key = jQuery.camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = jQuery.camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + jQuery.contains( elem.ownerDocument, elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + +var swap = function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, + scale = 1, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + do { + + // If previous iteration zeroed out, double until we get *something*. + // Use string for doubling so we don't accidentally see scale as unchanged below + scale = scale || ".5"; + + // Adjust and apply + initialInUnit = initialInUnit / scale; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Update scale, tolerating zero or NaN from tween.cur() + // Break the loop if scale is unchanged or perfect, or if we've just had enough. + } while ( + scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations + ); + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i ); + +var rscriptType = ( /^$|\/(?:java|ecma)script/i ); + + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE <=9 only + option: [ 1, "<select multiple='multiple'>", "</select>" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting <tbody> or other required elements. + thead: [ 1, "<table>", "</table>" ], + col: [ 2, "<table><colgroup>", "</colgroup></table>" ], + tr: [ 2, "<table><tbody>", "</tbody></table>" ], + td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], + + _default: [ 0, "", "" ] +}; + +// Support: IE <=9 only +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, contains, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = "<textarea>x</textarea>"; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); +var documentElement = document.documentElement; + + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 only +// See #13393 for more info +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + // Make a writable jQuery.Event from the native event object + var event = jQuery.event.fix( nativeEvent ); + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or 2) have namespace(s) + // a subset or equal to those in the bound event (both can have no namespace). + if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG <use> instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: jQuery.isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + this.focus(); + return false; + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( this.type === "checkbox" && this.click && nodeName( this, "input" ) ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; + } + + return event.which; + } +}, jQuery.event.addProp ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + /* eslint-disable max-len */ + + // See https://github.com/eslint/eslint/issues/3229 + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, + + /* eslint-enable */ + + // Support: IE <=10 - 11, Edge 12 - 13 + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /<script|<style|<link/i, + + // checked="checked" or checked + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, + rscriptTypeMasked = /^true\/(.*)/, + rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( ">tbody", elem )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + + if ( match ) { + elem.type = match[ 1 ]; + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + isFunction = jQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( isFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl ) { + jQuery._evalUrl( node.src ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1></$2>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = jQuery.contains( elem.ownerDocument, elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rmargin = ( /^margin/ ); + +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + div.style.cssText = + "box-sizing:border-box;" + + "position:relative;display:block;" + + "margin:auto;border:1px;padding:1px;" + + "top:1%;width:50%"; + div.innerHTML = ""; + documentElement.appendChild( container ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = divStyle.marginLeft === "2px"; + boxSizingReliableVal = divStyle.width === "4px"; + + // Support: Android 4.0 - 4.3 only + // Some styles come back with percentage values, even though they shouldn't + div.style.marginRight = "50%"; + pixelMarginRightVal = divStyle.marginRight === "4px"; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + var pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + container.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;" + + "padding:0;margin-top:1px;position:absolute"; + container.appendChild( div ); + + jQuery.extend( support, { + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelMarginRight: function() { + computeStyleTests(); + return pixelMarginRightVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }, + + cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style; + +// Return a css property mapped to a potentially vendor prefixed property +function vendorPropName( name ) { + + // Shortcut for names that are not vendor prefixed + if ( name in emptyStyle ) { + return name; + } + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a property mapped along what jQuery.cssProps suggests or to +// a vendor prefixed property. +function finalPropName( name ) { + var ret = jQuery.cssProps[ name ]; + if ( !ret ) { + ret = jQuery.cssProps[ name ] = vendorPropName( name ) || name; + } + return ret; +} + +function setPositiveNumber( elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { + var i, + val = 0; + + // If we already have the right measurement, avoid augmentation + if ( extra === ( isBorderBox ? "border" : "content" ) ) { + i = 4; + + // Otherwise initialize for horizontal or vertical properties + } else { + i = name === "width" ? 1 : 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin, so add it if we want it + if ( extra === "margin" ) { + val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); + } + + if ( isBorderBox ) { + + // border-box includes padding, so remove it if we want content + if ( extra === "content" ) { + val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // At this point, extra isn't border nor margin, so remove border + if ( extra !== "margin" ) { + val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } else { + + // At this point, extra isn't content, so add padding + val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // At this point, extra isn't content nor padding, so add border + if ( extra !== "padding" ) { + val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + return val; +} + +function getWidthOrHeight( elem, name, extra ) { + + // Start with computed style + var valueIsBorderBox, + styles = getStyles( elem ), + val = curCSS( elem, name, styles ), + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Computed unit is not pixels. Stop here and return. + if ( rnumnonpx.test( val ) ) { + return val; + } + + // Check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = isBorderBox && + ( support.boxSizingReliable() || val === elem.style[ name ] ); + + // Fall back to offsetWidth/Height when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + if ( val === "auto" ) { + val = elem[ "offset" + name[ 0 ].toUpperCase() + name.slice( 1 ) ]; + } + + // Normalize "", auto, and prepare for extra + val = parseFloat( val ) || 0; + + // Use the active box-sizing model to add/subtract irrelevant styles + return ( val + + augmentWidthOrHeight( + elem, + name, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: { + "float": "cssFloat" + }, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = jQuery.camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + if ( type === "number" ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = jQuery.camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( i, name ) { + jQuery.cssHooks[ name ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, name, extra ); + } ) : + getWidthOrHeight( elem, name, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = extra && getStyles( elem ), + subtract = extra && augmentWidthOrHeight( + elem, + name, + extra, + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + styles + ); + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ name ] = value; + value = jQuery.css( elem, name ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( !rmargin.test( prefix ) ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://html.spec.whatwg.org/multipage/infrastructure.html#strip-and-collapse-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( jQuery.isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( typeof value === "string" && value ) { + classes = value.match( rnothtmlwhite ) || []; + + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( jQuery.isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + if ( typeof value === "string" && value ) { + classes = value.match( rnothtmlwhite ) || []; + + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value; + + if ( typeof stateVal === "boolean" && type === "string" ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( jQuery.isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( type === "string" ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = value.match( rnothtmlwhite ) || []; + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, isFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + isFunction = jQuery.isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + elem[ type ](); + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup contextmenu" ).split( " " ), + function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; +} ); + +jQuery.fn.extend( { + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +} ); + + + + +support.focusin = "onfocusin" in window; + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && jQuery.type( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = jQuery.isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( jQuery.isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var isFunction = jQuery.isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +// Support: Safari 8 only +// In Safari 8 documents created via document.implementation.createHTMLDocument +// collapse sibling forms: the second one becomes a child of the first one. +// Because of that, this security measure has to be disabled in Safari 8. +// https://bugs.webkit.org/show_bug.cgi?id=137337 +support.createHTMLDocument = ( function() { + var body = document.implementation.createHTMLDocument( "" ).body; + body.innerHTML = "<form></form><form></form>"; + return body.childNodes.length === 2; +} )(); + + +// Argument "data" should be string of html +// context (optional): If specified, the fragment will be created in this context, +// defaults to document +// keepScripts (optional): If true, will include scripts passed in the html string +jQuery.parseHTML = function( data, context, keepScripts ) { + if ( typeof data !== "string" ) { + return []; + } + if ( typeof context === "boolean" ) { + keepScripts = context; + context = false; + } + + var base, parsed, scripts; + + if ( !context ) { + + // Stop scripts or inline event handlers from being executed immediately + // by using document.implementation + if ( support.createHTMLDocument ) { + context = document.implementation.createHTMLDocument( "" ); + + // Set the base href for the created document + // so any parsed elements with URLs + // are based on the document's URL (gh-2965) + base = context.createElement( "base" ); + base.href = document.location.href; + context.head.appendChild( base ); + } else { + context = document; + } + } + + parsed = rsingleTag.exec( data ); + scripts = !keepScripts && []; + + // Single tag + if ( parsed ) { + return [ context.createElement( parsed[ 1 ] ) ]; + } + + parsed = buildFragment( [ data ], context, scripts ); + + if ( scripts && scripts.length ) { + jQuery( scripts ).remove(); + } + + return jQuery.merge( [], parsed.childNodes ); +}; + + +jQuery.offset = { + setOffset: function( elem, options, i ) { + var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, + position = jQuery.css( elem, "position" ), + curElem = jQuery( elem ), + props = {}; + + // Set position first, in-case top/left are set even on static elem + if ( position === "static" ) { + elem.style.position = "relative"; + } + + curOffset = curElem.offset(); + curCSSTop = jQuery.css( elem, "top" ); + curCSSLeft = jQuery.css( elem, "left" ); + calculatePosition = ( position === "absolute" || position === "fixed" ) && + ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1; + + // Need to be able to calculate position if either + // top or left is auto and position is either absolute or fixed + if ( calculatePosition ) { + curPosition = curElem.position(); + curTop = curPosition.top; + curLeft = curPosition.left; + + } else { + curTop = parseFloat( curCSSTop ) || 0; + curLeft = parseFloat( curCSSLeft ) || 0; + } + + if ( jQuery.isFunction( options ) ) { + + // Use jQuery.extend here to allow modification of coordinates argument (gh-1848) + options = options.call( elem, i, jQuery.extend( {}, curOffset ) ); + } + + if ( options.top != null ) { + props.top = ( options.top - curOffset.top ) + curTop; + } + if ( options.left != null ) { + props.left = ( options.left - curOffset.left ) + curLeft; + } + + if ( "using" in options ) { + options.using.call( elem, props ); + + } else { + curElem.css( props ); + } + } +}; + +jQuery.fn.extend( { + offset: function( options ) { + + // Preserve chaining for setter + if ( arguments.length ) { + return options === undefined ? + this : + this.each( function( i ) { + jQuery.offset.setOffset( this, options, i ); + } ); + } + + var doc, docElem, rect, win, + elem = this[ 0 ]; + + if ( !elem ) { + return; + } + + // Return zeros for disconnected and hidden (display: none) elements (gh-2310) + // Support: IE <=11 only + // Running getBoundingClientRect on a + // disconnected node in IE throws an error + if ( !elem.getClientRects().length ) { + return { top: 0, left: 0 }; + } + + rect = elem.getBoundingClientRect(); + + doc = elem.ownerDocument; + docElem = doc.documentElement; + win = doc.defaultView; + + return { + top: rect.top + win.pageYOffset - docElem.clientTop, + left: rect.left + win.pageXOffset - docElem.clientLeft + }; + }, + + position: function() { + if ( !this[ 0 ] ) { + return; + } + + var offsetParent, offset, + elem = this[ 0 ], + parentOffset = { top: 0, left: 0 }; + + // Fixed elements are offset from window (parentOffset = {top:0, left: 0}, + // because it is its only offset parent + if ( jQuery.css( elem, "position" ) === "fixed" ) { + + // Assume getBoundingClientRect is there when computed position is fixed + offset = elem.getBoundingClientRect(); + + } else { + + // Get *real* offsetParent + offsetParent = this.offsetParent(); + + // Get correct offsets + offset = this.offset(); + if ( !nodeName( offsetParent[ 0 ], "html" ) ) { + parentOffset = offsetParent.offset(); + } + + // Add offsetParent borders + parentOffset = { + top: parentOffset.top + jQuery.css( offsetParent[ 0 ], "borderTopWidth", true ), + left: parentOffset.left + jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true ) + }; + } + + // Subtract parent offsets and element margins + return { + top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), + left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true ) + }; + }, + + // This method will return documentElement in the following cases: + // 1) For the element inside the iframe without offsetParent, this method will return + // documentElement of the parent window + // 2) For the hidden or detached element + // 3) For body or html element, i.e. in case of the html node - it will return itself + // + // but those exceptions were never presented as a real life use-cases + // and might be considered as more preferable results. + // + // This logic, however, is not guaranteed and can change at any point in the future + offsetParent: function() { + return this.map( function() { + var offsetParent = this.offsetParent; + + while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) { + offsetParent = offsetParent.offsetParent; + } + + return offsetParent || documentElement; + } ); + } +} ); + +// Create scrollLeft and scrollTop methods +jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) { + var top = "pageYOffset" === prop; + + jQuery.fn[ method ] = function( val ) { + return access( this, function( elem, method, val ) { + + // Coalesce documents and windows + var win; + if ( jQuery.isWindow( elem ) ) { + win = elem; + } else if ( elem.nodeType === 9 ) { + win = elem.defaultView; + } + + if ( val === undefined ) { + return win ? win[ prop ] : elem[ method ]; + } + + if ( win ) { + win.scrollTo( + !top ? val : win.pageXOffset, + top ? val : win.pageYOffset + ); + + } else { + elem[ method ] = val; + } + }, method, val, arguments.length ); + }; +} ); + +// Support: Safari <=7 - 9.1, Chrome <=37 - 49 +// Add the top/left cssHooks using jQuery.fn.position +// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 +// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347 +// getComputedStyle returns percent when specified for top/left/bottom/right; +// rather than make the css module depend on the offset module, just check for it here +jQuery.each( [ "top", "left" ], function( i, prop ) { + jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition, + function( elem, computed ) { + if ( computed ) { + computed = curCSS( elem, prop ); + + // If curCSS returns percentage, fallback to offset + return rnumnonpx.test( computed ) ? + jQuery( elem ).position()[ prop ] + "px" : + computed; + } + } + ); +} ); + + +// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods +jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { + jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, + function( defaultExtra, funcName ) { + + // Margin is only for outerHeight, outerWidth + jQuery.fn[ funcName ] = function( margin, value ) { + var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), + extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); + + return access( this, function( elem, type, value ) { + var doc; + + if ( jQuery.isWindow( elem ) ) { + + // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729) + return funcName.indexOf( "outer" ) === 0 ? + elem[ "inner" + name ] : + elem.document.documentElement[ "client" + name ]; + } + + // Get document width or height + if ( elem.nodeType === 9 ) { + doc = elem.documentElement; + + // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], + // whichever is greatest + return Math.max( + elem.body[ "scroll" + name ], doc[ "scroll" + name ], + elem.body[ "offset" + name ], doc[ "offset" + name ], + doc[ "client" + name ] + ); + } + + return value === undefined ? + + // Get width or height on the element, requesting but not forcing parseFloat + jQuery.css( elem, type, extra ) : + + // Set width or height on the element + jQuery.style( elem, type, value, extra ); + }, type, chainable ? margin : undefined, chainable ); + }; + } ); +} ); + + +jQuery.fn.extend( { + + bind: function( types, data, fn ) { + return this.on( types, null, data, fn ); + }, + unbind: function( types, fn ) { + return this.off( types, null, fn ); + }, + + delegate: function( selector, types, data, fn ) { + return this.on( types, selector, data, fn ); + }, + undelegate: function( selector, types, fn ) { + + // ( namespace ) or ( selector, types [, fn] ) + return arguments.length === 1 ? + this.off( selector, "**" ) : + this.off( types, selector || "**", fn ); + } +} ); + +jQuery.holdReady = function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } +}; +jQuery.isArray = Array.isArray; +jQuery.parseJSON = JSON.parse; +jQuery.nodeName = nodeName; + + + + +// Register as a named AMD module, since jQuery can be concatenated with other +// files that may use define, but not via a proper concatenation script that +// understands anonymous AMD modules. A named AMD is safest and most robust +// way to register. Lowercase jquery is used because AMD module names are +// derived from file names, and jQuery is normally delivered in a lowercase +// file name. Do this after creating the global so that if an AMD module wants +// to call noConflict to hide this version of jQuery, it will work. + +// Note that for maximum portability, libraries that are not jQuery should +// declare themselves as anonymous modules, and avoid setting a global if an +// AMD loader is present. jQuery is a special case. For more information, see +// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon + +if ( typeof define === "function" && define.amd ) { + define( "jquery", [], function() { + return jQuery; + } ); +} + + + + +var + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$; + +jQuery.noConflict = function( deep ) { + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + window.jQuery = _jQuery; + } + + return jQuery; +}; + +// Expose jQuery and $ identifiers, even in AMD +// (#7102#comment:10, https://github.com/jquery/jquery/pull/557) +// and CommonJS for browser emulators (#13566) +if ( !noGlobal ) { + window.jQuery = window.$ = jQuery; +} + + + + +return jQuery; +} ); diff --git a/workspace/public/jquery/jquery.slim.min.js b/workspace/public/jquery/jquery.slim.min.js new file mode 100644 index 0000000..105d00e --- /dev/null +++ b/workspace/public/jquery/jquery.slim.min.js @@ -0,0 +1,4 @@ +/*! jQuery v3.2.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector | (c) JS Foundation and other contributors | jquery.org/license */ +!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.2.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice},r.extend=r.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||r.isFunction(g)||(g={}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=Array.isArray(d)))?(e?(e=!1,f=c&&Array.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},r.extend({expando:"jQuery"+(q+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===r.type(a)},isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b,c;return!(!a||"[object Object]"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c&&m.call(c)===n))},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?j[k.call(a)]||"object":typeof a},globalEval:function(a){p(a)},camelCase:function(a){return a.replace(t,"ms-").replace(u,v)},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;d<c;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(s,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:i.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;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;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;f<d;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for(f in a)e=b(a[f],f,c),null!=e&&h.push(e);return g.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;if("string"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a))return d=f.call(arguments,2),e=function(){return a.apply(b||this,d.concat(f.call(arguments)))},e.guid=a.guid=a.guid||r.guid++,e},now:Date.now,support:o}),"function"==typeof Symbol&&(r.fn[Symbol.iterator]=c[Symbol.iterator]),r.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){j["[object "+b+"]"]=b.toLowerCase()});function w(a){var b=!!a&&"length"in a&&a.length,c=r.type(a);return"function"!==c&&!r.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}var x=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={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.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=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$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("fieldset");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=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;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 function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(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 qa(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},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=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),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){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.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===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(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,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):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(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!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&&C.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.escape=function(a){return(a+"").replace(ba,ca)},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:V,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(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===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 V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.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(_,aa).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("(^|"+K+")"+a+"("+K+"|$)"))&&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(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},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,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/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=I(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(P,"$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(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).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:oa(!1),disabled:oa(!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 X.test(a.nodeName)},input:function(a){return W.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:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e);return!1}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}return!1}}function ua(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 va(a,b,c){for(var d=0,e=b.length;d<e;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(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?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(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}];i<f;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;e<f;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i<e&&ya(a.slice(i,e)),e<f&&ya(a=a.slice(e)),e<f&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};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=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext;function B(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()}var C=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,D=/^.[^:#\[\.,]*$/;function E(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):D.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b<d;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;b<d;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(E(this,a||[],!1))},not:function(a){return this.pushStack(E(this,a||[],!0))},is:function(a){return!!E(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var F,G=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,H=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||F,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:G.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),C.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};H.prototype=r.fn,F=r(d);var I=/^(?:parents|prev(?:Until|All))/,J={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(r.contains(this,b[a]))return!0})},closest:function(a,b){var c,d=0,e=this.length,f=[],g="string"!=typeof a&&r(a);if(!A.test(a))for(;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function K(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return K(a,"nextSibling")},prev:function(a){return K(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return B(a,"iframe")?a.contentDocument:(B(a,"template")&&(a=a.content||a),r.merge([],a.childNodes))}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(J[a]||r.uniqueSort(e),I.test(a)&&e.reverse()),this.pushStack(e)}});var L=/[^\x20\t\r\n\f]+/g;function M(a){var b={};return r.each(a.match(L)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?M(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=e||a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){r.each(b,function(b,c){r.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==r.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return r.each(arguments,function(a,b){var c;while((c=r.inArray(b,f,c))>-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function N(a){return a}function O(a){throw a}function P(a,b,c,d){var e;try{a&&r.isFunction(e=a.promise)?e.call(a).done(b).fail(c):a&&r.isFunction(e=a.then)?e.call(a,b,c):b.apply(void 0,[a].slice(d))}catch(a){c.apply(void 0,[a])}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b<f)){if(a=d.apply(h,i),a===c.promise())throw new TypeError("Thenable self-resolution");j=a&&("object"==typeof a||"function"==typeof a)&&a.then,r.isFunction(j)?e?j.call(a,g(f,c,N,e),g(f,c,O,e)):(f++,j.call(a,g(f,c,N,e),g(f,c,O,e),g(f,c,N,c.notifyWith))):(d!==N&&(h=void 0,i=[a]),(e||c.resolveWith)(h,i))}},k=e?j:function(){try{j()}catch(a){r.Deferred.exceptionHook&&r.Deferred.exceptionHook(a,k.stackTrace),b+1>=f&&(d!==O&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:N,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:N)),c[2][3].add(g(0,a,r.isFunction(d)?d:O))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(P(a,g.done(h(c)).resolve,g.reject,!b),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)P(e[c],h(c),g.reject);return g.promise()}});var Q=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&Q.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var R=r.Deferred();r.fn.ready=function(a){return R.then(a)["catch"](function(a){r.readyException(a); +}),this},r.extend({isReady:!1,readyWait:1,ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||R.resolveWith(d,[r]))}}),r.ready.then=R.then;function S(){d.removeEventListener("DOMContentLoaded",S),a.removeEventListener("load",S),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",S),a.addEventListener("load",S));var T=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)T(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h<i;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},U=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function V(){this.expando=r.expando+V.uid++}V.uid=1,V.prototype={cache:function(a){var b=a[this.expando];return b||(b={},U(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[r.camelCase(b)]=c;else for(d in b)e[r.camelCase(d)]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0===b||b&&"string"==typeof b&&void 0===c?this.get(a,b):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d=a[this.expando];if(void 0!==d){if(void 0!==b){Array.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(L)||[]),c=b.length;while(c--)delete d[b[c]]}(void 0===b||r.isEmptyObject(d))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!r.isEmptyObject(b)}};var W=new V,X=new V,Y=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function $(a){return"true"===a||"false"!==a&&("null"===a?null:a===+a+""?+a:Y.test(a)?JSON.parse(a):a)}function _(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Z,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c=$(c)}catch(e){}X.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return X.hasData(a)||W.hasData(a)},data:function(a,b,c){return X.access(a,b,c)},removeData:function(a,b){X.remove(a,b)},_data:function(a,b,c){return W.access(a,b,c)},_removeData:function(a,b){W.remove(a,b)}}),r.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=X.get(f),1===f.nodeType&&!W.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=r.camelCase(d.slice(5)),_(f,d,e[d])));W.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){X.set(this,a)}):T(this,function(b){var c;if(f&&void 0===b){if(c=X.get(f,a),void 0!==c)return c;if(c=_(f,a),void 0!==c)return c}else this.each(function(){X.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){X.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=W.get(a,b),c&&(!d||Array.isArray(c)?d=W.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.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 W.get(a,c)||W.access(a,c,{empty:r.Callbacks("once memory").add(function(){W.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?r.queue(this[0],a):void 0===b?this:this.each(function(){var c=r.queue(this,a,b);r._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&r.dequeue(this,a)})},dequeue:function(a){return this.each(function(){r.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=r.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=W.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var aa=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ba=new RegExp("^(?:([+-])=|)("+aa+")([a-z%]*)$","i"),ca=["Top","Right","Bottom","Left"],da=function(a,b){return a=b||a,"none"===a.style.display||""===a.style.display&&r.contains(a.ownerDocument,a)&&"none"===r.css(a,"display")},ea=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};function fa(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return r.css(a,b,"")},i=h(),j=c&&c[3]||(r.cssNumber[b]?"":"px"),k=(r.cssNumber[b]||"px"!==j&&+i)&&ba.exec(r.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,r.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var ga={};function ha(a){var b,c=a.ownerDocument,d=a.nodeName,e=ga[d];return e?e:(b=c.body.appendChild(c.createElement(d)),e=r.css(b,"display"),b.parentNode.removeChild(b),"none"===e&&(e="block"),ga[d]=e,e)}function ia(a,b){for(var c,d,e=[],f=0,g=a.length;f<g;f++)d=a[f],d.style&&(c=d.style.display,b?("none"===c&&(e[f]=W.get(d,"display")||null,e[f]||(d.style.display="")),""===d.style.display&&da(d)&&(e[f]=ha(d))):"none"!==c&&(e[f]="none",W.set(d,"display",c)));for(f=0;f<g;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ia(this,!0)},hide:function(){return ia(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){da(this)?r(this).show():r(this).hide()})}});var ja=/^(?:checkbox|radio)$/i,ka=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,la=/^$|\/(?:java|ecma)script/i,ma={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ma.optgroup=ma.option,ma.tbody=ma.tfoot=ma.colgroup=ma.caption=ma.thead,ma.th=ma.td;function na(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&B(a,b)?r.merge([a],c):c}function oa(a,b){for(var c=0,d=a.length;c<d;c++)W.set(a[c],"globalEval",!b||W.get(b[c],"globalEval"))}var pa=/<|&#?\w+;/;function qa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;n<o;n++)if(f=a[n],f||0===f)if("object"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(pa.test(f)){g=g||l.appendChild(b.createElement("div")),h=(ka.exec(f)||["",""])[1].toLowerCase(),i=ma[h]||ma._default,g.innerHTML=i[1]+r.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;r.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",n=0;while(f=m[n++])if(d&&r.inArray(f,d)>-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=na(l.appendChild(f),"script"),j&&oa(g),c){k=0;while(f=g[k++])la.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var ra=d.documentElement,sa=/^key/,ta=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ua=/^([^.]*)(?:\.(.+)|)/;function va(){return!0}function wa(){return!1}function xa(){try{return d.activeElement}catch(a){}}function ya(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ya(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=wa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(ra,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(L)||[""],j=b.length;while(j--)h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.hasData(a)&&W.get(a);if(q&&(i=q.events)){b=(b||"").match(L)||[""],j=b.length;while(j--)if(h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&W.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(W.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c<arguments.length;c++)i[c]=arguments[c];if(b.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,b)!==!1){h=r.event.handlers.call(this,b,j),c=0;while((f=h[c++])&&!b.isPropagationStopped()){b.currentTarget=f.elem,d=0;while((g=f.handlers[d++])&&!b.isImmediatePropagationStopped())b.rnamespace&&!b.rnamespace.test(g.namespace)||(b.handleObj=g,b.data=g.data,e=((r.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(b.result=e)===!1&&(b.preventDefault(),b.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,b),b.result}},handlers:function(a,b){var c,d,e,f,g,h=[],i=b.delegateCount,j=a.target;if(i&&j.nodeType&&!("click"===a.type&&a.button>=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c<i;c++)d=b[c],e=d.selector+" ",void 0===g[e]&&(g[e]=d.needsContext?r(e,this).index(j)>-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i<b.length&&h.push({elem:j,handlers:b.slice(i)}),h},addProp:function(a,b){Object.defineProperty(r.Event.prototype,a,{enumerable:!0,configurable:!0,get:r.isFunction(b)?function(){if(this.originalEvent)return b(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[a]},set:function(b){Object.defineProperty(this,a,{enumerable:!0,configurable:!0,writable:!0,value:b})}})},fix:function(a){return a[r.expando]?a:new r.Event(a)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==xa()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===xa()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&B(this,"input"))return this.click(),!1},_default:function(a){return B(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},r.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},r.Event=function(a,b){return this instanceof r.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?va:wa,this.target=a.target&&3===a.target.nodeType?a.target.parentNode:a.target,this.currentTarget=a.currentTarget,this.relatedTarget=a.relatedTarget):this.type=a,b&&r.extend(this,b),this.timeStamp=a&&a.timeStamp||r.now(),void(this[r.expando]=!0)):new r.Event(a,b)},r.Event.prototype={constructor:r.Event,isDefaultPrevented:wa,isPropagationStopped:wa,isImmediatePropagationStopped:wa,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=va,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=va,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=va,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},r.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(a){var b=a.button;return null==a.which&&sa.test(a.type)?null!=a.charCode?a.charCode:a.keyCode:!a.which&&void 0!==b&&ta.test(a.type)?1&b?1:2&b?3:4&b?2:0:a.which}},r.event.addProp),r.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){r.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||r.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),r.fn.extend({on:function(a,b,c,d){return ya(this,a,b,c,d)},one:function(a,b,c,d){return ya(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,r(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=wa),this.each(function(){r.event.remove(this,a,c,b)})}});var za=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Aa=/<script|<style|<link/i,Ba=/checked\s*(?:[^=]|=\s*.checked.)/i,Ca=/^true\/(.*)/,Da=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Ea(a,b){return B(a,"table")&&B(11!==b.nodeType?b:b.firstChild,"tr")?r(">tbody",a)[0]||a:a}function Fa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ga(a){var b=Ca.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ha(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(W.hasData(a)&&(f=W.access(a),g=W.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)r.event.add(b,e,j[e][c])}X.hasData(a)&&(h=X.access(a),i=r.extend({},h),X.set(b,i))}}function Ia(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ja.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function Ja(a,b,c,d){b=g.apply([],b);var e,f,h,i,j,k,l=0,m=a.length,n=m-1,q=b[0],s=r.isFunction(q);if(s||m>1&&"string"==typeof q&&!o.checkClone&&Ba.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ja(f,b,c,d)});if(m&&(e=qa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(na(e,"script"),Fa),i=h.length;l<m;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,na(j,"script"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Ga),l=0;l<i;l++)j=h[l],la.test(j.type||"")&&!W.access(j,"globalEval")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Da,""),k))}return a}function Ka(a,b,c){for(var d,e=b?r.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||r.cleanData(na(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&oa(na(d,"script")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(za,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=na(h),f=na(a),d=0,e=f.length;d<e;d++)Ia(f[d],g[d]);if(b)if(c)for(f=f||na(a),g=g||na(h),d=0,e=f.length;d<e;d++)Ha(f[d],g[d]);else Ha(a,h);return g=na(h,"script"),g.length>0&&oa(g,!i&&na(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(U(c)){if(b=c[W.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[W.expando]=void 0}c[X.expando]&&(c[X.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ka(this,a,!0)},remove:function(a){return Ka(this,a)},text:function(a){return T(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.appendChild(a)}})},prepend:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(na(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return T(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Aa.test(a)&&!ma[(ka.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c<d;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(na(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ja(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(na(this)),c&&c.replaceChild(b,this))},a)}}),r.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){r.fn[a]=function(a){for(var c,d=[],e=r(a),f=e.length-1,g=0;g<=f;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var La=/^margin/,Ma=new RegExp("^("+aa+")(?!px)[a-z%]+$","i"),Na=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)};!function(){function b(){if(i){i.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",i.innerHTML="",ra.appendChild(h);var b=a.getComputedStyle(i);c="1%"!==b.top,g="2px"===b.marginLeft,e="4px"===b.width,i.style.marginRight="50%",f="4px"===b.marginRight,ra.removeChild(h),i=null}}var c,e,f,g,h=d.createElement("div"),i=d.createElement("div");i.style&&(i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",o.clearCloneStyle="content-box"===i.style.backgroundClip,h.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",h.appendChild(i),r.extend(o,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return b(),e},pixelMarginRight:function(){return b(),f},reliableMarginLeft:function(){return b(),g}}))}();function Oa(a,b,c){var d,e,f,g,h=a.style;return c=c||Na(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!o.pixelMarginRight()&&Ma.test(g)&&La.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function Pa(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Qa=/^(none|table(?!-c[ea]).+)/,Ra=/^--/,Sa={position:"absolute",visibility:"hidden",display:"block"},Ta={letterSpacing:"0",fontWeight:"400"},Ua=["Webkit","Moz","ms"],Va=d.createElement("div").style;function Wa(a){if(a in Va)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ua.length;while(c--)if(a=Ua[c]+b,a in Va)return a}function Xa(a){var b=r.cssProps[a];return b||(b=r.cssProps[a]=Wa(a)||a),b}function Ya(a,b,c){var d=ba.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Za(a,b,c,d,e){var f,g=0;for(f=c===(d?"border":"content")?4:"width"===b?1:0;f<4;f+=2)"margin"===c&&(g+=r.css(a,c+ca[f],!0,e)),d?("content"===c&&(g-=r.css(a,"padding"+ca[f],!0,e)),"margin"!==c&&(g-=r.css(a,"border"+ca[f]+"Width",!0,e))):(g+=r.css(a,"padding"+ca[f],!0,e),"padding"!==c&&(g+=r.css(a,"border"+ca[f]+"Width",!0,e)));return g}function $a(a,b,c){var d,e=Na(a),f=Oa(a,b,e),g="border-box"===r.css(a,"boxSizing",!1,e);return Ma.test(f)?f:(d=g&&(o.boxSizingReliable()||f===a.style[b]),"auto"===f&&(f=a["offset"+b[0].toUpperCase()+b.slice(1)]),f=parseFloat(f)||0,f+Za(a,b,c||(g?"border":"content"),d,e)+"px")}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Oa(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=r.camelCase(b),i=Ra.test(b),j=a.style;return i||(b=Xa(h)),g=r.cssHooks[b]||r.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:j[b]:(f=typeof c,"string"===f&&(e=ba.exec(c))&&e[1]&&(c=fa(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(r.cssNumber[h]?"":"px")),o.clearCloneStyle||""!==c||0!==b.indexOf("background")||(j[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i?j.setProperty(b,c):j[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=r.camelCase(b),i=Ra.test(b);return i||(b=Xa(h)),g=r.cssHooks[b]||r.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Oa(a,b,d)),"normal"===e&&b in Ta&&(e=Ta[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),r.each(["height","width"],function(a,b){r.cssHooks[b]={get:function(a,c,d){if(c)return!Qa.test(r.css(a,"display"))||a.getClientRects().length&&a.getBoundingClientRect().width?$a(a,b,d):ea(a,Sa,function(){return $a(a,b,d)})},set:function(a,c,d){var e,f=d&&Na(a),g=d&&Za(a,b,d,"border-box"===r.css(a,"boxSizing",!1,f),f);return g&&(e=ba.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=r.css(a,b)),Ya(a,c,g)}}}),r.cssHooks.marginLeft=Pa(o.reliableMarginLeft,function(a,b){if(b)return(parseFloat(Oa(a,"marginLeft"))||a.getBoundingClientRect().left-ea(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px"}),r.each({margin:"",padding:"",border:"Width"},function(a,b){r.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+ca[d]+b]=f[d]||f[d-2]||f[0];return e}},La.test(a)||(r.cssHooks[a+b].set=Ya)}),r.fn.extend({css:function(a,b){return T(this,function(a,b,c){var d,e,f={},g=0;if(Array.isArray(b)){for(d=Na(a),e=b.length;g<e;g++)f[b[g]]=r.css(a,b[g],!1,d);return f}return void 0!==c?r.style(a,b,c):r.css(a,b)},a,b,arguments.length>1)}}),r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",o.checkOn=""!==a.value,o.optSelected=c.selected,a=d.createElement("input"),a.value="t",a.type="radio",o.radioValue="t"===a.value}();var _a,ab=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return T(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?_a:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(L);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),_a={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=ab[b]||r.find.attr;ab[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=ab[g],ab[g]=e,e=null!=c(a,b,d)?g:null,ab[g]=f),e}});var bb=/^(?:input|select|textarea|button)$/i,cb=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return T(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function db(a){var b=a.match(L)||[];return b.join(" ")}function eb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,eb(this)))});if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=eb(c),d=1===c.nodeType&&" "+db(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=db(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,eb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=eb(c),d=1===c.nodeType&&" "+db(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=db(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,eb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(L)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=eb(this),b&&W.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":W.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+db(eb(c))+" ").indexOf(b)>-1)return!0;return!1}});var fb=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":Array.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(fb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:db(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d<i;d++)if(c=e[d],(c.selected||d===f)&&!c.disabled&&(!c.parentNode.disabled||!B(c.parentNode,"optgroup"))){if(b=r(c).val(),g)return b;h.push(b)}return h},set:function(a,b){var c,d,e=a.options,f=r.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=r.inArray(r.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(Array.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var gb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!gb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,gb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(W.get(h,"events")||{})[b.type]&&W.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&U(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!U(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=W.access(d,b);e||d.addEventListener(a,c,!0),W.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=W.access(d,b)-1;e?W.access(d,b,e):(d.removeEventListener(a,c,!0),W.remove(d,b))}}});var hb=/\[\]$/,ib=/\r?\n/g,jb=/^(?:submit|button|image|reset|file)$/i,kb=/^(?:input|select|textarea|keygen)/i;function lb(a,b,c,d){var e;if(Array.isArray(b))r.each(b,function(b,e){c||hb.test(a)?d(a,e):lb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d); +});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)lb(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(Array.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)lb(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&kb.test(this.nodeName)&&!jb.test(a)&&(this.checked||!ja.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:Array.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(ib,"\r\n")}}):{name:b.name,value:c.replace(ib,"\r\n")}}).get()}}),r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},o.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument("").body;return a.innerHTML="<form></form><form></form>",2===a.childNodes.length}(),r.parseHTML=function(a,b,c){if("string"!=typeof a)return[];"boolean"==typeof b&&(c=b,b=!1);var e,f,g;return b||(o.createHTMLDocument?(b=d.implementation.createHTMLDocument(""),e=b.createElement("base"),e.href=d.location.href,b.head.appendChild(e)):b=d),f=C.exec(a),g=!c&&[],f?[b.createElement(f[1])]:(f=qa([a],b,g),g&&g.length&&r(g).remove(),r.merge([],f.childNodes))},r.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=r.css(a,"position"),l=r(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=r.css(a,"top"),i=r.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),r.isFunction(b)&&(b=b.call(a,c,r.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},r.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){r.offset.setOffset(this,a,b)});var b,c,d,e,f=this[0];if(f)return f.getClientRects().length?(d=f.getBoundingClientRect(),b=f.ownerDocument,c=b.documentElement,e=b.defaultView,{top:d.top+e.pageYOffset-c.clientTop,left:d.left+e.pageXOffset-c.clientLeft}):{top:0,left:0}},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===r.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),B(a[0],"html")||(d=a.offset()),d={top:d.top+r.css(a[0],"borderTopWidth",!0),left:d.left+r.css(a[0],"borderLeftWidth",!0)}),{top:b.top-d.top-r.css(c,"marginTop",!0),left:b.left-d.left-r.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===r.css(a,"position"))a=a.offsetParent;return a||ra})}}),r.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;r.fn[a]=function(d){return T(this,function(a,d,e){var f;return r.isWindow(a)?f=a:9===a.nodeType&&(f=a.defaultView),void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),r.each(["top","left"],function(a,b){r.cssHooks[b]=Pa(o.pixelPosition,function(a,c){if(c)return c=Oa(a,b),Ma.test(c)?r(a).position()[b]+"px":c})}),r.each({Height:"height",Width:"width"},function(a,b){r.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){r.fn[d]=function(e,f){var g=arguments.length&&(c||"boolean"!=typeof e),h=c||(e===!0||f===!0?"margin":"border");return T(this,function(b,c,e){var f;return r.isWindow(b)?0===d.indexOf("outer")?b["inner"+a]:b.document.documentElement["client"+a]:9===b.nodeType?(f=b.documentElement,Math.max(b.body["scroll"+a],f["scroll"+a],b.body["offset"+a],f["offset"+a],f["client"+a])):void 0===e?r.css(b,c,h):r.style(b,c,e,h)},b,g?e:void 0,g)}})}),r.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),r.holdReady=function(a){a?r.readyWait++:r.ready(!0)},r.isArray=Array.isArray,r.parseJSON=JSON.parse,r.nodeName=B,"function"==typeof define&&define.amd&&define("jquery",[],function(){return r});var mb=a.jQuery,nb=a.$;return r.noConflict=function(b){return a.$===r&&(a.$=nb),b&&a.jQuery===r&&(a.jQuery=mb),r},b||(a.jQuery=a.$=r),r}); diff --git a/workspace/public/jquery/jquery.slim.min.map b/workspace/public/jquery/jquery.slim.min.map new file mode 100644 index 0000000..a44b7b4 --- /dev/null +++ b/workspace/public/jquery/jquery.slim.min.map @@ -0,0 +1 @@ +{"version":3,"sources":["jquery.slim.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","arr","getProto","Object","getPrototypeOf","slice","concat","push","indexOf","class2type","toString","hasOwn","hasOwnProperty","fnToString","ObjectFunctionString","call","support","DOMEval","code","doc","script","createElement","text","head","appendChild","parentNode","removeChild","version","jQuery","selector","context","fn","init","rtrim","rmsPrefix","rdashAlpha","fcamelCase","all","letter","toUpperCase","prototype","jquery","constructor","length","toArray","get","num","pushStack","elems","ret","merge","prevObject","each","callback","map","elem","i","apply","arguments","first","eq","last","len","j","end","sort","splice","extend","options","name","src","copy","copyIsArray","clone","target","deep","isFunction","isPlainObject","Array","isArray","undefined","expando","Math","random","replace","isReady","error","msg","noop","obj","type","isWindow","isNumeric","isNaN","parseFloat","proto","Ctor","isEmptyObject","globalEval","camelCase","string","isArrayLike","trim","makeArray","results","inArray","second","grep","invert","callbackInverse","matches","callbackExpect","arg","value","guid","proxy","tmp","args","now","Date","Symbol","iterator","split","toLowerCase","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","sortOrder","a","b","pop","push_native","list","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","_","escaped","escapedWhitespace","high","String","fromCharCode","rcssescape","fcssescape","ch","asCodePoint","charCodeAt","unloadHandler","disabledAncestor","addCombinator","disabled","dir","next","childNodes","nodeType","e","els","seed","m","nid","match","groups","newSelector","newContext","ownerDocument","exec","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","nodeName","getAttribute","setAttribute","toSelector","join","testContext","querySelectorAll","qsaError","removeAttribute","keys","cache","key","cacheLength","shift","markFunction","assert","el","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","documentElement","node","hasCompare","subWindow","defaultView","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","filter","attrId","find","getAttributeNode","tag","innerHTML","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","attr","val","specified","escape","sel","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","simple","forward","ofType","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","setFilters","idx","matched","not","matcher","unmatched","has","innerText","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","tokens","soFar","preFilters","cached","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","n","rneedsContext","rsingleTag","risSimple","winnow","qualifier","self","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","prev","targets","l","closest","index","prevAll","add","addBack","sibling","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","reverse","rnothtmlwhite","createOptions","object","flag","Callbacks","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","remove","disable","lock","fireWith","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Deferred","func","tuples","state","always","deferred","catch","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","master","updateFunc","rerrorNames","stack","console","warn","message","readyException","readyList","readyWait","wait","completed","removeEventListener","readyState","doScroll","access","chainable","emptyGet","raw","bulk","acceptData","owner","Data","uid","defineProperty","configurable","set","data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","getData","JSON","parse","dataAttr","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isHiddenWithinTree","style","display","css","swap","old","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","getDefaultDisplay","body","showHide","show","values","hide","toggle","rcheckableType","rtagName","rscriptType","wrapMap","option","thead","col","tr","td","_default","optgroup","tbody","tfoot","colgroup","caption","th","getAll","setGlobalEval","refElements","rhtml","buildFragment","scripts","selection","ignored","wrap","fragment","createDocumentFragment","nodes","htmlPrefilter","createTextNode","div","checkClone","cloneNode","noCloneChecked","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","safeActiveElement","err","on","types","one","origFn","event","off","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","fix","handlerQueue","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","preventDefault","stopPropagation","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","Event","enumerable","originalEvent","writable","load","noBubble","trigger","blur","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","isSimulated","stopImmediatePropagation","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rxhtmlTag","rnoInnerhtml","rchecked","rscriptTypeMasked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","pdataOld","pdataCur","udataOld","udataCur","fixInput","domManip","collection","hasScripts","iNoClone","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rmargin","rnumnonpx","getStyles","opener","getComputedStyle","computeStyleTests","cssText","container","divStyle","pixelPositionVal","reliableMarginLeftVal","marginLeft","boxSizingReliableVal","width","marginRight","pixelMarginRightVal","backgroundClip","clearCloneStyle","pixelPosition","boxSizingReliable","pixelMarginRight","reliableMarginLeft","curCSS","computed","minWidth","maxWidth","getPropertyValue","addGetHookIf","conditionFn","hookFn","rdisplayswap","rcustomProp","cssShow","position","visibility","cssNormalTransform","letterSpacing","fontWeight","cssPrefixes","emptyStyle","vendorPropName","capName","finalPropName","cssProps","setPositiveNumber","subtract","max","augmentWidthOrHeight","extra","isBorderBox","styles","getWidthOrHeight","valueIsBorderBox","cssHooks","opacity","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","zoom","float","origName","isCustomProp","setProperty","isFinite","getClientRects","getBoundingClientRect","left","margin","padding","border","prefix","suffix","expand","expanded","parts","delay","time","fx","speeds","timeout","clearTimeout","opt","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","removeProp","propFix","propHooks","tabindex","parseInt","for","class","stripAndCollapse","getClass","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","classNames","hasClass","rreturn","valHooks","optionSet","rfocusMorph","onlyHandlers","bubbleType","ontype","eventPath","isTrigger","parentWindow","simulate","triggerHandler","hover","fnOver","fnOut","focusin","attaches","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","s","valueOrFunction","encodeURIComponent","serialize","serializeArray","wrapAll","firstElementChild","wrapInner","unwrap","hidden","visible","offsetWidth","offsetHeight","createHTMLDocument","implementation","keepScripts","parsed","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","using","rect","win","pageYOffset","clientTop","pageXOffset","clientLeft","offsetParent","parentOffset","scrollLeft","scrollTop","scrollTo","Height","Width","","defaultExtra","funcName","bind","unbind","delegate","undelegate","holdReady","hold","parseJSON","define","amd","_jQuery","_$","$","noConflict"],"mappings":"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","file":"jquery.slim.min.js"} \ No newline at end of file diff --git a/workspace/public/js/app.js b/workspace/public/js/app.js new file mode 100644 index 0000000..af41976 --- /dev/null +++ b/workspace/public/js/app.js @@ -0,0 +1,34 @@ +!function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=39)}([function(t,e,n){"use strict";function r(t){return"[object Array]"===C.call(t)}function i(t){return"[object ArrayBuffer]"===C.call(t)}function o(t){return"undefined"!=typeof FormData&&t instanceof FormData}function a(t){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&t.buffer instanceof ArrayBuffer}function s(t){return"string"==typeof t}function u(t){return"number"==typeof t}function c(t){return void 0===t}function l(t){return null!==t&&"object"==typeof t}function f(t){return"[object Date]"===C.call(t)}function p(t){return"[object File]"===C.call(t)}function d(t){return"[object Blob]"===C.call(t)}function h(t){return"[object Function]"===C.call(t)}function v(t){return l(t)&&h(t.pipe)}function g(t){return"undefined"!=typeof URLSearchParams&&t instanceof URLSearchParams}function m(t){return t.replace(/^\s*/,"").replace(/\s*$/,"")}function y(){return"undefined"!=typeof window&&"undefined"!=typeof document&&"function"==typeof document.createElement}function b(t,e){if(null!==t&&void 0!==t)if("object"==typeof t||r(t)||(t=[t]),r(t))for(var n=0,i=t.length;n<i;n++)e.call(null,t[n],n,t);else for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.call(null,t[o],o,t)}function _(){function t(t,n){"object"==typeof e[n]&&"object"==typeof t?e[n]=_(e[n],t):e[n]=t}for(var e={},n=0,r=arguments.length;n<r;n++)b(arguments[n],t);return e}function w(t,e,n){return b(e,function(e,r){t[r]=n&&"function"==typeof e?x(e,n):e}),t}var x=n(6),C=Object.prototype.toString;t.exports={isArray:r,isArrayBuffer:i,isFormData:o,isArrayBufferView:a,isString:s,isNumber:u,isObject:l,isUndefined:c,isDate:f,isFile:p,isBlob:d,isFunction:h,isStream:v,isURLSearchParams:g,isStandardBrowserEnv:y,forEach:b,merge:_,extend:w,trim:m}},function(t,e,n){"use strict";(function(e){function r(t,e){!i.isUndefined(t)&&i.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}var i=n(0),o=n(25),a={"Content-Type":"application/x-www-form-urlencoded"},s={adapter:function(){var t;return"undefined"!=typeof XMLHttpRequest?t=n(2):void 0!==e&&(t=n(2)),t}(),transformRequest:[function(t,e){return o(e,"Content-Type"),i.isFormData(t)||i.isArrayBuffer(t)||i.isStream(t)||i.isFile(t)||i.isBlob(t)?t:i.isArrayBufferView(t)?t.buffer:i.isURLSearchParams(t)?(r(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString()):i.isObject(t)?(r(e,"application/json;charset=utf-8"),JSON.stringify(t)):t}],transformResponse:[function(t){if("string"==typeof t){t=t.replace(/^\)\]\}',?\n/,"");try{t=JSON.parse(t)}catch(t){}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(t){return t>=200&&t<300}};s.headers={common:{Accept:"application/json, text/plain, */*"}},i.forEach(["delete","get","head"],function(t){s.headers[t]={}}),i.forEach(["post","put","patch"],function(t){s.headers[t]=i.merge(a)}),t.exports=s}).call(e,n(33))},function(t,e,n){"use strict";var r=n(0),i=n(17),o=n(20),a=n(26),s=n(24),u=n(5),c="undefined"!=typeof window&&window.btoa&&window.btoa.bind(window)||n(19);t.exports=function(t){return new Promise(function(e,l){var f=t.data,p=t.headers;r.isFormData(f)&&delete p["Content-Type"];var d=new XMLHttpRequest,h="onreadystatechange",v=!1;if("undefined"==typeof window||!window.XDomainRequest||"withCredentials"in d||s(t.url)||(d=new window.XDomainRequest,h="onload",v=!0,d.onprogress=function(){},d.ontimeout=function(){}),t.auth){var g=t.auth.username||"",m=t.auth.password||"";p.Authorization="Basic "+c(g+":"+m)}if(d.open(t.method.toUpperCase(),o(t.url,t.params,t.paramsSerializer),!0),d.timeout=t.timeout,d[h]=function(){if(d&&(4===d.readyState||v)&&(0!==d.status||d.responseURL&&0===d.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in d?a(d.getAllResponseHeaders()):null,r=t.responseType&&"text"!==t.responseType?d.response:d.responseText,o={data:r,status:1223===d.status?204:d.status,statusText:1223===d.status?"No Content":d.statusText,headers:n,config:t,request:d};i(e,l,o),d=null}},d.onerror=function(){l(u("Network Error",t)),d=null},d.ontimeout=function(){l(u("timeout of "+t.timeout+"ms exceeded",t,"ECONNABORTED")),d=null},r.isStandardBrowserEnv()){var y=n(22),b=(t.withCredentials||s(t.url))&&t.xsrfCookieName?y.read(t.xsrfCookieName):void 0;b&&(p[t.xsrfHeaderName]=b)}if("setRequestHeader"in d&&r.forEach(p,function(t,e){void 0===f&&"content-type"===e.toLowerCase()?delete p[e]:d.setRequestHeader(e,t)}),t.withCredentials&&(d.withCredentials=!0),t.responseType)try{d.responseType=t.responseType}catch(t){if("json"!==d.responseType)throw t}"function"==typeof t.onDownloadProgress&&d.addEventListener("progress",t.onDownloadProgress),"function"==typeof t.onUploadProgress&&d.upload&&d.upload.addEventListener("progress",t.onUploadProgress),t.cancelToken&&t.cancelToken.promise.then(function(t){d&&(d.abort(),l(t),d=null)}),void 0===f&&(f=null),d.send(f)})}},function(t,e,n){"use strict";function r(t){this.message=t}r.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},r.prototype.__CANCEL__=!0,t.exports=r},function(t,e,n){"use strict";t.exports=function(t){return!(!t||!t.__CANCEL__)}},function(t,e,n){"use strict";var r=n(16);t.exports=function(t,e,n,i){var o=new Error(t);return r(o,e,n,i)}},function(t,e,n){"use strict";t.exports=function(t,e){return function(){for(var n=new Array(arguments.length),r=0;r<n.length;r++)n[r]=arguments[r];return t.apply(e,n)}}},function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){n(29),window.Vue=n(37),Vue.component("example",n(34));new Vue({el:"#app"})},function(t,e){},function(t,e,n){t.exports=n(11)},function(t,e,n){"use strict";function r(t){var e=new a(t),n=o(a.prototype.request,e);return i.extend(n,a.prototype,e),i.extend(n,e),n}var i=n(0),o=n(6),a=n(13),s=n(1),u=r(s);u.Axios=a,u.create=function(t){return r(i.merge(s,t))},u.Cancel=n(3),u.CancelToken=n(12),u.isCancel=n(4),u.all=function(t){return Promise.all(t)},u.spread=n(27),t.exports=u,t.exports.default=u},function(t,e,n){"use strict";function r(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise(function(t){e=t});var n=this;t(function(t){n.reason||(n.reason=new i(t),e(n.reason))})}var i=n(3);r.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},r.source=function(){var t;return{token:new r(function(e){t=e}),cancel:t}},t.exports=r},function(t,e,n){"use strict";function r(t){this.defaults=t,this.interceptors={request:new a,response:new a}}var i=n(1),o=n(0),a=n(14),s=n(15),u=n(23),c=n(21);r.prototype.request=function(t){"string"==typeof t&&(t=o.merge({url:arguments[0]},arguments[1])),t=o.merge(i,this.defaults,{method:"get"},t),t.baseURL&&!u(t.url)&&(t.url=c(t.baseURL,t.url));var e=[s,void 0],n=Promise.resolve(t);for(this.interceptors.request.forEach(function(t){e.unshift(t.fulfilled,t.rejected)}),this.interceptors.response.forEach(function(t){e.push(t.fulfilled,t.rejected)});e.length;)n=n.then(e.shift(),e.shift());return n},o.forEach(["delete","get","head"],function(t){r.prototype[t]=function(e,n){return this.request(o.merge(n||{},{method:t,url:e}))}}),o.forEach(["post","put","patch"],function(t){r.prototype[t]=function(e,n,r){return this.request(o.merge(r||{},{method:t,url:e,data:n}))}}),t.exports=r},function(t,e,n){"use strict";function r(){this.handlers=[]}var i=n(0);r.prototype.use=function(t,e){return this.handlers.push({fulfilled:t,rejected:e}),this.handlers.length-1},r.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)},r.prototype.forEach=function(t){i.forEach(this.handlers,function(e){null!==e&&t(e)})},t.exports=r},function(t,e,n){"use strict";function r(t){t.cancelToken&&t.cancelToken.throwIfRequested()}var i=n(0),o=n(18),a=n(4),s=n(1);t.exports=function(t){return r(t),t.headers=t.headers||{},t.data=o(t.data,t.headers,t.transformRequest),t.headers=i.merge(t.headers.common||{},t.headers[t.method]||{},t.headers||{}),i.forEach(["delete","get","head","post","put","patch","common"],function(e){delete t.headers[e]}),(t.adapter||s.adapter)(t).then(function(e){return r(t),e.data=o(e.data,e.headers,t.transformResponse),e},function(e){return a(e)||(r(t),e&&e.response&&(e.response.data=o(e.response.data,e.response.headers,t.transformResponse))),Promise.reject(e)})}},function(t,e,n){"use strict";t.exports=function(t,e,n,r){return t.config=e,n&&(t.code=n),t.response=r,t}},function(t,e,n){"use strict";var r=n(5);t.exports=function(t,e,n){var i=n.config.validateStatus;n.status&&i&&!i(n.status)?e(r("Request failed with status code "+n.status,n.config,null,n)):t(n)}},function(t,e,n){"use strict";var r=n(0);t.exports=function(t,e,n){return r.forEach(n,function(n){t=n(t,e)}),t}},function(t,e,n){"use strict";function r(){this.message="String contains an invalid character"}function i(t){for(var e,n,i=String(t),a="",s=0,u=o;i.charAt(0|s)||(u="=",s%1);a+=u.charAt(63&e>>8-s%1*8)){if((n=i.charCodeAt(s+=.75))>255)throw new r;e=e<<8|n}return a}var o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";r.prototype=new Error,r.prototype.code=5,r.prototype.name="InvalidCharacterError",t.exports=i},function(t,e,n){"use strict";function r(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var i=n(0);t.exports=function(t,e,n){if(!e)return t;var o;if(n)o=n(e);else if(i.isURLSearchParams(e))o=e.toString();else{var a=[];i.forEach(e,function(t,e){null!==t&&void 0!==t&&(i.isArray(t)&&(e+="[]"),i.isArray(t)||(t=[t]),i.forEach(t,function(t){i.isDate(t)?t=t.toISOString():i.isObject(t)&&(t=JSON.stringify(t)),a.push(r(e)+"="+r(t))}))}),o=a.join("&")}return o&&(t+=(-1===t.indexOf("?")?"?":"&")+o),t}},function(t,e,n){"use strict";t.exports=function(t,e){return t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,"")}},function(t,e,n){"use strict";var r=n(0);t.exports=r.isStandardBrowserEnv()?function(){return{write:function(t,e,n,i,o,a){var s=[];s.push(t+"="+encodeURIComponent(e)),r.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),r.isString(i)&&s.push("path="+i),r.isString(o)&&s.push("domain="+o),!0===a&&s.push("secure"),document.cookie=s.join("; ")},read:function(t){var e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},function(t,e,n){"use strict";t.exports=function(t){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(t)}},function(t,e,n){"use strict";var r=n(0);t.exports=r.isStandardBrowserEnv()?function(){function t(t){var e=t;return n&&(i.setAttribute("href",e),e=i.href),i.setAttribute("href",e),{href:i.href,protocol:i.protocol?i.protocol.replace(/:$/,""):"",host:i.host,search:i.search?i.search.replace(/^\?/,""):"",hash:i.hash?i.hash.replace(/^#/,""):"",hostname:i.hostname,port:i.port,pathname:"/"===i.pathname.charAt(0)?i.pathname:"/"+i.pathname}}var e,n=/(msie|trident)/i.test(navigator.userAgent),i=document.createElement("a");return e=t(window.location.href),function(n){var i=r.isString(n)?t(n):n;return i.protocol===e.protocol&&i.host===e.host}}():function(){return function(){return!0}}()},function(t,e,n){"use strict";var r=n(0);t.exports=function(t,e){r.forEach(t,function(n,r){r!==e&&r.toUpperCase()===e.toUpperCase()&&(t[e]=n,delete t[r])})}},function(t,e,n){"use strict";var r=n(0);t.exports=function(t){var e,n,i,o={};return t?(r.forEach(t.split("\n"),function(t){i=t.indexOf(":"),e=r.trim(t.substr(0,i)).toLowerCase(),n=r.trim(t.substr(i+1)),e&&(o[e]=o[e]?o[e]+", "+n:n)}),o):o}},function(t,e,n){"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={mounted:function(){}}},function(t,e,n){window._=n(32);try{window.$=window.jQuery=n(31),n(30)}catch(t){}window.axios=n(10),window.axios.defaults.headers.common["X-Requested-With"]="XMLHttpRequest";var r=document.head.querySelector('meta[name="csrf-token"]');r&&(window.axios.defaults.headers.common["X-CSRF-TOKEN"]=r.content)},function(t,e){/*! + * Bootstrap v3.3.7 (http://getbootstrap.com) + * Copyright 2011-2016 Twitter, Inc. + * Licensed under the MIT license + */ +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(t){"use strict";var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||e[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),function(t){"use strict";function e(){var t=document.createElement("bootstrap"),e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var n in e)if(void 0!==t.style[n])return{end:e[n]};return!1}t.fn.emulateTransitionEnd=function(e){var n=!1,r=this;t(this).one("bsTransitionEnd",function(){n=!0});var i=function(){n||t(r).trigger(t.support.transition.end)};return setTimeout(i,e),this},t(function(){t.support.transition=e(),t.support.transition&&(t.event.special.bsTransitionEnd={bindType:t.support.transition.end,delegateType:t.support.transition.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}})})}(jQuery),function(t){"use strict";function e(e){return this.each(function(){var n=t(this),i=n.data("bs.alert");i||n.data("bs.alert",i=new r(this)),"string"==typeof e&&i[e].call(n)})}var n='[data-dismiss="alert"]',r=function(e){t(e).on("click",n,this.close)};r.VERSION="3.3.7",r.TRANSITION_DURATION=150,r.prototype.close=function(e){function n(){a.detach().trigger("closed.bs.alert").remove()}var i=t(this),o=i.attr("data-target");o||(o=i.attr("href"),o=o&&o.replace(/.*(?=#[^\s]*$)/,""));var a=t("#"===o?[]:o);e&&e.preventDefault(),a.length||(a=i.closest(".alert")),a.trigger(e=t.Event("close.bs.alert")),e.isDefaultPrevented()||(a.removeClass("in"),t.support.transition&&a.hasClass("fade")?a.one("bsTransitionEnd",n).emulateTransitionEnd(r.TRANSITION_DURATION):n())};var i=t.fn.alert;t.fn.alert=e,t.fn.alert.Constructor=r,t.fn.alert.noConflict=function(){return t.fn.alert=i,this},t(document).on("click.bs.alert.data-api",n,r.prototype.close)}(jQuery),function(t){"use strict";function e(e){return this.each(function(){var r=t(this),i=r.data("bs.button"),o="object"==typeof e&&e;i||r.data("bs.button",i=new n(this,o)),"toggle"==e?i.toggle():e&&i.setState(e)})}var n=function(e,r){this.$element=t(e),this.options=t.extend({},n.DEFAULTS,r),this.isLoading=!1};n.VERSION="3.3.7",n.DEFAULTS={loadingText:"loading..."},n.prototype.setState=function(e){var n="disabled",r=this.$element,i=r.is("input")?"val":"html",o=r.data();e+="Text",null==o.resetText&&r.data("resetText",r[i]()),setTimeout(t.proxy(function(){r[i](null==o[e]?this.options[e]:o[e]),"loadingText"==e?(this.isLoading=!0,r.addClass(n).attr(n,n).prop(n,!0)):this.isLoading&&(this.isLoading=!1,r.removeClass(n).removeAttr(n).prop(n,!1))},this),0)},n.prototype.toggle=function(){var t=!0,e=this.$element.closest('[data-toggle="buttons"]');if(e.length){var n=this.$element.find("input");"radio"==n.prop("type")?(n.prop("checked")&&(t=!1),e.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==n.prop("type")&&(n.prop("checked")!==this.$element.hasClass("active")&&(t=!1),this.$element.toggleClass("active")),n.prop("checked",this.$element.hasClass("active")),t&&n.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var r=t.fn.button;t.fn.button=e,t.fn.button.Constructor=n,t.fn.button.noConflict=function(){return t.fn.button=r,this},t(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(n){var r=t(n.target).closest(".btn");e.call(r,"toggle"),t(n.target).is('input[type="radio"], input[type="checkbox"]')||(n.preventDefault(),r.is("input,button")?r.trigger("focus"):r.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(e){t(e.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(e.type))})}(jQuery),function(t){"use strict";function e(e){return this.each(function(){var r=t(this),i=r.data("bs.carousel"),o=t.extend({},n.DEFAULTS,r.data(),"object"==typeof e&&e),a="string"==typeof e?e:o.slide;i||r.data("bs.carousel",i=new n(this,o)),"number"==typeof e?i.to(e):a?i[a]():o.interval&&i.pause().cycle()})}var n=function(e,n){this.$element=t(e),this.$indicators=this.$element.find(".carousel-indicators"),this.options=n,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",t.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",t.proxy(this.pause,this)).on("mouseleave.bs.carousel",t.proxy(this.cycle,this))};n.VERSION="3.3.7",n.TRANSITION_DURATION=600,n.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},n.prototype.keydown=function(t){if(!/input|textarea/i.test(t.target.tagName)){switch(t.which){case 37:this.prev();break;case 39:this.next();break;default:return}t.preventDefault()}},n.prototype.cycle=function(e){return e||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(t.proxy(this.next,this),this.options.interval)),this},n.prototype.getItemIndex=function(t){return this.$items=t.parent().children(".item"),this.$items.index(t||this.$active)},n.prototype.getItemForDirection=function(t,e){var n=this.getItemIndex(e);if(("prev"==t&&0===n||"next"==t&&n==this.$items.length-1)&&!this.options.wrap)return e;var r="prev"==t?-1:1,i=(n+r)%this.$items.length;return this.$items.eq(i)},n.prototype.to=function(t){var e=this,n=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(t>this.$items.length-1||t<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){e.to(t)}):n==t?this.pause().cycle():this.slide(t>n?"next":"prev",this.$items.eq(t))},n.prototype.pause=function(e){return e||(this.paused=!0),this.$element.find(".next, .prev").length&&t.support.transition&&(this.$element.trigger(t.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},n.prototype.next=function(){if(!this.sliding)return this.slide("next")},n.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},n.prototype.slide=function(e,r){var i=this.$element.find(".item.active"),o=r||this.getItemForDirection(e,i),a=this.interval,s="next"==e?"left":"right",u=this;if(o.hasClass("active"))return this.sliding=!1;var c=o[0],l=t.Event("slide.bs.carousel",{relatedTarget:c,direction:s});if(this.$element.trigger(l),!l.isDefaultPrevented()){if(this.sliding=!0,a&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var f=t(this.$indicators.children()[this.getItemIndex(o)]);f&&f.addClass("active")}var p=t.Event("slid.bs.carousel",{relatedTarget:c,direction:s});return t.support.transition&&this.$element.hasClass("slide")?(o.addClass(e),o[0].offsetWidth,i.addClass(s),o.addClass(s),i.one("bsTransitionEnd",function(){o.removeClass([e,s].join(" ")).addClass("active"),i.removeClass(["active",s].join(" ")),u.sliding=!1,setTimeout(function(){u.$element.trigger(p)},0)}).emulateTransitionEnd(n.TRANSITION_DURATION)):(i.removeClass("active"),o.addClass("active"),this.sliding=!1,this.$element.trigger(p)),a&&this.cycle(),this}};var r=t.fn.carousel;t.fn.carousel=e,t.fn.carousel.Constructor=n,t.fn.carousel.noConflict=function(){return t.fn.carousel=r,this};var i=function(n){var r,i=t(this),o=t(i.attr("data-target")||(r=i.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,""));if(o.hasClass("carousel")){var a=t.extend({},o.data(),i.data()),s=i.attr("data-slide-to");s&&(a.interval=!1),e.call(o,a),s&&o.data("bs.carousel").to(s),n.preventDefault()}};t(document).on("click.bs.carousel.data-api","[data-slide]",i).on("click.bs.carousel.data-api","[data-slide-to]",i),t(window).on("load",function(){t('[data-ride="carousel"]').each(function(){var n=t(this);e.call(n,n.data())})})}(jQuery),function(t){"use strict";function e(e){var n,r=e.attr("data-target")||(n=e.attr("href"))&&n.replace(/.*(?=#[^\s]+$)/,"");return t(r)}function n(e){return this.each(function(){var n=t(this),i=n.data("bs.collapse"),o=t.extend({},r.DEFAULTS,n.data(),"object"==typeof e&&e);!i&&o.toggle&&/show|hide/.test(e)&&(o.toggle=!1),i||n.data("bs.collapse",i=new r(this,o)),"string"==typeof e&&i[e]()})}var r=function(e,n){this.$element=t(e),this.options=t.extend({},r.DEFAULTS,n),this.$trigger=t('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};r.VERSION="3.3.7",r.TRANSITION_DURATION=350,r.DEFAULTS={toggle:!0},r.prototype.dimension=function(){return this.$element.hasClass("width")?"width":"height"},r.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var e,i=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(i&&i.length&&(e=i.data("bs.collapse"))&&e.transitioning)){var o=t.Event("show.bs.collapse");if(this.$element.trigger(o),!o.isDefaultPrevented()){i&&i.length&&(n.call(i,"hide"),e||i.data("bs.collapse",null));var a=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[a](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var s=function(){this.$element.removeClass("collapsing").addClass("collapse in")[a](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!t.support.transition)return s.call(this);var u=t.camelCase(["scroll",a].join("-"));this.$element.one("bsTransitionEnd",t.proxy(s,this)).emulateTransitionEnd(r.TRANSITION_DURATION)[a](this.$element[0][u])}}}},r.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var e=t.Event("hide.bs.collapse");if(this.$element.trigger(e),!e.isDefaultPrevented()){var n=this.dimension();this.$element[n](this.$element[n]())[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 i=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};if(!t.support.transition)return i.call(this);this.$element[n](0).one("bsTransitionEnd",t.proxy(i,this)).emulateTransitionEnd(r.TRANSITION_DURATION)}}},r.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},r.prototype.getParent=function(){return t(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(t.proxy(function(n,r){var i=t(r);this.addAriaAndCollapsedClass(e(i),i)},this)).end()},r.prototype.addAriaAndCollapsedClass=function(t,e){var n=t.hasClass("in");t.attr("aria-expanded",n),e.toggleClass("collapsed",!n).attr("aria-expanded",n)};var i=t.fn.collapse;t.fn.collapse=n,t.fn.collapse.Constructor=r,t.fn.collapse.noConflict=function(){return t.fn.collapse=i,this},t(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(r){var i=t(this);i.attr("data-target")||r.preventDefault();var o=e(i),a=o.data("bs.collapse"),s=a?"toggle":i.data();n.call(o,s)})}(jQuery),function(t){"use strict";function e(e){var n=e.attr("data-target");n||(n=e.attr("href"),n=n&&/#[A-Za-z]/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,""));var r=n&&t(n);return r&&r.length?r:e.parent()}function n(n){n&&3===n.which||(t(i).remove(),t(o).each(function(){var r=t(this),i=e(r),o={relatedTarget:this};i.hasClass("open")&&(n&&"click"==n.type&&/input|textarea/i.test(n.target.tagName)&&t.contains(i[0],n.target)||(i.trigger(n=t.Event("hide.bs.dropdown",o)),n.isDefaultPrevented()||(r.attr("aria-expanded","false"),i.removeClass("open").trigger(t.Event("hidden.bs.dropdown",o)))))}))}function r(e){return this.each(function(){var n=t(this),r=n.data("bs.dropdown");r||n.data("bs.dropdown",r=new a(this)),"string"==typeof e&&r[e].call(n)})}var i=".dropdown-backdrop",o='[data-toggle="dropdown"]',a=function(e){t(e).on("click.bs.dropdown",this.toggle)};a.VERSION="3.3.7",a.prototype.toggle=function(r){var i=t(this);if(!i.is(".disabled, :disabled")){var o=e(i),a=o.hasClass("open");if(n(),!a){"ontouchstart"in document.documentElement&&!o.closest(".navbar-nav").length&&t(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(t(this)).on("click",n);var s={relatedTarget:this};if(o.trigger(r=t.Event("show.bs.dropdown",s)),r.isDefaultPrevented())return;i.trigger("focus").attr("aria-expanded","true"),o.toggleClass("open").trigger(t.Event("shown.bs.dropdown",s))}return!1}},a.prototype.keydown=function(n){if(/(38|40|27|32)/.test(n.which)&&!/input|textarea/i.test(n.target.tagName)){var r=t(this);if(n.preventDefault(),n.stopPropagation(),!r.is(".disabled, :disabled")){var i=e(r),a=i.hasClass("open");if(!a&&27!=n.which||a&&27==n.which)return 27==n.which&&i.find(o).trigger("focus"),r.trigger("click");var s=i.find(".dropdown-menu li:not(.disabled):visible a");if(s.length){var u=s.index(n.target);38==n.which&&u>0&&u--,40==n.which&&u<s.length-1&&u++,~u||(u=0),s.eq(u).trigger("focus")}}}};var s=t.fn.dropdown;t.fn.dropdown=r,t.fn.dropdown.Constructor=a,t.fn.dropdown.noConflict=function(){return t.fn.dropdown=s,this},t(document).on("click.bs.dropdown.data-api",n).on("click.bs.dropdown.data-api",".dropdown form",function(t){t.stopPropagation()}).on("click.bs.dropdown.data-api",o,a.prototype.toggle).on("keydown.bs.dropdown.data-api",o,a.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",a.prototype.keydown)}(jQuery),function(t){"use strict";function e(e,r){return this.each(function(){var i=t(this),o=i.data("bs.modal"),a=t.extend({},n.DEFAULTS,i.data(),"object"==typeof e&&e);o||i.data("bs.modal",o=new n(this,a)),"string"==typeof e?o[e](r):a.show&&o.show(r)})}var n=function(e,n){this.options=n,this.$body=t(document.body),this.$element=t(e),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,t.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};n.VERSION="3.3.7",n.TRANSITION_DURATION=300,n.BACKDROP_TRANSITION_DURATION=150,n.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},n.prototype.toggle=function(t){return this.isShown?this.hide():this.show(t)},n.prototype.show=function(e){var r=this,i=t.Event("show.bs.modal",{relatedTarget:e});this.$element.trigger(i),this.isShown||i.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',t.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){r.$element.one("mouseup.dismiss.bs.modal",function(e){t(e.target).is(r.$element)&&(r.ignoreBackdropClick=!0)})}),this.backdrop(function(){var i=t.support.transition&&r.$element.hasClass("fade");r.$element.parent().length||r.$element.appendTo(r.$body),r.$element.show().scrollTop(0),r.adjustDialog(),i&&r.$element[0].offsetWidth,r.$element.addClass("in"),r.enforceFocus();var o=t.Event("shown.bs.modal",{relatedTarget:e});i?r.$dialog.one("bsTransitionEnd",function(){r.$element.trigger("focus").trigger(o)}).emulateTransitionEnd(n.TRANSITION_DURATION):r.$element.trigger("focus").trigger(o)}))},n.prototype.hide=function(e){e&&e.preventDefault(),e=t.Event("hide.bs.modal"),this.$element.trigger(e),this.isShown&&!e.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),t(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),t.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",t.proxy(this.hideModal,this)).emulateTransitionEnd(n.TRANSITION_DURATION):this.hideModal())},n.prototype.enforceFocus=function(){t(document).off("focusin.bs.modal").on("focusin.bs.modal",t.proxy(function(t){document===t.target||this.$element[0]===t.target||this.$element.has(t.target).length||this.$element.trigger("focus")},this))},n.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",t.proxy(function(t){27==t.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},n.prototype.resize=function(){this.isShown?t(window).on("resize.bs.modal",t.proxy(this.handleUpdate,this)):t(window).off("resize.bs.modal")},n.prototype.hideModal=function(){var t=this;this.$element.hide(),this.backdrop(function(){t.$body.removeClass("modal-open"),t.resetAdjustments(),t.resetScrollbar(),t.$element.trigger("hidden.bs.modal")})},n.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},n.prototype.backdrop=function(e){var r=this,i=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var o=t.support.transition&&i;if(this.$backdrop=t(document.createElement("div")).addClass("modal-backdrop "+i).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",t.proxy(function(t){if(this.ignoreBackdropClick)return void(this.ignoreBackdropClick=!1);t.target===t.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide())},this)),o&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!e)return;o?this.$backdrop.one("bsTransitionEnd",e).emulateTransitionEnd(n.BACKDROP_TRANSITION_DURATION):e()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var a=function(){r.removeBackdrop(),e&&e()};t.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",a).emulateTransitionEnd(n.BACKDROP_TRANSITION_DURATION):a()}else e&&e()},n.prototype.handleUpdate=function(){this.adjustDialog()},n.prototype.adjustDialog=function(){var t=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&t?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!t?this.scrollbarWidth:""})},n.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},n.prototype.checkScrollbar=function(){var t=window.innerWidth;if(!t){var e=document.documentElement.getBoundingClientRect();t=e.right-Math.abs(e.left)}this.bodyIsOverflowing=document.body.clientWidth<t,this.scrollbarWidth=this.measureScrollbar()},n.prototype.setScrollbar=function(){var t=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",t+this.scrollbarWidth)},n.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},n.prototype.measureScrollbar=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",this.$body.append(t);var e=t.offsetWidth-t.clientWidth;return this.$body[0].removeChild(t),e};var r=t.fn.modal;t.fn.modal=e,t.fn.modal.Constructor=n,t.fn.modal.noConflict=function(){return t.fn.modal=r,this},t(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(n){var r=t(this),i=r.attr("href"),o=t(r.attr("data-target")||i&&i.replace(/.*(?=#[^\s]+$)/,"")),a=o.data("bs.modal")?"toggle":t.extend({remote:!/#/.test(i)&&i},o.data(),r.data());r.is("a")&&n.preventDefault(),o.one("show.bs.modal",function(t){t.isDefaultPrevented()||o.one("hidden.bs.modal",function(){r.is(":visible")&&r.trigger("focus")})}),e.call(o,a,this)})}(jQuery),function(t){"use strict";function e(e){return this.each(function(){var r=t(this),i=r.data("bs.tooltip"),o="object"==typeof e&&e;!i&&/destroy|hide/.test(e)||(i||r.data("bs.tooltip",i=new n(this,o)),"string"==typeof e&&i[e]())})}var n=function(t,e){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",t,e)};n.VERSION="3.3.7",n.TRANSITION_DURATION=150,n.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},n.prototype.init=function(e,n,r){if(this.enabled=!0,this.type=e,this.$element=t(n),this.options=this.getOptions(r),this.$viewport=this.options.viewport&&t(t.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 i=this.options.trigger.split(" "),o=i.length;o--;){var a=i[o];if("click"==a)this.$element.on("click."+this.type,this.options.selector,t.proxy(this.toggle,this));else if("manual"!=a){var s="hover"==a?"mouseenter":"focusin",u="hover"==a?"mouseleave":"focusout";this.$element.on(s+"."+this.type,this.options.selector,t.proxy(this.enter,this)),this.$element.on(u+"."+this.type,this.options.selector,t.proxy(this.leave,this))}}this.options.selector?this._options=t.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},n.prototype.getDefaults=function(){return n.DEFAULTS},n.prototype.getOptions=function(e){return e=t.extend({},this.getDefaults(),this.$element.data(),e),e.delay&&"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),e},n.prototype.getDelegateOptions=function(){var e={},n=this.getDefaults();return this._options&&t.each(this._options,function(t,r){n[t]!=r&&(e[t]=r)}),e},n.prototype.enter=function(e){var n=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);return n||(n=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,n)),e instanceof t.Event&&(n.inState["focusin"==e.type?"focus":"hover"]=!0),n.tip().hasClass("in")||"in"==n.hoverState?void(n.hoverState="in"):(clearTimeout(n.timeout),n.hoverState="in",n.options.delay&&n.options.delay.show?void(n.timeout=setTimeout(function(){"in"==n.hoverState&&n.show()},n.options.delay.show)):n.show())},n.prototype.isInStateTrue=function(){for(var t in this.inState)if(this.inState[t])return!0;return!1},n.prototype.leave=function(e){var n=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);if(n||(n=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,n)),e instanceof t.Event&&(n.inState["focusout"==e.type?"focus":"hover"]=!1),!n.isInStateTrue()){if(clearTimeout(n.timeout),n.hoverState="out",!n.options.delay||!n.options.delay.hide)return n.hide();n.timeout=setTimeout(function(){"out"==n.hoverState&&n.hide()},n.options.delay.hide)}},n.prototype.show=function(){var e=t.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(e);var r=t.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(e.isDefaultPrevented()||!r)return;var i=this,o=this.tip(),a=this.getUID(this.type);this.setContent(),o.attr("id",a),this.$element.attr("aria-describedby",a),this.options.animation&&o.addClass("fade");var s="function"==typeof this.options.placement?this.options.placement.call(this,o[0],this.$element[0]):this.options.placement,u=/\s?auto?\s?/i,c=u.test(s);c&&(s=s.replace(u,"")||"top"),o.detach().css({top:0,left:0,display:"block"}).addClass(s).data("bs."+this.type,this),this.options.container?o.appendTo(this.options.container):o.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var l=this.getPosition(),f=o[0].offsetWidth,p=o[0].offsetHeight;if(c){var d=s,h=this.getPosition(this.$viewport);s="bottom"==s&&l.bottom+p>h.bottom?"top":"top"==s&&l.top-p<h.top?"bottom":"right"==s&&l.right+f>h.width?"left":"left"==s&&l.left-f<h.left?"right":s,o.removeClass(d).addClass(s)}var v=this.getCalculatedOffset(s,l,f,p);this.applyPlacement(v,s);var g=function(){var t=i.hoverState;i.$element.trigger("shown.bs."+i.type),i.hoverState=null,"out"==t&&i.leave(i)};t.support.transition&&this.$tip.hasClass("fade")?o.one("bsTransitionEnd",g).emulateTransitionEnd(n.TRANSITION_DURATION):g()}},n.prototype.applyPlacement=function(e,n){var r=this.tip(),i=r[0].offsetWidth,o=r[0].offsetHeight,a=parseInt(r.css("margin-top"),10),s=parseInt(r.css("margin-left"),10);isNaN(a)&&(a=0),isNaN(s)&&(s=0),e.top+=a,e.left+=s,t.offset.setOffset(r[0],t.extend({using:function(t){r.css({top:Math.round(t.top),left:Math.round(t.left)})}},e),0),r.addClass("in");var u=r[0].offsetWidth,c=r[0].offsetHeight;"top"==n&&c!=o&&(e.top=e.top+o-c);var l=this.getViewportAdjustedDelta(n,e,u,c);l.left?e.left+=l.left:e.top+=l.top;var f=/top|bottom/.test(n),p=f?2*l.left-i+u:2*l.top-o+c,d=f?"offsetWidth":"offsetHeight";r.offset(e),this.replaceArrow(p,r[0][d],f)},n.prototype.replaceArrow=function(t,e,n){this.arrow().css(n?"left":"top",50*(1-t/e)+"%").css(n?"top":"left","")},n.prototype.setContent=function(){var t=this.tip(),e=this.getTitle();t.find(".tooltip-inner")[this.options.html?"html":"text"](e),t.removeClass("fade in top bottom left right")},n.prototype.hide=function(e){function r(){"in"!=i.hoverState&&o.detach(),i.$element&&i.$element.removeAttr("aria-describedby").trigger("hidden.bs."+i.type),e&&e()}var i=this,o=t(this.$tip),a=t.Event("hide.bs."+this.type);if(this.$element.trigger(a),!a.isDefaultPrevented())return o.removeClass("in"),t.support.transition&&o.hasClass("fade")?o.one("bsTransitionEnd",r).emulateTransitionEnd(n.TRANSITION_DURATION):r(),this.hoverState=null,this},n.prototype.fixTitle=function(){var t=this.$element;(t.attr("title")||"string"!=typeof t.attr("data-original-title"))&&t.attr("data-original-title",t.attr("title")||"").attr("title","")},n.prototype.hasContent=function(){return this.getTitle()},n.prototype.getPosition=function(e){e=e||this.$element;var n=e[0],r="BODY"==n.tagName,i=n.getBoundingClientRect();null==i.width&&(i=t.extend({},i,{width:i.right-i.left,height:i.bottom-i.top}));var o=window.SVGElement&&n instanceof window.SVGElement,a=r?{top:0,left:0}:o?null:e.offset(),s={scroll:r?document.documentElement.scrollTop||document.body.scrollTop:e.scrollTop()},u=r?{width:t(window).width(),height:t(window).height()}:null;return t.extend({},i,s,u,a)},n.prototype.getCalculatedOffset=function(t,e,n,r){return"bottom"==t?{top:e.top+e.height,left:e.left+e.width/2-n/2}:"top"==t?{top:e.top-r,left:e.left+e.width/2-n/2}:"left"==t?{top:e.top+e.height/2-r/2,left:e.left-n}:{top:e.top+e.height/2-r/2,left:e.left+e.width}},n.prototype.getViewportAdjustedDelta=function(t,e,n,r){var i={top:0,left:0};if(!this.$viewport)return i;var o=this.options.viewport&&this.options.viewport.padding||0,a=this.getPosition(this.$viewport);if(/right|left/.test(t)){var s=e.top-o-a.scroll,u=e.top+o-a.scroll+r;s<a.top?i.top=a.top-s:u>a.top+a.height&&(i.top=a.top+a.height-u)}else{var c=e.left-o,l=e.left+o+n;c<a.left?i.left=a.left-c:l>a.right&&(i.left=a.left+a.width-l)}return i},n.prototype.getTitle=function(){var t=this.$element,e=this.options;return t.attr("data-original-title")||("function"==typeof e.title?e.title.call(t[0]):e.title)},n.prototype.getUID=function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},n.prototype.tip=function(){if(!this.$tip&&(this.$tip=t(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},n.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},n.prototype.enable=function(){this.enabled=!0},n.prototype.disable=function(){this.enabled=!1},n.prototype.toggleEnabled=function(){this.enabled=!this.enabled},n.prototype.toggle=function(e){var n=this;e&&((n=t(e.currentTarget).data("bs."+this.type))||(n=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,n))),e?(n.inState.click=!n.inState.click,n.isInStateTrue()?n.enter(n):n.leave(n)):n.tip().hasClass("in")?n.leave(n):n.enter(n)},n.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off("."+t.type).removeData("bs."+t.type),t.$tip&&t.$tip.detach(),t.$tip=null,t.$arrow=null,t.$viewport=null,t.$element=null})};var r=t.fn.tooltip;t.fn.tooltip=e,t.fn.tooltip.Constructor=n,t.fn.tooltip.noConflict=function(){return t.fn.tooltip=r,this}}(jQuery),function(t){"use strict";function e(e){return this.each(function(){var r=t(this),i=r.data("bs.popover"),o="object"==typeof e&&e;!i&&/destroy|hide/.test(e)||(i||r.data("bs.popover",i=new n(this,o)),"string"==typeof e&&i[e]())})}var n=function(t,e){this.init("popover",t,e)};if(!t.fn.tooltip)throw new Error("Popover requires tooltip.js");n.VERSION="3.3.7",n.DEFAULTS=t.extend({},t.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),n.prototype=t.extend({},t.fn.tooltip.Constructor.prototype),n.prototype.constructor=n,n.prototype.getDefaults=function(){return n.DEFAULTS},n.prototype.setContent=function(){var t=this.tip(),e=this.getTitle(),n=this.getContent();t.find(".popover-title")[this.options.html?"html":"text"](e),t.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof n?"html":"append":"text"](n),t.removeClass("fade top bottom left right in"),t.find(".popover-title").html()||t.find(".popover-title").hide()},n.prototype.hasContent=function(){return this.getTitle()||this.getContent()},n.prototype.getContent=function(){var t=this.$element,e=this.options;return t.attr("data-content")||("function"==typeof e.content?e.content.call(t[0]):e.content)},n.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var r=t.fn.popover;t.fn.popover=e,t.fn.popover.Constructor=n,t.fn.popover.noConflict=function(){return t.fn.popover=r,this}}(jQuery),function(t){"use strict";function e(n,r){this.$body=t(document.body),this.$scrollElement=t(t(n).is(document.body)?window:n),this.options=t.extend({},e.DEFAULTS,r),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",t.proxy(this.process,this)),this.refresh(),this.process()}function n(n){return this.each(function(){var r=t(this),i=r.data("bs.scrollspy"),o="object"==typeof n&&n;i||r.data("bs.scrollspy",i=new e(this,o)),"string"==typeof n&&i[n]()})}e.VERSION="3.3.7",e.DEFAULTS={offset:10},e.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},e.prototype.refresh=function(){var e=this,n="offset",r=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),t.isWindow(this.$scrollElement[0])||(n="position",r=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var e=t(this),i=e.data("target")||e.attr("href"),o=/^#./.test(i)&&t(i);return o&&o.length&&o.is(":visible")&&[[o[n]().top+r,i]]||null}).sort(function(t,e){return t[0]-e[0]}).each(function(){e.offsets.push(this[0]),e.targets.push(this[1])})},e.prototype.process=function(){var t,e=this.$scrollElement.scrollTop()+this.options.offset,n=this.getScrollHeight(),r=this.options.offset+n-this.$scrollElement.height(),i=this.offsets,o=this.targets,a=this.activeTarget;if(this.scrollHeight!=n&&this.refresh(),e>=r)return a!=(t=o[o.length-1])&&this.activate(t);if(a&&e<i[0])return this.activeTarget=null,this.clear();for(t=i.length;t--;)a!=o[t]&&e>=i[t]&&(void 0===i[t+1]||e<i[t+1])&&this.activate(o[t])},e.prototype.activate=function(e){this.activeTarget=e,this.clear();var n=this.selector+'[data-target="'+e+'"],'+this.selector+'[href="'+e+'"]',r=t(n).parents("li").addClass("active");r.parent(".dropdown-menu").length&&(r=r.closest("li.dropdown").addClass("active")),r.trigger("activate.bs.scrollspy")},e.prototype.clear=function(){t(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var r=t.fn.scrollspy;t.fn.scrollspy=n,t.fn.scrollspy.Constructor=e,t.fn.scrollspy.noConflict=function(){return t.fn.scrollspy=r,this},t(window).on("load.bs.scrollspy.data-api",function(){t('[data-spy="scroll"]').each(function(){var e=t(this);n.call(e,e.data())})})}(jQuery),function(t){"use strict";function e(e){return this.each(function(){var r=t(this),i=r.data("bs.tab");i||r.data("bs.tab",i=new n(this)),"string"==typeof e&&i[e]()})}var n=function(e){this.element=t(e)};n.VERSION="3.3.7",n.TRANSITION_DURATION=150,n.prototype.show=function(){var e=this.element,n=e.closest("ul:not(.dropdown-menu)"),r=e.data("target");if(r||(r=e.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,"")),!e.parent("li").hasClass("active")){var i=n.find(".active:last a"),o=t.Event("hide.bs.tab",{relatedTarget:e[0]}),a=t.Event("show.bs.tab",{relatedTarget:i[0]});if(i.trigger(o),e.trigger(a),!a.isDefaultPrevented()&&!o.isDefaultPrevented()){var s=t(r);this.activate(e.closest("li"),n),this.activate(s,s.parent(),function(){i.trigger({type:"hidden.bs.tab",relatedTarget:e[0]}),e.trigger({type:"shown.bs.tab",relatedTarget:i[0]})})}}},n.prototype.activate=function(e,r,i){function o(){a.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),e.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),s?(e[0].offsetWidth,e.addClass("in")):e.removeClass("fade"),e.parent(".dropdown-menu").length&&e.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),i&&i()}var a=r.find("> .active"),s=i&&t.support.transition&&(a.length&&a.hasClass("fade")||!!r.find("> .fade").length);a.length&&s?a.one("bsTransitionEnd",o).emulateTransitionEnd(n.TRANSITION_DURATION):o(),a.removeClass("in")};var r=t.fn.tab;t.fn.tab=e,t.fn.tab.Constructor=n,t.fn.tab.noConflict=function(){return t.fn.tab=r,this};var i=function(n){n.preventDefault(),e.call(t(this),"show")};t(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',i).on("click.bs.tab.data-api",'[data-toggle="pill"]',i)}(jQuery),function(t){"use strict";function e(e){return this.each(function(){var r=t(this),i=r.data("bs.affix"),o="object"==typeof e&&e;i||r.data("bs.affix",i=new n(this,o)),"string"==typeof e&&i[e]()})}var n=function(e,r){this.options=t.extend({},n.DEFAULTS,r),this.$target=t(this.options.target).on("scroll.bs.affix.data-api",t.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",t.proxy(this.checkPositionWithEventLoop,this)),this.$element=t(e),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};n.VERSION="3.3.7",n.RESET="affix affix-top affix-bottom",n.DEFAULTS={offset:0,target:window},n.prototype.getState=function(t,e,n,r){var i=this.$target.scrollTop(),o=this.$element.offset(),a=this.$target.height();if(null!=n&&"top"==this.affixed)return i<n&&"top";if("bottom"==this.affixed)return null!=n?!(i+this.unpin<=o.top)&&"bottom":!(i+a<=t-r)&&"bottom";var s=null==this.affixed,u=s?i:o.top,c=s?a:e;return null!=n&&i<=n?"top":null!=r&&u+c>=t-r&&"bottom"},n.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(n.RESET).addClass("affix");var t=this.$target.scrollTop(),e=this.$element.offset();return this.pinnedOffset=e.top-t},n.prototype.checkPositionWithEventLoop=function(){setTimeout(t.proxy(this.checkPosition,this),1)},n.prototype.checkPosition=function(){if(this.$element.is(":visible")){var e=this.$element.height(),r=this.options.offset,i=r.top,o=r.bottom,a=Math.max(t(document).height(),t(document.body).height());"object"!=typeof r&&(o=i=r),"function"==typeof i&&(i=r.top(this.$element)),"function"==typeof o&&(o=r.bottom(this.$element));var s=this.getState(a,e,i,o);if(this.affixed!=s){null!=this.unpin&&this.$element.css("top","");var u="affix"+(s?"-"+s:""),c=t.Event(u+".bs.affix");if(this.$element.trigger(c),c.isDefaultPrevented())return;this.affixed=s,this.unpin="bottom"==s?this.getPinnedOffset():null,this.$element.removeClass(n.RESET).addClass(u).trigger(u.replace("affix","affixed")+".bs.affix")}"bottom"==s&&this.$element.offset({top:a-e-o})}};var r=t.fn.affix;t.fn.affix=e,t.fn.affix.Constructor=n,t.fn.affix.noConflict=function(){return t.fn.affix=r,this},t(window).on("load",function(){t('[data-spy="affix"]').each(function(){var n=t(this),r=n.data();r.offset=r.offset||{},null!=r.offsetBottom&&(r.offset.bottom=r.offsetBottom),null!=r.offsetTop&&(r.offset.top=r.offsetTop),e.call(n,r)})})}(jQuery)},function(t,e,n){var r,i;/*! + * jQuery JavaScript Library v3.2.1 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2017-03-20T18:59Z + */ +!function(e,n){"use strict";"object"==typeof t&&"object"==typeof t.exports?t.exports=e.document?n(e,!0):function(t){if(!t.document)throw new Error("jQuery requires a window with a document");return n(t)}:n(e)}("undefined"!=typeof window?window:this,function(n,o){"use strict";function a(t,e){e=e||at;var n=e.createElement("script");n.text=t,e.head.appendChild(n).parentNode.removeChild(n)}function s(t){var e=!!t&&"length"in t&&t.length,n=yt.type(t);return"function"!==n&&!yt.isWindow(t)&&("array"===n||0===e||"number"==typeof e&&e>0&&e-1 in t)}function u(t,e){return t.nodeName&&t.nodeName.toLowerCase()===e.toLowerCase()}function c(t,e,n){return yt.isFunction(e)?yt.grep(t,function(t,r){return!!e.call(t,r,t)!==n}):e.nodeType?yt.grep(t,function(t){return t===e!==n}):"string"!=typeof e?yt.grep(t,function(t){return ft.call(e,t)>-1!==n}):$t.test(e)?yt.filter(e,t,n):(e=yt.filter(e,t),yt.grep(t,function(t){return ft.call(e,t)>-1!==n&&1===t.nodeType}))}function l(t,e){for(;(t=t[e])&&1!==t.nodeType;);return t}function f(t){var e={};return yt.each(t.match(Ot)||[],function(t,n){e[n]=!0}),e}function p(t){return t}function d(t){throw t}function h(t,e,n,r){var i;try{t&&yt.isFunction(i=t.promise)?i.call(t).done(e).fail(n):t&&yt.isFunction(i=t.then)?i.call(t,e,n):e.apply(void 0,[t].slice(r))}catch(t){n.apply(void 0,[t])}}function v(){at.removeEventListener("DOMContentLoaded",v),n.removeEventListener("load",v),yt.ready()}function g(){this.expando=yt.expando+g.uid++}function m(t){return"true"===t||"false"!==t&&("null"===t?null:t===+t+""?+t:Pt.test(t)?JSON.parse(t):t)}function y(t,e,n){var r;if(void 0===n&&1===t.nodeType)if(r="data-"+e.replace(Ft,"-$&").toLowerCase(),"string"==typeof(n=t.getAttribute(r))){try{n=m(n)}catch(t){}Rt.set(t,e,n)}else n=void 0;return n}function b(t,e,n,r){var i,o=1,a=20,s=r?function(){return r.cur()}:function(){return yt.css(t,e,"")},u=s(),c=n&&n[3]||(yt.cssNumber[e]?"":"px"),l=(yt.cssNumber[e]||"px"!==c&&+u)&&Mt.exec(yt.css(t,e));if(l&&l[3]!==c){c=c||l[3],n=n||[],l=+u||1;do{o=o||".5",l/=o,yt.style(t,e,l+c)}while(o!==(o=s()/u)&&1!==o&&--a)}return n&&(l=+l||+u||0,i=n[1]?l+(n[1]+1)*n[2]:+n[2],r&&(r.unit=c,r.start=l,r.end=i)),i}function _(t){var e,n=t.ownerDocument,r=t.nodeName,i=Wt[r];return i||(e=n.body.appendChild(n.createElement(r)),i=yt.css(e,"display"),e.parentNode.removeChild(e),"none"===i&&(i="block"),Wt[r]=i,i)}function w(t,e){for(var n,r,i=[],o=0,a=t.length;o<a;o++)r=t[o],r.style&&(n=r.style.display,e?("none"===n&&(i[o]=Lt.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&Bt(r)&&(i[o]=_(r))):"none"!==n&&(i[o]="none",Lt.set(r,"display",n)));for(o=0;o<a;o++)null!=i[o]&&(t[o].style.display=i[o]);return t}function x(t,e){var n;return n=void 0!==t.getElementsByTagName?t.getElementsByTagName(e||"*"):void 0!==t.querySelectorAll?t.querySelectorAll(e||"*"):[],void 0===e||e&&u(t,e)?yt.merge([t],n):n}function C(t,e){for(var n=0,r=t.length;n<r;n++)Lt.set(t[n],"globalEval",!e||Lt.get(e[n],"globalEval"))}function T(t,e,n,r,i){for(var o,a,s,u,c,l,f=e.createDocumentFragment(),p=[],d=0,h=t.length;d<h;d++)if((o=t[d])||0===o)if("object"===yt.type(o))yt.merge(p,o.nodeType?[o]:o);else if(Jt.test(o)){for(a=a||f.appendChild(e.createElement("div")),s=(Vt.exec(o)||["",""])[1].toLowerCase(),u=Kt[s]||Kt._default,a.innerHTML=u[1]+yt.htmlPrefilter(o)+u[2],l=u[0];l--;)a=a.lastChild;yt.merge(p,a.childNodes),a=f.firstChild,a.textContent=""}else p.push(e.createTextNode(o));for(f.textContent="",d=0;o=p[d++];)if(r&&yt.inArray(o,r)>-1)i&&i.push(o);else if(c=yt.contains(o.ownerDocument,o),a=x(f.appendChild(o),"script"),c&&C(a),n)for(l=0;o=a[l++];)Xt.test(o.type||"")&&n.push(o);return f}function $(){return!0}function k(){return!1}function A(){try{return at.activeElement}catch(t){}}function E(t,e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=void 0);for(s in e)E(t,s,n,r,e[s],o);return t}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=k;else if(!i)return t;return 1===o&&(a=i,i=function(t){return yt().off(t),a.apply(this,arguments)},i.guid=a.guid||(a.guid=yt.guid++)),t.each(function(){yt.event.add(this,e,i,r,n)})}function S(t,e){return u(t,"table")&&u(11!==e.nodeType?e:e.firstChild,"tr")?yt(">tbody",t)[0]||t:t}function O(t){return t.type=(null!==t.getAttribute("type"))+"/"+t.type,t}function j(t){var e=ne.exec(t.type);return e?t.type=e[1]:t.removeAttribute("type"),t}function N(t,e){var n,r,i,o,a,s,u,c;if(1===e.nodeType){if(Lt.hasData(t)&&(o=Lt.access(t),a=Lt.set(e,o),c=o.events)){delete a.handle,a.events={};for(i in c)for(n=0,r=c[i].length;n<r;n++)yt.event.add(e,i,c[i][n])}Rt.hasData(t)&&(s=Rt.access(t),u=yt.extend({},s),Rt.set(e,u))}}function D(t,e){var n=e.nodeName.toLowerCase();"input"===n&&zt.test(t.type)?e.checked=t.checked:"input"!==n&&"textarea"!==n||(e.defaultValue=t.defaultValue)}function I(t,e,n,r){e=ct.apply([],e);var i,o,s,u,c,l,f=0,p=t.length,d=p-1,h=e[0],v=yt.isFunction(h);if(v||p>1&&"string"==typeof h&&!mt.checkClone&&ee.test(h))return t.each(function(i){var o=t.eq(i);v&&(e[0]=h.call(this,i,o.html())),I(o,e,n,r)});if(p&&(i=T(e,t[0].ownerDocument,!1,t,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(s=yt.map(x(i,"script"),O),u=s.length;f<p;f++)c=i,f!==d&&(c=yt.clone(c,!0,!0),u&&yt.merge(s,x(c,"script"))),n.call(t[f],c,f);if(u)for(l=s[s.length-1].ownerDocument,yt.map(s,j),f=0;f<u;f++)c=s[f],Xt.test(c.type||"")&&!Lt.access(c,"globalEval")&&yt.contains(l,c)&&(c.src?yt._evalUrl&&yt._evalUrl(c.src):a(c.textContent.replace(re,""),l))}return t}function L(t,e,n){for(var r,i=e?yt.filter(e,t):t,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||yt.cleanData(x(r)),r.parentNode&&(n&&yt.contains(r.ownerDocument,r)&&C(x(r,"script")),r.parentNode.removeChild(r));return t}function R(t,e,n){var r,i,o,a,s=t.style;return n=n||ae(t),n&&(a=n.getPropertyValue(e)||n[e],""!==a||yt.contains(t.ownerDocument,t)||(a=yt.style(t,e)),!mt.pixelMarginRight()&&oe.test(a)&&ie.test(e)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function P(t,e){return{get:function(){return t()?void delete this.get:(this.get=e).apply(this,arguments)}}}function F(t){if(t in pe)return t;for(var e=t[0].toUpperCase()+t.slice(1),n=fe.length;n--;)if((t=fe[n]+e)in pe)return t}function q(t){var e=yt.cssProps[t];return e||(e=yt.cssProps[t]=F(t)||t),e}function M(t,e,n){var r=Mt.exec(e);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):e}function H(t,e,n,r,i){var o,a=0;for(o=n===(r?"border":"content")?4:"width"===e?1:0;o<4;o+=2)"margin"===n&&(a+=yt.css(t,n+Ht[o],!0,i)),r?("content"===n&&(a-=yt.css(t,"padding"+Ht[o],!0,i)),"margin"!==n&&(a-=yt.css(t,"border"+Ht[o]+"Width",!0,i))):(a+=yt.css(t,"padding"+Ht[o],!0,i),"padding"!==n&&(a+=yt.css(t,"border"+Ht[o]+"Width",!0,i)));return a}function B(t,e,n){var r,i=ae(t),o=R(t,e,i),a="border-box"===yt.css(t,"boxSizing",!1,i);return oe.test(o)?o:(r=a&&(mt.boxSizingReliable()||o===t.style[e]),"auto"===o&&(o=t["offset"+e[0].toUpperCase()+e.slice(1)]),(o=parseFloat(o)||0)+H(t,e,n||(a?"border":"content"),r,i)+"px")}function U(t,e,n,r,i){return new U.prototype.init(t,e,n,r,i)}function W(){he&&(!1===at.hidden&&n.requestAnimationFrame?n.requestAnimationFrame(W):n.setTimeout(W,yt.fx.interval),yt.fx.tick())}function z(){return n.setTimeout(function(){de=void 0}),de=yt.now()}function V(t,e){var n,r=0,i={height:t};for(e=e?1:0;r<4;r+=2-e)n=Ht[r],i["margin"+n]=i["padding"+n]=t;return e&&(i.opacity=i.width=t),i}function X(t,e,n){for(var r,i=(Q.tweeners[e]||[]).concat(Q.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,e,t))return r}function K(t,e,n){var r,i,o,a,s,u,c,l,f="width"in e||"height"in e,p=this,d={},h=t.style,v=t.nodeType&&Bt(t),g=Lt.get(t,"fxshow");n.queue||(a=yt._queueHooks(t,"fx"),null==a.unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,yt.queue(t,"fx").length||a.empty.fire()})}));for(r in e)if(i=e[r],ve.test(i)){if(delete e[r],o=o||"toggle"===i,i===(v?"hide":"show")){if("show"!==i||!g||void 0===g[r])continue;v=!0}d[r]=g&&g[r]||yt.style(t,r)}if((u=!yt.isEmptyObject(e))||!yt.isEmptyObject(d)){f&&1===t.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],c=g&&g.display,null==c&&(c=Lt.get(t,"display")),l=yt.css(t,"display"),"none"===l&&(c?l=c:(w([t],!0),c=t.style.display||c,l=yt.css(t,"display"),w([t]))),("inline"===l||"inline-block"===l&&null!=c)&&"none"===yt.css(t,"float")&&(u||(p.done(function(){h.display=c}),null==c&&(l=h.display,c="none"===l?"":l)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1;for(r in d)u||(g?"hidden"in g&&(v=g.hidden):g=Lt.access(t,"fxshow",{display:c}),o&&(g.hidden=!v),v&&w([t],!0),p.done(function(){v||w([t]),Lt.remove(t,"fxshow");for(r in d)yt.style(t,r,d[r])})),u=X(v?g[r]:0,r,p),r in g||(g[r]=u.start,v&&(u.end=u.start,u.start=0))}}function J(t,e){var n,r,i,o,a;for(n in t)if(r=yt.camelCase(n),i=e[r],o=t[n],Array.isArray(o)&&(i=o[1],o=t[n]=o[0]),n!==r&&(t[r]=o,delete t[n]),(a=yt.cssHooks[r])&&"expand"in a){o=a.expand(o),delete t[r];for(n in o)n in t||(t[n]=o[n],e[n]=i)}else e[r]=i}function Q(t,e,n){var r,i,o=0,a=Q.prefilters.length,s=yt.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var e=de||z(),n=Math.max(0,c.startTime+c.duration-e),r=n/c.duration||0,o=1-r,a=0,u=c.tweens.length;a<u;a++)c.tweens[a].run(o);return s.notifyWith(t,[c,o,n]),o<1&&u?n:(u||s.notifyWith(t,[c,1,0]),s.resolveWith(t,[c]),!1)},c=s.promise({elem:t,props:yt.extend({},e),opts:yt.extend(!0,{specialEasing:{},easing:yt.easing._default},n),originalProperties:e,originalOptions:n,startTime:de||z(),duration:n.duration,tweens:[],createTween:function(e,n){var r=yt.Tween(t,c.opts,e,n,c.opts.specialEasing[e]||c.opts.easing);return c.tweens.push(r),r},stop:function(e){var n=0,r=e?c.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)c.tweens[n].run(1);return e?(s.notifyWith(t,[c,1,0]),s.resolveWith(t,[c,e])):s.rejectWith(t,[c,e]),this}}),l=c.props;for(J(l,c.opts.specialEasing);o<a;o++)if(r=Q.prefilters[o].call(c,t,l,c.opts))return yt.isFunction(r.stop)&&(yt._queueHooks(c.elem,c.opts.queue).stop=yt.proxy(r.stop,r)),r;return yt.map(l,X,c),yt.isFunction(c.opts.start)&&c.opts.start.call(t,c),c.progress(c.opts.progress).done(c.opts.done,c.opts.complete).fail(c.opts.fail).always(c.opts.always),yt.fx.timer(yt.extend(u,{elem:t,anim:c,queue:c.opts.queue})),c}function G(t){return(t.match(Ot)||[]).join(" ")}function Z(t){return t.getAttribute&&t.getAttribute("class")||""}function Y(t,e,n,r){var i;if(Array.isArray(e))yt.each(e,function(e,i){n||$e.test(t)?r(t,i):Y(t+"["+("object"==typeof i&&null!=i?e:"")+"]",i,n,r)});else if(n||"object"!==yt.type(e))r(t,e);else for(i in e)Y(t+"["+i+"]",e[i],n,r)}function tt(t){return function(e,n){"string"!=typeof e&&(n=e,e="*");var r,i=0,o=e.toLowerCase().match(Ot)||[];if(yt.isFunction(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(t[r]=t[r]||[]).unshift(n)):(t[r]=t[r]||[]).push(n)}}function et(t,e,n,r){function i(s){var u;return o[s]=!0,yt.each(t[s]||[],function(t,s){var c=s(e,n,r);return"string"!=typeof c||a||o[c]?a?!(u=c):void 0:(e.dataTypes.unshift(c),i(c),!1)}),u}var o={},a=t===Ne;return i(e.dataTypes[0])||!o["*"]&&i("*")}function nt(t,e){var n,r,i=yt.ajaxSettings.flatOptions||{};for(n in e)void 0!==e[n]&&((i[n]?t:r||(r={}))[n]=e[n]);return r&&yt.extend(!0,t,r),t}function rt(t,e,n){for(var r,i,o,a,s=t.contents,u=t.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=t.mimeType||e.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||t.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}function it(t,e,n,r){var i,o,a,s,u,c={},l=t.dataTypes.slice();if(l[1])for(a in t.converters)c[a.toLowerCase()]=t.converters[a];for(o=l.shift();o;)if(t.responseFields[o]&&(n[t.responseFields[o]]=e),!u&&r&&t.dataFilter&&(e=t.dataFilter(e,t.dataType)),u=o,o=l.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=c[u+" "+o]||c["* "+o]))for(i in c)if(s=i.split(" "),s[1]===o&&(a=c[u+" "+s[0]]||c["* "+s[0]])){!0===a?a=c[i]:!0!==c[i]&&(o=s[0],l.unshift(s[1]));break}if(!0!==a)if(a&&t.throws)e=a(e);else try{e=a(e)}catch(t){return{state:"parsererror",error:a?t:"No conversion from "+u+" to "+o}}}return{state:"success",data:e}}var ot=[],at=n.document,st=Object.getPrototypeOf,ut=ot.slice,ct=ot.concat,lt=ot.push,ft=ot.indexOf,pt={},dt=pt.toString,ht=pt.hasOwnProperty,vt=ht.toString,gt=vt.call(Object),mt={},yt=function(t,e){return new yt.fn.init(t,e)},bt=function(t,e){return e.toUpperCase()};yt.fn=yt.prototype={jquery:"3.2.1",constructor:yt,length:0,toArray:function(){return ut.call(this)},get:function(t){return null==t?ut.call(this):t<0?this[t+this.length]:this[t]},pushStack:function(t){var e=yt.merge(this.constructor(),t);return e.prevObject=this,e},each:function(t){return yt.each(this,t)},map:function(t){return this.pushStack(yt.map(this,function(e,n){return t.call(e,n,e)}))},slice:function(){return this.pushStack(ut.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(t){var e=this.length,n=+t+(t<0?e:0);return this.pushStack(n>=0&&n<e?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:lt,sort:ot.sort,splice:ot.splice},yt.extend=yt.fn.extend=function(){var t,e,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[s]||{},s++),"object"==typeof a||yt.isFunction(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(t=arguments[s]))for(e in t)n=a[e],r=t[e],a!==r&&(c&&r&&(yt.isPlainObject(r)||(i=Array.isArray(r)))?(i?(i=!1,o=n&&Array.isArray(n)?n:[]):o=n&&yt.isPlainObject(n)?n:{},a[e]=yt.extend(c,o,r)):void 0!==r&&(a[e]=r));return a},yt.extend({expando:"jQuery"+("3.2.1"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(t){throw new Error(t)},noop:function(){},isFunction:function(t){return"function"===yt.type(t)},isWindow:function(t){return null!=t&&t===t.window},isNumeric:function(t){var e=yt.type(t);return("number"===e||"string"===e)&&!isNaN(t-parseFloat(t))},isPlainObject:function(t){var e,n;return!(!t||"[object Object]"!==dt.call(t))&&(!(e=st(t))||"function"==typeof(n=ht.call(e,"constructor")&&e.constructor)&&vt.call(n)===gt)},isEmptyObject:function(t){var e;for(e in t)return!1;return!0},type:function(t){return null==t?t+"":"object"==typeof t||"function"==typeof t?pt[dt.call(t)]||"object":typeof t},globalEval:function(t){a(t)},camelCase:function(t){return t.replace(/^-ms-/,"ms-").replace(/-([a-z])/g,bt)},each:function(t,e){var n,r=0;if(s(t))for(n=t.length;r<n&&!1!==e.call(t[r],r,t[r]);r++);else for(r in t)if(!1===e.call(t[r],r,t[r]))break;return t},trim:function(t){return null==t?"":(t+"").replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},makeArray:function(t,e){var n=e||[];return null!=t&&(s(Object(t))?yt.merge(n,"string"==typeof t?[t]:t):lt.call(n,t)),n},inArray:function(t,e,n){return null==e?-1:ft.call(e,t,n)},merge:function(t,e){for(var n=+e.length,r=0,i=t.length;r<n;r++)t[i++]=e[r];return t.length=i,t},grep:function(t,e,n){for(var r=[],i=0,o=t.length,a=!n;i<o;i++)!e(t[i],i)!==a&&r.push(t[i]);return r},map:function(t,e,n){var r,i,o=0,a=[];if(s(t))for(r=t.length;o<r;o++)null!=(i=e(t[o],o,n))&&a.push(i);else for(o in t)null!=(i=e(t[o],o,n))&&a.push(i);return ct.apply([],a)},guid:1,proxy:function(t,e){var n,r,i;if("string"==typeof e&&(n=t[e],e=t,t=n),yt.isFunction(t))return r=ut.call(arguments,2),i=function(){return t.apply(e||this,r.concat(ut.call(arguments)))},i.guid=t.guid=t.guid||yt.guid++,i},now:Date.now,support:mt}),"function"==typeof Symbol&&(yt.fn[Symbol.iterator]=ot[Symbol.iterator]),yt.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(t,e){pt["[object "+e+"]"]=e.toLowerCase()});var _t=/*! + * Sizzle CSS Selector Engine v2.3.3 + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2016-08-08 + */ +function(t){function e(t,e,n,r){var i,o,a,s,u,l,p,d=e&&e.ownerDocument,h=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==h&&9!==h&&11!==h)return n;if(!r&&((e?e.ownerDocument||e:q)!==j&&O(e),e=e||j,D)){if(11!==h&&(u=vt.exec(t)))if(i=u[1]){if(9===h){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(d&&(a=d.getElementById(i))&&P(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return Q.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&_.getElementsByClassName&&e.getElementsByClassName)return Q.apply(n,e.getElementsByClassName(i)),n}if(_.qsa&&!W[t+" "]&&(!I||!I.test(t))){if(1!==h)d=e,p=t;else if("object"!==e.nodeName.toLowerCase()){for((s=e.getAttribute("id"))?s=s.replace(bt,_t):e.setAttribute("id",s=F),l=T(t),o=l.length;o--;)l[o]="#"+s+" "+f(l[o]);p=l.join(","),d=gt.test(t)&&c(e.parentNode)||e}if(p)try{return Q.apply(n,d.querySelectorAll(p)),n}catch(t){}finally{s===F&&e.removeAttribute("id")}}}return k(t.replace(ot,"$1"),e,n,r)}function n(){function t(n,r){return e.push(n+" ")>w.cacheLength&&delete t[e.shift()],t[n+" "]=r}var e=[];return t}function r(t){return t[F]=!0,t}function i(t){var e=j.createElement("fieldset");try{return!!t(e)}catch(t){return!1}finally{e.parentNode&&e.parentNode.removeChild(e),e=null}}function o(t,e){for(var n=t.split("|"),r=n.length;r--;)w.attrHandle[n[r]]=e}function a(t,e){var n=e&&t,r=n&&1===t.nodeType&&1===e.nodeType&&t.sourceIndex-e.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===e)return-1;return t?1:-1}function s(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&xt(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function u(t){return r(function(e){return e=+e,r(function(n,r){for(var i,o=t([],n.length,e),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function c(t){return t&&void 0!==t.getElementsByTagName&&t}function l(){}function f(t){for(var e=0,n=t.length,r="";e<n;e++)r+=t[e].value;return r}function p(t,e,n){var r=e.dir,i=e.next,o=i||r,a=n&&"parentNode"===o,s=H++;return e.first?function(e,n,i){for(;e=e[r];)if(1===e.nodeType||a)return t(e,n,i);return!1}:function(e,n,u){var c,l,f,p=[M,s];if(u){for(;e=e[r];)if((1===e.nodeType||a)&&t(e,n,u))return!0}else for(;e=e[r];)if(1===e.nodeType||a)if(f=e[F]||(e[F]={}),l=f[e.uniqueID]||(f[e.uniqueID]={}),i&&i===e.nodeName.toLowerCase())e=e[r]||e;else{if((c=l[o])&&c[0]===M&&c[1]===s)return p[2]=c[2];if(l[o]=p,p[2]=t(e,n,u))return!0}return!1}}function d(t){return t.length>1?function(e,n,r){for(var i=t.length;i--;)if(!t[i](e,n,r))return!1;return!0}:t[0]}function h(t,n,r){for(var i=0,o=n.length;i<o;i++)e(t,n[i],r);return r}function v(t,e,n,r,i){for(var o,a=[],s=0,u=t.length,c=null!=e;s<u;s++)(o=t[s])&&(n&&!n(o,r,i)||(a.push(o),c&&e.push(s)));return a}function g(t,e,n,i,o,a){return i&&!i[F]&&(i=g(i)),o&&!o[F]&&(o=g(o,a)),r(function(r,a,s,u){var c,l,f,p=[],d=[],g=a.length,m=r||h(e||"*",s.nodeType?[s]:s,[]),y=!t||!r&&e?m:v(m,p,t,s,u),b=n?o||(r?t:g||i)?[]:a:y;if(n&&n(y,b,s,u),i)for(c=v(b,d),i(c,[],s,u),l=c.length;l--;)(f=c[l])&&(b[d[l]]=!(y[d[l]]=f));if(r){if(o||t){if(o){for(c=[],l=b.length;l--;)(f=b[l])&&c.push(y[l]=f);o(null,b=[],c,u)}for(l=b.length;l--;)(f=b[l])&&(c=o?Z(r,f):p[l])>-1&&(r[c]=!(a[c]=f))}}else b=v(b===a?b.splice(g,b.length):b),o?o(null,a,b,u):Q.apply(a,b)})}function m(t){for(var e,n,r,i=t.length,o=w.relative[t[0].type],a=o||w.relative[" "],s=o?1:0,u=p(function(t){return t===e},a,!0),c=p(function(t){return Z(e,t)>-1},a,!0),l=[function(t,n,r){var i=!o&&(r||n!==A)||((e=n).nodeType?u(t,n,r):c(t,n,r));return e=null,i}];s<i;s++)if(n=w.relative[t[s].type])l=[p(d(l),n)];else{if(n=w.filter[t[s].type].apply(null,t[s].matches),n[F]){for(r=++s;r<i&&!w.relative[t[r].type];r++);return g(s>1&&d(l),s>1&&f(t.slice(0,s-1).concat({value:" "===t[s-2].type?"*":""})).replace(ot,"$1"),n,s<r&&m(t.slice(s,r)),r<i&&m(t=t.slice(r)),r<i&&f(t))}l.push(n)}return d(l)}function y(t,n){var i=n.length>0,o=t.length>0,a=function(r,a,s,u,c){var l,f,p,d=0,h="0",g=r&&[],m=[],y=A,b=r||o&&w.find.TAG("*",c),_=M+=null==y?1:Math.random()||.1,x=b.length;for(c&&(A=a===j||a||c);h!==x&&null!=(l=b[h]);h++){if(o&&l){for(f=0,a||l.ownerDocument===j||(O(l),s=!D);p=t[f++];)if(p(l,a||j,s)){u.push(l);break}c&&(M=_)}i&&((l=!p&&l)&&d--,r&&g.push(l))}if(d+=h,i&&h!==d){for(f=0;p=n[f++];)p(g,m,a,s);if(r){if(d>0)for(;h--;)g[h]||m[h]||(m[h]=K.call(u));m=v(m)}Q.apply(u,m),c&&!r&&m.length>0&&d+n.length>1&&e.uniqueSort(u)}return c&&(M=_,A=y),g};return i?r(a):a}var b,_,w,x,C,T,$,k,A,E,S,O,j,N,D,I,L,R,P,F="sizzle"+1*new Date,q=t.document,M=0,H=0,B=n(),U=n(),W=n(),z=function(t,e){return t===e&&(S=!0),0},V={}.hasOwnProperty,X=[],K=X.pop,J=X.push,Q=X.push,G=X.slice,Z=function(t,e){for(var n=0,r=t.length;n<r;n++)if(t[n]===e)return n;return-1},Y="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",tt="[\\x20\\t\\r\\n\\f]",et="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",nt="\\["+tt+"*("+et+")(?:"+tt+"*([*^$|!~]?=)"+tt+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+et+"))|)"+tt+"*\\]",rt=":("+et+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+nt+")*)|.*)\\)|)",it=new RegExp(tt+"+","g"),ot=new RegExp("^"+tt+"+|((?:^|[^\\\\])(?:\\\\.)*)"+tt+"+$","g"),at=new RegExp("^"+tt+"*,"+tt+"*"),st=new RegExp("^"+tt+"*([>+~]|"+tt+")"+tt+"*"),ut=new RegExp("="+tt+"*([^\\]'\"]*?)"+tt+"*\\]","g"),ct=new RegExp(rt),lt=new RegExp("^"+et+"$"),ft={ID:new RegExp("^#("+et+")"),CLASS:new RegExp("^\\.("+et+")"),TAG:new RegExp("^("+et+"|[*])"),ATTR:new RegExp("^"+nt),PSEUDO:new RegExp("^"+rt),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+tt+"*(even|odd|(([+-]|)(\\d*)n|)"+tt+"*(?:([+-]|)"+tt+"*(\\d+)|))"+tt+"*\\)|)","i"),bool:new RegExp("^(?:"+Y+")$","i"),needsContext:new RegExp("^"+tt+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+tt+"*((?:-\\d)?\\d*)"+tt+"*\\)|)(?=[^-]|$)","i")},pt=/^(?:input|select|textarea|button)$/i,dt=/^h\d$/i,ht=/^[^{]+\{\s*\[native \w/,vt=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,gt=/[+~]/,mt=new RegExp("\\\\([\\da-f]{1,6}"+tt+"?|("+tt+")|.)","ig"),yt=function(t,e,n){var r="0x"+e-65536;return r!==r||n?e:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},bt=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,_t=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t},wt=function(){O()},xt=p(function(t){return!0===t.disabled&&("form"in t||"label"in t)},{dir:"parentNode",next:"legend"});try{Q.apply(X=G.call(q.childNodes),q.childNodes),X[q.childNodes.length].nodeType}catch(t){Q={apply:X.length?function(t,e){J.apply(t,G.call(e))}:function(t,e){for(var n=t.length,r=0;t[n++]=e[r++];);t.length=n-1}}}_=e.support={},C=e.isXML=function(t){var e=t&&(t.ownerDocument||t).documentElement;return!!e&&"HTML"!==e.nodeName},O=e.setDocument=function(t){var e,n,r=t?t.ownerDocument||t:q;return r!==j&&9===r.nodeType&&r.documentElement?(j=r,N=j.documentElement,D=!C(j),q!==j&&(n=j.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",wt,!1):n.attachEvent&&n.attachEvent("onunload",wt)),_.attributes=i(function(t){return t.className="i",!t.getAttribute("className")}),_.getElementsByTagName=i(function(t){return t.appendChild(j.createComment("")),!t.getElementsByTagName("*").length}),_.getElementsByClassName=ht.test(j.getElementsByClassName),_.getById=i(function(t){return N.appendChild(t).id=F,!j.getElementsByName||!j.getElementsByName(F).length}),_.getById?(w.filter.ID=function(t){var e=t.replace(mt,yt);return function(t){return t.getAttribute("id")===e}},w.find.ID=function(t,e){if(void 0!==e.getElementById&&D){var n=e.getElementById(t);return n?[n]:[]}}):(w.filter.ID=function(t){var e=t.replace(mt,yt);return function(t){var n=void 0!==t.getAttributeNode&&t.getAttributeNode("id");return n&&n.value===e}},w.find.ID=function(t,e){if(void 0!==e.getElementById&&D){var n,r,i,o=e.getElementById(t);if(o){if((n=o.getAttributeNode("id"))&&n.value===t)return[o];for(i=e.getElementsByName(t),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===t)return[o]}return[]}}),w.find.TAG=_.getElementsByTagName?function(t,e){return void 0!==e.getElementsByTagName?e.getElementsByTagName(t):_.qsa?e.querySelectorAll(t):void 0}:function(t,e){var n,r=[],i=0,o=e.getElementsByTagName(t);if("*"===t){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},w.find.CLASS=_.getElementsByClassName&&function(t,e){if(void 0!==e.getElementsByClassName&&D)return e.getElementsByClassName(t)},L=[],I=[],(_.qsa=ht.test(j.querySelectorAll))&&(i(function(t){N.appendChild(t).innerHTML="<a id='"+F+"'></a><select id='"+F+"-\r\\' msallowcapture=''><option selected=''></option></select>",t.querySelectorAll("[msallowcapture^='']").length&&I.push("[*^$]="+tt+"*(?:''|\"\")"),t.querySelectorAll("[selected]").length||I.push("\\["+tt+"*(?:value|"+Y+")"),t.querySelectorAll("[id~="+F+"-]").length||I.push("~="),t.querySelectorAll(":checked").length||I.push(":checked"),t.querySelectorAll("a#"+F+"+*").length||I.push(".#.+[+~]")}),i(function(t){t.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var e=j.createElement("input");e.setAttribute("type","hidden"),t.appendChild(e).setAttribute("name","D"),t.querySelectorAll("[name=d]").length&&I.push("name"+tt+"*[*^$|!~]?="),2!==t.querySelectorAll(":enabled").length&&I.push(":enabled",":disabled"),N.appendChild(t).disabled=!0,2!==t.querySelectorAll(":disabled").length&&I.push(":enabled",":disabled"),t.querySelectorAll("*,:x"),I.push(",.*:")})),(_.matchesSelector=ht.test(R=N.matches||N.webkitMatchesSelector||N.mozMatchesSelector||N.oMatchesSelector||N.msMatchesSelector))&&i(function(t){_.disconnectedMatch=R.call(t,"*"),R.call(t,"[s!='']:x"),L.push("!=",rt)}),I=I.length&&new RegExp(I.join("|")),L=L.length&&new RegExp(L.join("|")),e=ht.test(N.compareDocumentPosition),P=e||ht.test(N.contains)?function(t,e){var n=9===t.nodeType?t.documentElement:t,r=e&&e.parentNode;return t===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):t.compareDocumentPosition&&16&t.compareDocumentPosition(r)))}:function(t,e){if(e)for(;e=e.parentNode;)if(e===t)return!0;return!1},z=e?function(t,e){if(t===e)return S=!0,0;var n=!t.compareDocumentPosition-!e.compareDocumentPosition;return n||(n=(t.ownerDocument||t)===(e.ownerDocument||e)?t.compareDocumentPosition(e):1,1&n||!_.sortDetached&&e.compareDocumentPosition(t)===n?t===j||t.ownerDocument===q&&P(q,t)?-1:e===j||e.ownerDocument===q&&P(q,e)?1:E?Z(E,t)-Z(E,e):0:4&n?-1:1)}:function(t,e){if(t===e)return S=!0,0;var n,r=0,i=t.parentNode,o=e.parentNode,s=[t],u=[e];if(!i||!o)return t===j?-1:e===j?1:i?-1:o?1:E?Z(E,t)-Z(E,e):0;if(i===o)return a(t,e);for(n=t;n=n.parentNode;)s.unshift(n);for(n=e;n=n.parentNode;)u.unshift(n);for(;s[r]===u[r];)r++;return r?a(s[r],u[r]):s[r]===q?-1:u[r]===q?1:0},j):j},e.matches=function(t,n){return e(t,null,null,n)},e.matchesSelector=function(t,n){if((t.ownerDocument||t)!==j&&O(t),n=n.replace(ut,"='$1']"),_.matchesSelector&&D&&!W[n+" "]&&(!L||!L.test(n))&&(!I||!I.test(n)))try{var r=R.call(t,n);if(r||_.disconnectedMatch||t.document&&11!==t.document.nodeType)return r}catch(t){}return e(n,j,null,[t]).length>0},e.contains=function(t,e){return(t.ownerDocument||t)!==j&&O(t),P(t,e)},e.attr=function(t,e){(t.ownerDocument||t)!==j&&O(t);var n=w.attrHandle[e.toLowerCase()],r=n&&V.call(w.attrHandle,e.toLowerCase())?n(t,e,!D):void 0;return void 0!==r?r:_.attributes||!D?t.getAttribute(e):(r=t.getAttributeNode(e))&&r.specified?r.value:null},e.escape=function(t){return(t+"").replace(bt,_t)},e.error=function(t){throw new Error("Syntax error, unrecognized expression: "+t)},e.uniqueSort=function(t){var e,n=[],r=0,i=0;if(S=!_.detectDuplicates,E=!_.sortStable&&t.slice(0),t.sort(z),S){for(;e=t[i++];)e===t[i]&&(r=n.push(i));for(;r--;)t.splice(n[r],1)}return E=null,t},x=e.getText=function(t){var e,n="",r=0,i=t.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof t.textContent)return t.textContent;for(t=t.firstChild;t;t=t.nextSibling)n+=x(t)}else if(3===i||4===i)return t.nodeValue}else for(;e=t[r++];)n+=x(e);return n},w=e.selectors={cacheLength:50,createPseudo:r,match:ft,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(t){return t[1]=t[1].replace(mt,yt),t[3]=(t[3]||t[4]||t[5]||"").replace(mt,yt),"~="===t[2]&&(t[3]=" "+t[3]+" "),t.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||e.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&e.error(t[0]),t},PSEUDO:function(t){var e,n=!t[6]&&t[2];return ft.CHILD.test(t[0])?null:(t[3]?t[2]=t[4]||t[5]||"":n&&ct.test(n)&&(e=T(n,!0))&&(e=n.indexOf(")",n.length-e)-n.length)&&(t[0]=t[0].slice(0,e),t[2]=n.slice(0,e)),t.slice(0,3))}},filter:{TAG:function(t){var e=t.replace(mt,yt).toLowerCase();return"*"===t?function(){return!0}:function(t){return t.nodeName&&t.nodeName.toLowerCase()===e}},CLASS:function(t){var e=B[t+" "];return e||(e=new RegExp("(^|"+tt+")"+t+"("+tt+"|$)"))&&B(t,function(t){return e.test("string"==typeof t.className&&t.className||void 0!==t.getAttribute&&t.getAttribute("class")||"")})},ATTR:function(t,n,r){return function(i){var o=e.attr(i,t);return null==o?"!="===n:!n||(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o.replace(it," ")+" ").indexOf(r)>-1:"|="===n&&(o===r||o.slice(0,r.length+1)===r+"-"))}},CHILD:function(t,e,n,r,i){var o="nth"!==t.slice(0,3),a="last"!==t.slice(-4),s="of-type"===e;return 1===r&&0===i?function(t){return!!t.parentNode}:function(e,n,u){var c,l,f,p,d,h,v=o!==a?"nextSibling":"previousSibling",g=e.parentNode,m=s&&e.nodeName.toLowerCase(),y=!u&&!s,b=!1;if(g){if(o){for(;v;){for(p=e;p=p[v];)if(s?p.nodeName.toLowerCase()===m:1===p.nodeType)return!1;h=v="only"===t&&!h&&"nextSibling"}return!0}if(h=[a?g.firstChild:g.lastChild],a&&y){for(p=g,f=p[F]||(p[F]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),c=l[t]||[],d=c[0]===M&&c[1],b=d&&c[2],p=d&&g.childNodes[d];p=++d&&p&&p[v]||(b=d=0)||h.pop();)if(1===p.nodeType&&++b&&p===e){l[t]=[M,d,b];break}}else if(y&&(p=e,f=p[F]||(p[F]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),c=l[t]||[],d=c[0]===M&&c[1],b=d),!1===b)for(;(p=++d&&p&&p[v]||(b=d=0)||h.pop())&&((s?p.nodeName.toLowerCase()!==m:1!==p.nodeType)||!++b||(y&&(f=p[F]||(p[F]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),l[t]=[M,b]),p!==e)););return(b-=i)===r||b%r==0&&b/r>=0}}},PSEUDO:function(t,n){var i,o=w.pseudos[t]||w.setFilters[t.toLowerCase()]||e.error("unsupported pseudo: "+t);return o[F]?o(n):o.length>1?(i=[t,t,"",n],w.setFilters.hasOwnProperty(t.toLowerCase())?r(function(t,e){for(var r,i=o(t,n),a=i.length;a--;)r=Z(t,i[a]),t[r]=!(e[r]=i[a])}):function(t){return o(t,0,i)}):o}},pseudos:{not:r(function(t){var e=[],n=[],i=$(t.replace(ot,"$1"));return i[F]?r(function(t,e,n,r){for(var o,a=i(t,null,r,[]),s=t.length;s--;)(o=a[s])&&(t[s]=!(e[s]=o))}):function(t,r,o){return e[0]=t,i(e,null,o,n),e[0]=null,!n.pop()}}),has:r(function(t){return function(n){return e(t,n).length>0}}),contains:r(function(t){return t=t.replace(mt,yt),function(e){return(e.textContent||e.innerText||x(e)).indexOf(t)>-1}}),lang:r(function(t){return lt.test(t||"")||e.error("unsupported lang: "+t),t=t.replace(mt,yt).toLowerCase(),function(e){var n;do{if(n=D?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(n=n.toLowerCase())===t||0===n.indexOf(t+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var n=t.location&&t.location.hash;return n&&n.slice(1)===e.id},root:function(t){return t===N},focus:function(t){return t===j.activeElement&&(!j.hasFocus||j.hasFocus())&&!!(t.type||t.href||~t.tabIndex)},enabled:s(!1),disabled:s(!0),checked:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&!!t.checked||"option"===e&&!!t.selected},selected:function(t){return t.parentNode&&t.parentNode.selectedIndex,!0===t.selected},empty:function(t){for(t=t.firstChild;t;t=t.nextSibling)if(t.nodeType<6)return!1;return!0},parent:function(t){return!w.pseudos.empty(t)},header:function(t){return dt.test(t.nodeName)},input:function(t){return pt.test(t.nodeName)},button:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&"button"===t.type||"button"===e},text:function(t){var e;return"input"===t.nodeName.toLowerCase()&&"text"===t.type&&(null==(e=t.getAttribute("type"))||"text"===e.toLowerCase())},first:u(function(){return[0]}),last:u(function(t,e){return[e-1]}),eq:u(function(t,e,n){return[n<0?n+e:n]}),even:u(function(t,e){for(var n=0;n<e;n+=2)t.push(n);return t}),odd:u(function(t,e){for(var n=1;n<e;n+=2)t.push(n);return t}),lt:u(function(t,e,n){for(var r=n<0?n+e:n;--r>=0;)t.push(r);return t}),gt:u(function(t,e,n){for(var r=n<0?n+e:n;++r<e;)t.push(r);return t})}},w.pseudos.nth=w.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})w.pseudos[b]=function(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}(b);for(b in{submit:!0,reset:!0})w.pseudos[b]=function(t){return function(e){var n=e.nodeName.toLowerCase();return("input"===n||"button"===n)&&e.type===t}}(b);return l.prototype=w.filters=w.pseudos,w.setFilters=new l,T=e.tokenize=function(t,n){var r,i,o,a,s,u,c,l=U[t+" "];if(l)return n?0:l.slice(0);for(s=t,u=[],c=w.preFilter;s;){r&&!(i=at.exec(s))||(i&&(s=s.slice(i[0].length)||s),u.push(o=[])),r=!1,(i=st.exec(s))&&(r=i.shift(),o.push({value:r,type:i[0].replace(ot," ")}),s=s.slice(r.length));for(a in w.filter)!(i=ft[a].exec(s))||c[a]&&!(i=c[a](i))||(r=i.shift(),o.push({value:r,type:a,matches:i}),s=s.slice(r.length));if(!r)break}return n?s.length:s?e.error(t):U(t,u).slice(0)},$=e.compile=function(t,e){var n,r=[],i=[],o=W[t+" "];if(!o){for(e||(e=T(t)),n=e.length;n--;)o=m(e[n]),o[F]?r.push(o):i.push(o);o=W(t,y(i,r)),o.selector=t}return o},k=e.select=function(t,e,n,r){var i,o,a,s,u,l="function"==typeof t&&t,p=!r&&T(t=l.selector||t);if(n=n||[],1===p.length){if(o=p[0]=p[0].slice(0),o.length>2&&"ID"===(a=o[0]).type&&9===e.nodeType&&D&&w.relative[o[1].type]){if(!(e=(w.find.ID(a.matches[0].replace(mt,yt),e)||[])[0]))return n;l&&(e=e.parentNode),t=t.slice(o.shift().value.length)}for(i=ft.needsContext.test(t)?0:o.length;i--&&(a=o[i],!w.relative[s=a.type]);)if((u=w.find[s])&&(r=u(a.matches[0].replace(mt,yt),gt.test(o[0].type)&&c(e.parentNode)||e))){if(o.splice(i,1),!(t=r.length&&f(o)))return Q.apply(n,r),n;break}}return(l||$(t,p))(r,e,!D,n,!e||gt.test(t)&&c(e.parentNode)||e),n},_.sortStable=F.split("").sort(z).join("")===F,_.detectDuplicates=!!S,O(),_.sortDetached=i(function(t){return 1&t.compareDocumentPosition(j.createElement("fieldset"))}),i(function(t){return t.innerHTML="<a href='#'></a>","#"===t.firstChild.getAttribute("href")})||o("type|href|height|width",function(t,e,n){if(!n)return t.getAttribute(e,"type"===e.toLowerCase()?1:2)}),_.attributes&&i(function(t){return t.innerHTML="<input/>",t.firstChild.setAttribute("value",""),""===t.firstChild.getAttribute("value")})||o("value",function(t,e,n){if(!n&&"input"===t.nodeName.toLowerCase())return t.defaultValue}),i(function(t){return null==t.getAttribute("disabled")})||o(Y,function(t,e,n){var r;if(!n)return!0===t[e]?e.toLowerCase():(r=t.getAttributeNode(e))&&r.specified?r.value:null}),e}(n);yt.find=_t,yt.expr=_t.selectors,yt.expr[":"]=yt.expr.pseudos,yt.uniqueSort=yt.unique=_t.uniqueSort,yt.text=_t.getText,yt.isXMLDoc=_t.isXML,yt.contains=_t.contains,yt.escapeSelector=_t.escape;var wt=function(t,e,n){for(var r=[],i=void 0!==n;(t=t[e])&&9!==t.nodeType;)if(1===t.nodeType){if(i&&yt(t).is(n))break;r.push(t)}return r},xt=function(t,e){for(var n=[];t;t=t.nextSibling)1===t.nodeType&&t!==e&&n.push(t);return n},Ct=yt.expr.match.needsContext,Tt=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,$t=/^.[^:#\[\.,]*$/;yt.filter=function(t,e,n){var r=e[0];return n&&(t=":not("+t+")"),1===e.length&&1===r.nodeType?yt.find.matchesSelector(r,t)?[r]:[]:yt.find.matches(t,yt.grep(e,function(t){return 1===t.nodeType}))},yt.fn.extend({find:function(t){var e,n,r=this.length,i=this;if("string"!=typeof t)return this.pushStack(yt(t).filter(function(){for(e=0;e<r;e++)if(yt.contains(i[e],this))return!0}));for(n=this.pushStack([]),e=0;e<r;e++)yt.find(t,i[e],n);return r>1?yt.uniqueSort(n):n},filter:function(t){return this.pushStack(c(this,t||[],!1))},not:function(t){return this.pushStack(c(this,t||[],!0))},is:function(t){return!!c(this,"string"==typeof t&&Ct.test(t)?yt(t):t||[],!1).length}});var kt,At=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(yt.fn.init=function(t,e,n){var r,i;if(!t)return this;if(n=n||kt,"string"==typeof t){if(!(r="<"===t[0]&&">"===t[t.length-1]&&t.length>=3?[null,t,null]:At.exec(t))||!r[1]&&e)return!e||e.jquery?(e||n).find(t):this.constructor(e).find(t);if(r[1]){if(e=e instanceof yt?e[0]:e,yt.merge(this,yt.parseHTML(r[1],e&&e.nodeType?e.ownerDocument||e:at,!0)),Tt.test(r[1])&&yt.isPlainObject(e))for(r in e)yt.isFunction(this[r])?this[r](e[r]):this.attr(r,e[r]);return this}return i=at.getElementById(r[2]),i&&(this[0]=i,this.length=1),this}return t.nodeType?(this[0]=t,this.length=1,this):yt.isFunction(t)?void 0!==n.ready?n.ready(t):t(yt):yt.makeArray(t,this)}).prototype=yt.fn,kt=yt(at);var Et=/^(?:parents|prev(?:Until|All))/,St={children:!0,contents:!0,next:!0,prev:!0};yt.fn.extend({has:function(t){var e=yt(t,this),n=e.length;return this.filter(function(){for(var t=0;t<n;t++)if(yt.contains(this,e[t]))return!0})},closest:function(t,e){var n,r=0,i=this.length,o=[],a="string"!=typeof t&&yt(t);if(!Ct.test(t))for(;r<i;r++)for(n=this[r];n&&n!==e;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&yt.find.matchesSelector(n,t))){o.push(n);break}return this.pushStack(o.length>1?yt.uniqueSort(o):o)},index:function(t){return t?"string"==typeof t?ft.call(yt(t),this[0]):ft.call(this,t.jquery?t[0]:t):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(t,e){return this.pushStack(yt.uniqueSort(yt.merge(this.get(),yt(t,e))))},addBack:function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}}),yt.each({parent:function(t){var e=t.parentNode;return e&&11!==e.nodeType?e:null},parents:function(t){return wt(t,"parentNode")},parentsUntil:function(t,e,n){return wt(t,"parentNode",n)},next:function(t){return l(t,"nextSibling")},prev:function(t){return l(t,"previousSibling")},nextAll:function(t){return wt(t,"nextSibling")},prevAll:function(t){return wt(t,"previousSibling")},nextUntil:function(t,e,n){return wt(t,"nextSibling",n)},prevUntil:function(t,e,n){return wt(t,"previousSibling",n)},siblings:function(t){return xt((t.parentNode||{}).firstChild,t)},children:function(t){return xt(t.firstChild)},contents:function(t){return u(t,"iframe")?t.contentDocument:(u(t,"template")&&(t=t.content||t),yt.merge([],t.childNodes))}},function(t,e){yt.fn[t]=function(n,r){var i=yt.map(this,e,n);return"Until"!==t.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=yt.filter(r,i)),this.length>1&&(St[t]||yt.uniqueSort(i),Et.test(t)&&i.reverse()),this.pushStack(i)}});var Ot=/[^\x20\t\r\n\f]+/g;yt.Callbacks=function(t){t="string"==typeof t?f(t):yt.extend({},t);var e,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||t.once,r=e=!0;a.length;s=-1)for(n=a.shift();++s<o.length;)!1===o[s].apply(n[0],n[1])&&t.stopOnFalse&&(s=o.length,n=!1);t.memory||(n=!1),e=!1,i&&(o=n?[]:"")},c={add:function(){return o&&(n&&!e&&(s=o.length-1,a.push(n)),function e(n){yt.each(n,function(n,r){yt.isFunction(r)?t.unique&&c.has(r)||o.push(r):r&&r.length&&"string"!==yt.type(r)&&e(r)})}(arguments),n&&!e&&u()),this},remove:function(){return yt.each(arguments,function(t,e){for(var n;(n=yt.inArray(e,o,n))>-1;)o.splice(n,1),n<=s&&s--}),this},has:function(t){return t?yt.inArray(t,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||e||(o=n=""),this},locked:function(){return!!i},fireWith:function(t,n){return i||(n=n||[],n=[t,n.slice?n.slice():n],a.push(n),e||u()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},yt.extend({Deferred:function(t){var e=[["notify","progress",yt.Callbacks("memory"),yt.Callbacks("memory"),2],["resolve","done",yt.Callbacks("once memory"),yt.Callbacks("once memory"),0,"resolved"],["reject","fail",yt.Callbacks("once memory"),yt.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(t){return i.then(null,t)},pipe:function(){var t=arguments;return yt.Deferred(function(n){yt.each(e,function(e,r){var i=yt.isFunction(t[r[4]])&&t[r[4]];o[r[1]](function(){var t=i&&i.apply(this,arguments);t&&yt.isFunction(t.promise)?t.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[r[0]+"With"](this,i?[t]:arguments)})}),t=null}).promise()},then:function(t,r,i){function o(t,e,r,i){return function(){var s=this,u=arguments,c=function(){var n,c;if(!(t<a)){if((n=r.apply(s,u))===e.promise())throw new TypeError("Thenable self-resolution");c=n&&("object"==typeof n||"function"==typeof n)&&n.then,yt.isFunction(c)?i?c.call(n,o(a,e,p,i),o(a,e,d,i)):(a++,c.call(n,o(a,e,p,i),o(a,e,d,i),o(a,e,p,e.notifyWith))):(r!==p&&(s=void 0,u=[n]),(i||e.resolveWith)(s,u))}},l=i?c:function(){try{c()}catch(n){yt.Deferred.exceptionHook&&yt.Deferred.exceptionHook(n,l.stackTrace),t+1>=a&&(r!==d&&(s=void 0,u=[n]),e.rejectWith(s,u))}};t?l():(yt.Deferred.getStackHook&&(l.stackTrace=yt.Deferred.getStackHook()),n.setTimeout(l))}}var a=0;return yt.Deferred(function(n){e[0][3].add(o(0,n,yt.isFunction(i)?i:p,n.notifyWith)),e[1][3].add(o(0,n,yt.isFunction(t)?t:p)),e[2][3].add(o(0,n,yt.isFunction(r)?r:d))}).promise()},promise:function(t){return null!=t?yt.extend(t,i):i}},o={};return yt.each(e,function(t,n){var a=n[2],s=n[5];i[n[1]]=a.add,s&&a.add(function(){r=s},e[3-t][2].disable,e[0][2].lock),a.add(n[3].fire),o[n[0]]=function(){return o[n[0]+"With"](this===o?void 0:this,arguments),this},o[n[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(t){var e=arguments.length,n=e,r=Array(n),i=ut.call(arguments),o=yt.Deferred(),a=function(t){return function(n){r[t]=this,i[t]=arguments.length>1?ut.call(arguments):n,--e||o.resolveWith(r,i)}};if(e<=1&&(h(t,o.done(a(n)).resolve,o.reject,!e),"pending"===o.state()||yt.isFunction(i[n]&&i[n].then)))return o.then();for(;n--;)h(i[n],a(n),o.reject);return o.promise()}});var jt=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;yt.Deferred.exceptionHook=function(t,e){n.console&&n.console.warn&&t&&jt.test(t.name)&&n.console.warn("jQuery.Deferred exception: "+t.message,t.stack,e)},yt.readyException=function(t){n.setTimeout(function(){throw t})};var Nt=yt.Deferred();yt.fn.ready=function(t){return Nt.then(t).catch(function(t){yt.readyException(t)}),this},yt.extend({isReady:!1,readyWait:1,ready:function(t){(!0===t?--yt.readyWait:yt.isReady)||(yt.isReady=!0,!0!==t&&--yt.readyWait>0||Nt.resolveWith(at,[yt]))}}),yt.ready.then=Nt.then,"complete"===at.readyState||"loading"!==at.readyState&&!at.documentElement.doScroll?n.setTimeout(yt.ready):(at.addEventListener("DOMContentLoaded",v),n.addEventListener("load",v));var Dt=function(t,e,n,r,i,o,a){var s=0,u=t.length,c=null==n;if("object"===yt.type(n)){i=!0;for(s in n)Dt(t,e,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,yt.isFunction(r)||(a=!0),c&&(a?(e.call(t,r),e=null):(c=e,e=function(t,e,n){return c.call(yt(t),n)})),e))for(;s<u;s++)e(t[s],n,a?r:r.call(t[s],s,e(t[s],n)));return i?t:c?e.call(t):u?e(t[0],n):o},It=function(t){return 1===t.nodeType||9===t.nodeType||!+t.nodeType};g.uid=1,g.prototype={cache:function(t){var e=t[this.expando];return e||(e={},It(t)&&(t.nodeType?t[this.expando]=e:Object.defineProperty(t,this.expando,{value:e,configurable:!0}))),e},set:function(t,e,n){var r,i=this.cache(t);if("string"==typeof e)i[yt.camelCase(e)]=n;else for(r in e)i[yt.camelCase(r)]=e[r];return i},get:function(t,e){return void 0===e?this.cache(t):t[this.expando]&&t[this.expando][yt.camelCase(e)]},access:function(t,e,n){return void 0===e||e&&"string"==typeof e&&void 0===n?this.get(t,e):(this.set(t,e,n),void 0!==n?n:e)},remove:function(t,e){var n,r=t[this.expando];if(void 0!==r){if(void 0!==e){Array.isArray(e)?e=e.map(yt.camelCase):(e=yt.camelCase(e),e=e in r?[e]:e.match(Ot)||[]),n=e.length;for(;n--;)delete r[e[n]]}(void 0===e||yt.isEmptyObject(r))&&(t.nodeType?t[this.expando]=void 0:delete t[this.expando])}},hasData:function(t){var e=t[this.expando];return void 0!==e&&!yt.isEmptyObject(e)}};var Lt=new g,Rt=new g,Pt=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Ft=/[A-Z]/g;yt.extend({hasData:function(t){return Rt.hasData(t)||Lt.hasData(t)},data:function(t,e,n){return Rt.access(t,e,n)},removeData:function(t,e){Rt.remove(t,e)},_data:function(t,e,n){return Lt.access(t,e,n)},_removeData:function(t,e){Lt.remove(t,e)}}),yt.fn.extend({data:function(t,e){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===t){if(this.length&&(i=Rt.get(o),1===o.nodeType&&!Lt.get(o,"hasDataAttrs"))){for(n=a.length;n--;)a[n]&&(r=a[n].name,0===r.indexOf("data-")&&(r=yt.camelCase(r.slice(5)),y(o,r,i[r])));Lt.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof t?this.each(function(){Rt.set(this,t)}):Dt(this,function(e){var n;if(o&&void 0===e){if(void 0!==(n=Rt.get(o,t)))return n;if(void 0!==(n=y(o,t)))return n}else this.each(function(){Rt.set(this,t,e)})},null,e,arguments.length>1,null,!0)},removeData:function(t){return this.each(function(){Rt.remove(this,t)})}}),yt.extend({queue:function(t,e,n){var r;if(t)return e=(e||"fx")+"queue",r=Lt.get(t,e),n&&(!r||Array.isArray(n)?r=Lt.access(t,e,yt.makeArray(n)):r.push(n)),r||[]},dequeue:function(t,e){e=e||"fx";var n=yt.queue(t,e),r=n.length,i=n.shift(),o=yt._queueHooks(t,e),a=function(){yt.dequeue(t,e)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===e&&n.unshift("inprogress"),delete o.stop,i.call(t,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(t,e){var n=e+"queueHooks";return Lt.get(t,n)||Lt.access(t,n,{empty:yt.Callbacks("once memory").add(function(){Lt.remove(t,[e+"queue",n])})})}}),yt.fn.extend({queue:function(t,e){var n=2;return"string"!=typeof t&&(e=t,t="fx",n--),arguments.length<n?yt.queue(this[0],t):void 0===e?this:this.each(function(){var n=yt.queue(this,t,e);yt._queueHooks(this,t),"fx"===t&&"inprogress"!==n[0]&&yt.dequeue(this,t)})},dequeue:function(t){return this.each(function(){yt.dequeue(this,t)})},clearQueue:function(t){return this.queue(t||"fx",[])},promise:function(t,e){var n,r=1,i=yt.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};for("string"!=typeof t&&(e=t,t=void 0),t=t||"fx";a--;)(n=Lt.get(o[a],t+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(e)}});var qt=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Mt=new RegExp("^(?:([+-])=|)("+qt+")([a-z%]*)$","i"),Ht=["Top","Right","Bottom","Left"],Bt=function(t,e){return t=e||t,"none"===t.style.display||""===t.style.display&&yt.contains(t.ownerDocument,t)&&"none"===yt.css(t,"display")},Ut=function(t,e,n,r){var i,o,a={};for(o in e)a[o]=t.style[o],t.style[o]=e[o];i=n.apply(t,r||[]);for(o in e)t.style[o]=a[o];return i},Wt={};yt.fn.extend({show:function(){return w(this,!0)},hide:function(){return w(this)},toggle:function(t){return"boolean"==typeof t?t?this.show():this.hide():this.each(function(){Bt(this)?yt(this).show():yt(this).hide()})}});var zt=/^(?:checkbox|radio)$/i,Vt=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,Xt=/^$|\/(?:java|ecma)script/i,Kt={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};Kt.optgroup=Kt.option,Kt.tbody=Kt.tfoot=Kt.colgroup=Kt.caption=Kt.thead,Kt.th=Kt.td;var Jt=/<|&#?\w+;/;!function(){var t=at.createDocumentFragment(),e=t.appendChild(at.createElement("div")),n=at.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),e.appendChild(n),mt.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="<textarea>x</textarea>",mt.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var Qt=at.documentElement,Gt=/^key/,Zt=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Yt=/^([^.]*)(?:\.(.+)|)/;yt.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,c,l,f,p,d,h,v,g=Lt.get(t);if(g)for(n.handler&&(o=n,n=o.handler,i=o.selector),i&&yt.find.matchesSelector(Qt,i),n.guid||(n.guid=yt.guid++),(u=g.events)||(u=g.events={}),(a=g.handle)||(a=g.handle=function(e){return void 0!==yt&&yt.event.triggered!==e.type?yt.event.dispatch.apply(t,arguments):void 0}),e=(e||"").match(Ot)||[""],c=e.length;c--;)s=Yt.exec(e[c])||[],d=v=s[1],h=(s[2]||"").split(".").sort(),d&&(f=yt.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=yt.event.special[d]||{},l=yt.extend({type:d,origType:v,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&yt.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||(p=u[d]=[],p.delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,l),l.handler.guid||(l.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,l):p.push(l),yt.event.global[d]=!0)},remove:function(t,e,n,r,i){var o,a,s,u,c,l,f,p,d,h,v,g=Lt.hasData(t)&&Lt.get(t);if(g&&(u=g.events)){for(e=(e||"").match(Ot)||[""],c=e.length;c--;)if(s=Yt.exec(e[c])||[],d=v=s[1],h=(s[2]||"").split(".").sort(),d){for(f=yt.event.special[d]||{},d=(r?f.delegateType:f.bindType)||d,p=u[d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)l=p[o],!i&&v!==l.origType||n&&n.guid!==l.guid||s&&!s.test(l.namespace)||r&&r!==l.selector&&("**"!==r||!l.selector)||(p.splice(o,1),l.selector&&p.delegateCount--,f.remove&&f.remove.call(t,l));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(t,h,g.handle)||yt.removeEvent(t,d,g.handle),delete u[d])}else for(d in u)yt.event.remove(t,d+e[c],n,r,!0);yt.isEmptyObject(u)&&Lt.remove(t,"handle events")}},dispatch:function(t){var e,n,r,i,o,a,s=yt.event.fix(t),u=new Array(arguments.length),c=(Lt.get(this,"events")||{})[s.type]||[],l=yt.event.special[s.type]||{};for(u[0]=s,e=1;e<arguments.length;e++)u[e]=arguments[e];if(s.delegateTarget=this,!l.preDispatch||!1!==l.preDispatch.call(this,s)){for(a=yt.event.handlers.call(this,s,c),e=0;(i=a[e++])&&!s.isPropagationStopped();)for(s.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!s.isImmediatePropagationStopped();)s.rnamespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((yt.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()));return l.postDispatch&&l.postDispatch.call(this,s),s.result}},handlers:function(t,e){var n,r,i,o,a,s=[],u=e.delegateCount,c=t.target;if(u&&c.nodeType&&!("click"===t.type&&t.button>=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==t.type||!0!==c.disabled)){for(o=[],a={},n=0;n<u;n++)r=e[n],i=r.selector+" ",void 0===a[i]&&(a[i]=r.needsContext?yt(i,this).index(c)>-1:yt.find(i,this,null,[c]).length),a[i]&&o.push(r);o.length&&s.push({elem:c,handlers:o})}return c=this,u<e.length&&s.push({elem:c,handlers:e.slice(u)}),s},addProp:function(t,e){Object.defineProperty(yt.Event.prototype,t,{enumerable:!0,configurable:!0,get:yt.isFunction(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(t){return t[yt.expando]?t:new yt.Event(t)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==A()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===A()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&u(this,"input"))return this.click(),!1},_default:function(t){return u(t.target,"a")}},beforeunload:{postDispatch:function(t){void 0!==t.result&&t.originalEvent&&(t.originalEvent.returnValue=t.result)}}}},yt.removeEvent=function(t,e,n){t.removeEventListener&&t.removeEventListener(e,n)},yt.Event=function(t,e){if(!(this instanceof yt.Event))return new yt.Event(t,e);t&&t.type?(this.originalEvent=t,this.type=t.type,this.isDefaultPrevented=t.defaultPrevented||void 0===t.defaultPrevented&&!1===t.returnValue?$:k,this.target=t.target&&3===t.target.nodeType?t.target.parentNode:t.target,this.currentTarget=t.currentTarget,this.relatedTarget=t.relatedTarget):this.type=t,e&&yt.extend(this,e),this.timeStamp=t&&t.timeStamp||yt.now(),this[yt.expando]=!0},yt.Event.prototype={constructor:yt.Event,isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k,isSimulated:!1,preventDefault:function(){var t=this.originalEvent;this.isDefaultPrevented=$,t&&!this.isSimulated&&t.preventDefault()},stopPropagation:function(){var t=this.originalEvent;this.isPropagationStopped=$,t&&!this.isSimulated&&t.stopPropagation()},stopImmediatePropagation:function(){var t=this.originalEvent;this.isImmediatePropagationStopped=$,t&&!this.isSimulated&&t.stopImmediatePropagation(),this.stopPropagation()}},yt.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(t){var e=t.button;return null==t.which&&Gt.test(t.type)?null!=t.charCode?t.charCode:t.keyCode:!t.which&&void 0!==e&&Zt.test(t.type)?1&e?1:2&e?3:4&e?2:0:t.which}},yt.event.addProp),yt.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(t,e){yt.event.special[t]={delegateType:e,bindType:e,handle:function(t){var n,r=this,i=t.relatedTarget,o=t.handleObj;return i&&(i===r||yt.contains(r,i))||(t.type=o.origType,n=o.handler.apply(this,arguments),t.type=e),n}}}),yt.fn.extend({on:function(t,e,n,r){return E(this,t,e,n,r)},one:function(t,e,n,r){return E(this,t,e,n,r,1)},off:function(t,e,n){var r,i;if(t&&t.preventDefault&&t.handleObj)return r=t.handleObj,yt(t.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof t){for(i in t)this.off(i,e,t[i]);return this}return!1!==e&&"function"!=typeof e||(n=e,e=void 0),!1===n&&(n=k),this.each(function(){yt.event.remove(this,t,n,e)})}});var te=/<script|<style|<link/i,ee=/checked\s*(?:[^=]|=\s*.checked.)/i,ne=/^true\/(.*)/,re=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;yt.extend({htmlPrefilter:function(t){return t.replace(/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,"<$1></$2>")},clone:function(t,e,n){var r,i,o,a,s=t.cloneNode(!0),u=yt.contains(t.ownerDocument,t);if(!(mt.noCloneChecked||1!==t.nodeType&&11!==t.nodeType||yt.isXMLDoc(t)))for(a=x(s),o=x(t),r=0,i=o.length;r<i;r++)D(o[r],a[r]);if(e)if(n)for(o=o||x(t),a=a||x(s),r=0,i=o.length;r<i;r++)N(o[r],a[r]);else N(t,s);return a=x(s,"script"),a.length>0&&C(a,!u&&x(t,"script")),s},cleanData:function(t){for(var e,n,r,i=yt.event.special,o=0;void 0!==(n=t[o]);o++)if(It(n)){if(e=n[Lt.expando]){if(e.events)for(r in e.events)i[r]?yt.event.remove(n,r):yt.removeEvent(n,r,e.handle);n[Lt.expando]=void 0}n[Rt.expando]&&(n[Rt.expando]=void 0)}}}),yt.fn.extend({detach:function(t){return L(this,t,!0)},remove:function(t){return L(this,t)},text:function(t){return Dt(this,function(t){return void 0===t?yt.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=t)})},null,t,arguments.length)},append:function(){return I(this,arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){S(this,t).appendChild(t)}})},prepend:function(){return I(this,arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var e=S(this,t);e.insertBefore(t,e.firstChild)}})},before:function(){return I(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this)})},after:function(){return I(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this.nextSibling)})},empty:function(){for(var t,e=0;null!=(t=this[e]);e++)1===t.nodeType&&(yt.cleanData(x(t,!1)),t.textContent="");return this},clone:function(t,e){return t=null!=t&&t,e=null==e?t:e,this.map(function(){return yt.clone(this,t,e)})},html:function(t){return Dt(this,function(t){var e=this[0]||{},n=0,r=this.length;if(void 0===t&&1===e.nodeType)return e.innerHTML;if("string"==typeof t&&!te.test(t)&&!Kt[(Vt.exec(t)||["",""])[1].toLowerCase()]){t=yt.htmlPrefilter(t);try{for(;n<r;n++)e=this[n]||{},1===e.nodeType&&(yt.cleanData(x(e,!1)),e.innerHTML=t);e=0}catch(t){}}e&&this.empty().append(t)},null,t,arguments.length)},replaceWith:function(){var t=[];return I(this,arguments,function(e){var n=this.parentNode;yt.inArray(this,t)<0&&(yt.cleanData(x(this)),n&&n.replaceChild(e,this))},t)}}),yt.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(t,e){yt.fn[t]=function(t){for(var n,r=[],i=yt(t),o=i.length-1,a=0;a<=o;a++)n=a===o?this:this.clone(!0),yt(i[a])[e](n),lt.apply(r,n.get());return this.pushStack(r)}});var ie=/^margin/,oe=new RegExp("^("+qt+")(?!px)[a-z%]+$","i"),ae=function(t){var e=t.ownerDocument.defaultView;return e&&e.opener||(e=n),e.getComputedStyle(t)};!function(){function t(){if(s){s.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",s.innerHTML="",Qt.appendChild(a);var t=n.getComputedStyle(s);e="1%"!==t.top,o="2px"===t.marginLeft,r="4px"===t.width,s.style.marginRight="50%",i="4px"===t.marginRight,Qt.removeChild(a),s=null}}var e,r,i,o,a=at.createElement("div"),s=at.createElement("div");s.style&&(s.style.backgroundClip="content-box",s.cloneNode(!0).style.backgroundClip="",mt.clearCloneStyle="content-box"===s.style.backgroundClip,a.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",a.appendChild(s),yt.extend(mt,{pixelPosition:function(){return t(),e},boxSizingReliable:function(){return t(),r},pixelMarginRight:function(){return t(),i},reliableMarginLeft:function(){return t(),o}}))}();var se=/^(none|table(?!-c[ea]).+)/,ue=/^--/,ce={position:"absolute",visibility:"hidden",display:"block"},le={letterSpacing:"0",fontWeight:"400"},fe=["Webkit","Moz","ms"],pe=at.createElement("div").style;yt.extend({cssHooks:{opacity:{get:function(t,e){if(e){var n=R(t,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:"cssFloat"},style:function(t,e,n,r){if(t&&3!==t.nodeType&&8!==t.nodeType&&t.style){var i,o,a,s=yt.camelCase(e),u=ue.test(e),c=t.style;if(u||(e=q(s)),a=yt.cssHooks[e]||yt.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(t,!1,r))?i:c[e];o=typeof n,"string"===o&&(i=Mt.exec(n))&&i[1]&&(n=b(t,e,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(yt.cssNumber[s]?"":"px")),mt.clearCloneStyle||""!==n||0!==e.indexOf("background")||(c[e]="inherit"),a&&"set"in a&&void 0===(n=a.set(t,n,r))||(u?c.setProperty(e,n):c[e]=n))}},css:function(t,e,n,r){var i,o,a,s=yt.camelCase(e);return ue.test(e)||(e=q(s)),a=yt.cssHooks[e]||yt.cssHooks[s],a&&"get"in a&&(i=a.get(t,!0,n)),void 0===i&&(i=R(t,e,r)),"normal"===i&&e in le&&(i=le[e]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),yt.each(["height","width"],function(t,e){yt.cssHooks[e]={get:function(t,n,r){if(n)return!se.test(yt.css(t,"display"))||t.getClientRects().length&&t.getBoundingClientRect().width?B(t,e,r):Ut(t,ce,function(){return B(t,e,r)})},set:function(t,n,r){var i,o=r&&ae(t),a=r&&H(t,e,r,"border-box"===yt.css(t,"boxSizing",!1,o),o);return a&&(i=Mt.exec(n))&&"px"!==(i[3]||"px")&&(t.style[e]=n,n=yt.css(t,e)),M(t,n,a)}}}),yt.cssHooks.marginLeft=P(mt.reliableMarginLeft,function(t,e){if(e)return(parseFloat(R(t,"marginLeft"))||t.getBoundingClientRect().left-Ut(t,{marginLeft:0},function(){return t.getBoundingClientRect().left}))+"px"}),yt.each({margin:"",padding:"",border:"Width"},function(t,e){yt.cssHooks[t+e]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[t+Ht[r]+e]=o[r]||o[r-2]||o[0];return i}},ie.test(t)||(yt.cssHooks[t+e].set=M)}),yt.fn.extend({css:function(t,e){return Dt(this,function(t,e,n){var r,i,o={},a=0;if(Array.isArray(e)){for(r=ae(t),i=e.length;a<i;a++)o[e[a]]=yt.css(t,e[a],!1,r);return o}return void 0!==n?yt.style(t,e,n):yt.css(t,e)},t,e,arguments.length>1)}}),yt.Tween=U,U.prototype={constructor:U,init:function(t,e,n,r,i,o){this.elem=t,this.prop=n,this.easing=i||yt.easing._default,this.options=e,this.start=this.now=this.cur(),this.end=r,this.unit=o||(yt.cssNumber[n]?"":"px")},cur:function(){var t=U.propHooks[this.prop];return t&&t.get?t.get(this):U.propHooks._default.get(this)},run:function(t){var e,n=U.propHooks[this.prop];return this.options.duration?this.pos=e=yt.easing[this.easing](t,this.options.duration*t,0,1,this.options.duration):this.pos=e=t,this.now=(this.end-this.start)*e+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):U.propHooks._default.set(this),this}},U.prototype.init.prototype=U.prototype,U.propHooks={_default:{get:function(t){var e;return 1!==t.elem.nodeType||null!=t.elem[t.prop]&&null==t.elem.style[t.prop]?t.elem[t.prop]:(e=yt.css(t.elem,t.prop,""),e&&"auto"!==e?e:0)},set:function(t){yt.fx.step[t.prop]?yt.fx.step[t.prop](t):1!==t.elem.nodeType||null==t.elem.style[yt.cssProps[t.prop]]&&!yt.cssHooks[t.prop]?t.elem[t.prop]=t.now:yt.style(t.elem,t.prop,t.now+t.unit)}}},U.propHooks.scrollTop=U.propHooks.scrollLeft={set:function(t){t.elem.nodeType&&t.elem.parentNode&&(t.elem[t.prop]=t.now)}},yt.easing={linear:function(t){return t},swing:function(t){return.5-Math.cos(t*Math.PI)/2},_default:"swing"},yt.fx=U.prototype.init,yt.fx.step={};var de,he,ve=/^(?:toggle|show|hide)$/,ge=/queueHooks$/;yt.Animation=yt.extend(Q,{tweeners:{"*":[function(t,e){var n=this.createTween(t,e);return b(n.elem,t,Mt.exec(e),n),n}]},tweener:function(t,e){yt.isFunction(t)?(e=t,t=["*"]):t=t.match(Ot);for(var n,r=0,i=t.length;r<i;r++)n=t[r],Q.tweeners[n]=Q.tweeners[n]||[],Q.tweeners[n].unshift(e)},prefilters:[K],prefilter:function(t,e){e?Q.prefilters.unshift(t):Q.prefilters.push(t)}}),yt.speed=function(t,e,n){var r=t&&"object"==typeof t?yt.extend({},t):{complete:n||!n&&e||yt.isFunction(t)&&t,duration:t,easing:n&&e||e&&!yt.isFunction(e)&&e};return yt.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in yt.fx.speeds?r.duration=yt.fx.speeds[r.duration]:r.duration=yt.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){yt.isFunction(r.old)&&r.old.call(this),r.queue&&yt.dequeue(this,r.queue)},r},yt.fn.extend({fadeTo:function(t,e,n,r){return this.filter(Bt).css("opacity",0).show().end().animate({opacity:e},t,n,r)},animate:function(t,e,n,r){var i=yt.isEmptyObject(t),o=yt.speed(e,n,r),a=function(){var e=Q(this,yt.extend({},t),o);(i||Lt.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(t,e,n){var r=function(t){var e=t.stop;delete t.stop,e(n)};return"string"!=typeof t&&(n=e,e=t,t=void 0),e&&!1!==t&&this.queue(t||"fx",[]),this.each(function(){var e=!0,i=null!=t&&t+"queueHooks",o=yt.timers,a=Lt.get(this);if(i)a[i]&&a[i].stop&&r(a[i]);else for(i in a)a[i]&&a[i].stop&&ge.test(i)&&r(a[i]);for(i=o.length;i--;)o[i].elem!==this||null!=t&&o[i].queue!==t||(o[i].anim.stop(n),e=!1,o.splice(i,1));!e&&n||yt.dequeue(this,t)})},finish:function(t){return!1!==t&&(t=t||"fx"),this.each(function(){var e,n=Lt.get(this),r=n[t+"queue"],i=n[t+"queueHooks"],o=yt.timers,a=r?r.length:0;for(n.finish=!0,yt.queue(this,t,[]),i&&i.stop&&i.stop.call(this,!0),e=o.length;e--;)o[e].elem===this&&o[e].queue===t&&(o[e].anim.stop(!0),o.splice(e,1));for(e=0;e<a;e++)r[e]&&r[e].finish&&r[e].finish.call(this);delete n.finish})}}),yt.each(["toggle","show","hide"],function(t,e){var n=yt.fn[e];yt.fn[e]=function(t,r,i){return null==t||"boolean"==typeof t?n.apply(this,arguments):this.animate(V(e,!0),t,r,i)}}),yt.each({slideDown:V("show"),slideUp:V("hide"),slideToggle:V("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(t,e){yt.fn[t]=function(t,n,r){return this.animate(e,t,n,r)}}),yt.timers=[],yt.fx.tick=function(){var t,e=0,n=yt.timers;for(de=yt.now();e<n.length;e++)(t=n[e])()||n[e]!==t||n.splice(e--,1);n.length||yt.fx.stop(),de=void 0},yt.fx.timer=function(t){yt.timers.push(t),yt.fx.start()},yt.fx.interval=13,yt.fx.start=function(){he||(he=!0,W())},yt.fx.stop=function(){he=null},yt.fx.speeds={slow:600,fast:200,_default:400},yt.fn.delay=function(t,e){return t=yt.fx?yt.fx.speeds[t]||t:t,e=e||"fx",this.queue(e,function(e,r){var i=n.setTimeout(e,t);r.stop=function(){n.clearTimeout(i)}})},function(){var t=at.createElement("input"),e=at.createElement("select"),n=e.appendChild(at.createElement("option"));t.type="checkbox",mt.checkOn=""!==t.value,mt.optSelected=n.selected,t=at.createElement("input"),t.value="t",t.type="radio",mt.radioValue="t"===t.value}();var me,ye=yt.expr.attrHandle;yt.fn.extend({attr:function(t,e){return Dt(this,yt.attr,t,e,arguments.length>1)},removeAttr:function(t){return this.each(function(){yt.removeAttr(this,t)})}}),yt.extend({attr:function(t,e,n){var r,i,o=t.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===t.getAttribute?yt.prop(t,e,n):(1===o&&yt.isXMLDoc(t)||(i=yt.attrHooks[e.toLowerCase()]||(yt.expr.match.bool.test(e)?me:void 0)),void 0!==n?null===n?void yt.removeAttr(t,e):i&&"set"in i&&void 0!==(r=i.set(t,n,e))?r:(t.setAttribute(e,n+""),n):i&&"get"in i&&null!==(r=i.get(t,e))?r:(r=yt.find.attr(t,e),null==r?void 0:r))},attrHooks:{type:{set:function(t,e){if(!mt.radioValue&&"radio"===e&&u(t,"input")){var n=t.value;return t.setAttribute("type",e),n&&(t.value=n),e}}}},removeAttr:function(t,e){var n,r=0,i=e&&e.match(Ot);if(i&&1===t.nodeType)for(;n=i[r++];)t.removeAttribute(n)}}),me={set:function(t,e,n){return!1===e?yt.removeAttr(t,n):t.setAttribute(n,n),n}},yt.each(yt.expr.match.bool.source.match(/\w+/g),function(t,e){var n=ye[e]||yt.find.attr;ye[e]=function(t,e,r){var i,o,a=e.toLowerCase();return r||(o=ye[a],ye[a]=i,i=null!=n(t,e,r)?a:null,ye[a]=o),i}});var be=/^(?:input|select|textarea|button)$/i,_e=/^(?:a|area)$/i;yt.fn.extend({prop:function(t,e){return Dt(this,yt.prop,t,e,arguments.length>1)},removeProp:function(t){return this.each(function(){delete this[yt.propFix[t]||t]})}}),yt.extend({prop:function(t,e,n){var r,i,o=t.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&yt.isXMLDoc(t)||(e=yt.propFix[e]||e,i=yt.propHooks[e]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(t,n,e))?r:t[e]=n:i&&"get"in i&&null!==(r=i.get(t,e))?r:t[e]},propHooks:{tabIndex:{get:function(t){var e=yt.find.attr(t,"tabindex");return e?parseInt(e,10):be.test(t.nodeName)||_e.test(t.nodeName)&&t.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),mt.optSelected||(yt.propHooks.selected={get:function(t){var e=t.parentNode;return e&&e.parentNode&&e.parentNode.selectedIndex,null},set:function(t){var e=t.parentNode;e&&(e.selectedIndex,e.parentNode&&e.parentNode.selectedIndex)}}),yt.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){yt.propFix[this.toLowerCase()]=this}),yt.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(yt.isFunction(t))return this.each(function(e){yt(this).addClass(t.call(this,e,Z(this)))});if("string"==typeof t&&t)for(e=t.match(Ot)||[];n=this[u++];)if(i=Z(n),r=1===n.nodeType&&" "+G(i)+" "){for(a=0;o=e[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");s=G(r),i!==s&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(yt.isFunction(t))return this.each(function(e){yt(this).removeClass(t.call(this,e,Z(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof t&&t)for(e=t.match(Ot)||[];n=this[u++];)if(i=Z(n),r=1===n.nodeType&&" "+G(i)+" "){for(a=0;o=e[a++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");s=G(r),i!==s&&n.setAttribute("class",s)}return this},toggleClass:function(t,e){var n=typeof t;return"boolean"==typeof e&&"string"===n?e?this.addClass(t):this.removeClass(t):yt.isFunction(t)?this.each(function(n){yt(this).toggleClass(t.call(this,n,Z(this),e),e)}):this.each(function(){var e,r,i,o;if("string"===n)for(r=0,i=yt(this),o=t.match(Ot)||[];e=o[r++];)i.hasClass(e)?i.removeClass(e):i.addClass(e);else void 0!==t&&"boolean"!==n||(e=Z(this),e&&Lt.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===t?"":Lt.get(this,"__className__")||""))})},hasClass:function(t){var e,n,r=0;for(e=" "+t+" ";n=this[r++];)if(1===n.nodeType&&(" "+G(Z(n))+" ").indexOf(e)>-1)return!0;return!1}});yt.fn.extend({val:function(t){var e,n,r,i=this[0];{if(arguments.length)return r=yt.isFunction(t),this.each(function(n){var i;1===this.nodeType&&(i=r?t.call(this,n,yt(this).val()):t,null==i?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=yt.map(i,function(t){return null==t?"":t+""})),(e=yt.valHooks[this.type]||yt.valHooks[this.nodeName.toLowerCase()])&&"set"in e&&void 0!==e.set(this,i,"value")||(this.value=i))});if(i)return(e=yt.valHooks[i.type]||yt.valHooks[i.nodeName.toLowerCase()])&&"get"in e&&void 0!==(n=e.get(i,"value"))?n:(n=i.value,"string"==typeof n?n.replace(/\r/g,""):null==n?"":n)}}}),yt.extend({valHooks:{option:{get:function(t){var e=yt.find.attr(t,"value");return null!=e?e:G(yt.text(t))}},select:{get:function(t){var e,n,r,i=t.options,o=t.selectedIndex,a="select-one"===t.type,s=a?null:[],c=a?o+1:i.length;for(r=o<0?c:a?o:0;r<c;r++)if(n=i[r],(n.selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!u(n.parentNode,"optgroup"))){if(e=yt(n).val(),a)return e;s.push(e)}return s},set:function(t,e){for(var n,r,i=t.options,o=yt.makeArray(e),a=i.length;a--;)r=i[a],(r.selected=yt.inArray(yt.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(t.selectedIndex=-1),o}}}}),yt.each(["radio","checkbox"],function(){yt.valHooks[this]={set:function(t,e){if(Array.isArray(e))return t.checked=yt.inArray(yt(t).val(),e)>-1}},mt.checkOn||(yt.valHooks[this].get=function(t){return null===t.getAttribute("value")?"on":t.value})});var we=/^(?:focusinfocus|focusoutblur)$/;yt.extend(yt.event,{trigger:function(t,e,r,i){var o,a,s,u,c,l,f,p=[r||at],d=ht.call(t,"type")?t.type:t,h=ht.call(t,"namespace")?t.namespace.split("."):[];if(a=s=r=r||at,3!==r.nodeType&&8!==r.nodeType&&!we.test(d+yt.event.triggered)&&(d.indexOf(".")>-1&&(h=d.split("."),d=h.shift(),h.sort()),c=d.indexOf(":")<0&&"on"+d,t=t[yt.expando]?t:new yt.Event(d,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=h.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),e=null==e?[t]:yt.makeArray(e,[t]),f=yt.event.special[d]||{},i||!f.trigger||!1!==f.trigger.apply(r,e))){if(!i&&!f.noBubble&&!yt.isWindow(r)){for(u=f.delegateType||d,we.test(u+d)||(a=a.parentNode);a;a=a.parentNode)p.push(a),s=a;s===(r.ownerDocument||at)&&p.push(s.defaultView||s.parentWindow||n)}for(o=0;(a=p[o++])&&!t.isPropagationStopped();)t.type=o>1?u:f.bindType||d,l=(Lt.get(a,"events")||{})[t.type]&&Lt.get(a,"handle"),l&&l.apply(a,e),(l=c&&a[c])&&l.apply&&It(a)&&(t.result=l.apply(a,e),!1===t.result&&t.preventDefault());return t.type=d,i||t.isDefaultPrevented()||f._default&&!1!==f._default.apply(p.pop(),e)||!It(r)||c&&yt.isFunction(r[d])&&!yt.isWindow(r)&&(s=r[c],s&&(r[c]=null),yt.event.triggered=d,r[d](),yt.event.triggered=void 0,s&&(r[c]=s)),t.result}},simulate:function(t,e,n){var r=yt.extend(new yt.Event,n,{type:t,isSimulated:!0});yt.event.trigger(r,null,e)}}),yt.fn.extend({trigger:function(t,e){return this.each(function(){yt.event.trigger(t,e,this)})},triggerHandler:function(t,e){var n=this[0];if(n)return yt.event.trigger(t,e,n,!0)}}),yt.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(t,e){yt.fn[e]=function(t,n){return arguments.length>0?this.on(e,null,t,n):this.trigger(e)}}),yt.fn.extend({hover:function(t,e){return this.mouseenter(t).mouseleave(e||t)}}),mt.focusin="onfocusin"in n,mt.focusin||yt.each({focus:"focusin",blur:"focusout"},function(t,e){var n=function(t){yt.event.simulate(e,t.target,yt.event.fix(t))};yt.event.special[e]={setup:function(){var r=this.ownerDocument||this,i=Lt.access(r,e);i||r.addEventListener(t,n,!0),Lt.access(r,e,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=Lt.access(r,e)-1;i?Lt.access(r,e,i):(r.removeEventListener(t,n,!0),Lt.remove(r,e))}}});var xe=n.location,Ce=yt.now(),Te=/\?/;yt.parseXML=function(t){var e;if(!t||"string"!=typeof t)return null;try{e=(new n.DOMParser).parseFromString(t,"text/xml")}catch(t){e=void 0}return e&&!e.getElementsByTagName("parsererror").length||yt.error("Invalid XML: "+t),e};var $e=/\[\]$/,ke=/^(?:submit|button|image|reset|file)$/i,Ae=/^(?:input|select|textarea|keygen)/i;yt.param=function(t,e){var n,r=[],i=function(t,e){var n=yt.isFunction(e)?e():e;r[r.length]=encodeURIComponent(t)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(t)||t.jquery&&!yt.isPlainObject(t))yt.each(t,function(){i(this.name,this.value)});else for(n in t)Y(n,t[n],e,i);return r.join("&")},yt.fn.extend({serialize:function(){return yt.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var t=yt.prop(this,"elements");return t?yt.makeArray(t):this}).filter(function(){var t=this.type;return this.name&&!yt(this).is(":disabled")&&Ae.test(this.nodeName)&&!ke.test(t)&&(this.checked||!zt.test(t))}).map(function(t,e){var n=yt(this).val();return null==n?null:Array.isArray(n)?yt.map(n,function(t){return{name:e.name,value:t.replace(/\r?\n/g,"\r\n")}}):{name:e.name,value:n.replace(/\r?\n/g,"\r\n")}}).get()}});var Ee=/^(.*?):[ \t]*([^\r\n]*)$/gm,Se=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Oe=/^(?:GET|HEAD)$/,je={},Ne={},De="*/".concat("*"),Ie=at.createElement("a");Ie.href=xe.href,yt.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:xe.href,type:"GET",isLocal:Se.test(xe.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":De,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":yt.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(t,e){return e?nt(nt(t,yt.ajaxSettings),e):nt(yt.ajaxSettings,t)},ajaxPrefilter:tt(je),ajaxTransport:tt(Ne),ajax:function(t,e){function r(t,e,r,s){var c,p,d,_,w,x=e;l||(l=!0,u&&n.clearTimeout(u),i=void 0,a=s||"",C.readyState=t>0?4:0,c=t>=200&&t<300||304===t,r&&(_=rt(h,C,r)),_=it(h,_,C,c),c?(h.ifModified&&(w=C.getResponseHeader("Last-Modified"),w&&(yt.lastModified[o]=w),(w=C.getResponseHeader("etag"))&&(yt.etag[o]=w)),204===t||"HEAD"===h.type?x="nocontent":304===t?x="notmodified":(x=_.state,p=_.data,d=_.error,c=!d)):(d=x,!t&&x||(x="error",t<0&&(t=0))),C.status=t,C.statusText=(e||x)+"",c?m.resolveWith(v,[p,x,C]):m.rejectWith(v,[C,x,d]),C.statusCode(b),b=void 0,f&&g.trigger(c?"ajaxSuccess":"ajaxError",[C,h,c?p:d]),y.fireWith(v,[C,x]),f&&(g.trigger("ajaxComplete",[C,h]),--yt.active||yt.event.trigger("ajaxStop")))}"object"==typeof t&&(e=t,t=void 0),e=e||{};var i,o,a,s,u,c,l,f,p,d,h=yt.ajaxSetup({},e),v=h.context||h,g=h.context&&(v.nodeType||v.jquery)?yt(v):yt.event,m=yt.Deferred(),y=yt.Callbacks("once memory"),b=h.statusCode||{},_={},w={},x="canceled",C={readyState:0,getResponseHeader:function(t){var e;if(l){if(!s)for(s={};e=Ee.exec(a);)s[e[1].toLowerCase()]=e[2];e=s[t.toLowerCase()]}return null==e?null:e},getAllResponseHeaders:function(){return l?a:null},setRequestHeader:function(t,e){return null==l&&(t=w[t.toLowerCase()]=w[t.toLowerCase()]||t,_[t]=e),this},overrideMimeType:function(t){return null==l&&(h.mimeType=t),this},statusCode:function(t){var e;if(t)if(l)C.always(t[C.status]);else for(e in t)b[e]=[b[e],t[e]];return this},abort:function(t){var e=t||x;return i&&i.abort(e),r(0,e),this}};if(m.promise(C),h.url=((t||h.url||xe.href)+"").replace(/^\/\//,xe.protocol+"//"),h.type=e.method||e.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(Ot)||[""],null==h.crossDomain){c=at.createElement("a");try{c.href=h.url,c.href=c.href,h.crossDomain=Ie.protocol+"//"+Ie.host!=c.protocol+"//"+c.host}catch(t){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=yt.param(h.data,h.traditional)),et(je,h,e,C),l)return C;f=yt.event&&h.global,f&&0==yt.active++&&yt.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Oe.test(h.type),o=h.url.replace(/#.*$/,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(/%20/g,"+")):(d=h.url.slice(o.length),h.data&&(o+=(Te.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(/([?&])_=[^&]*/,"$1"),d=(Te.test(o)?"&":"?")+"_="+Ce+++d),h.url=o+d),h.ifModified&&(yt.lastModified[o]&&C.setRequestHeader("If-Modified-Since",yt.lastModified[o]),yt.etag[o]&&C.setRequestHeader("If-None-Match",yt.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||e.contentType)&&C.setRequestHeader("Content-Type",h.contentType),C.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+De+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)C.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(v,C,h)||l))return C.abort();if(x="abort",y.add(h.complete),C.done(h.success),C.fail(h.error),i=et(Ne,h,e,C)){if(C.readyState=1,f&&g.trigger("ajaxSend",[C,h]),l)return C;h.async&&h.timeout>0&&(u=n.setTimeout(function(){C.abort("timeout")},h.timeout));try{l=!1,i.send(_,r)}catch(t){if(l)throw t;r(-1,t)}}else r(-1,"No Transport");return C},getJSON:function(t,e,n){return yt.get(t,e,n,"json")},getScript:function(t,e){return yt.get(t,void 0,e,"script")}}),yt.each(["get","post"],function(t,e){yt[e]=function(t,n,r,i){return yt.isFunction(n)&&(i=i||r,r=n,n=void 0),yt.ajax(yt.extend({url:t,type:e,dataType:i,data:n,success:r},yt.isPlainObject(t)&&t))}}),yt._evalUrl=function(t){return yt.ajax({url:t,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},yt.fn.extend({wrapAll:function(t){var e;return this[0]&&(yt.isFunction(t)&&(t=t.call(this[0])),e=yt(t,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&e.insertBefore(this[0]),e.map(function(){for(var t=this;t.firstElementChild;)t=t.firstElementChild;return t}).append(this)),this},wrapInner:function(t){return yt.isFunction(t)?this.each(function(e){yt(this).wrapInner(t.call(this,e))}):this.each(function(){var e=yt(this),n=e.contents();n.length?n.wrapAll(t):e.append(t)})},wrap:function(t){var e=yt.isFunction(t);return this.each(function(n){yt(this).wrapAll(e?t.call(this,n):t)})},unwrap:function(t){return this.parent(t).not("body").each(function(){yt(this).replaceWith(this.childNodes)}),this}}),yt.expr.pseudos.hidden=function(t){return!yt.expr.pseudos.visible(t)},yt.expr.pseudos.visible=function(t){return!!(t.offsetWidth||t.offsetHeight||t.getClientRects().length)},yt.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(t){}};var Le={0:200,1223:204},Re=yt.ajaxSettings.xhr();mt.cors=!!Re&&"withCredentials"in Re,mt.ajax=Re=!!Re,yt.ajaxTransport(function(t){var e,r;if(mt.cors||Re&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);e=function(t){return function(){e&&(e=r=s.onload=s.onerror=s.onabort=s.onreadystatechange=null,"abort"===t?s.abort():"error"===t?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Le[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=e(),r=s.onerror=e("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&n.setTimeout(function(){e&&r()})},e=e("abort");try{s.send(t.hasContent&&t.data||null)}catch(t){if(e)throw t}},abort:function(){e&&e()}}}),yt.ajaxPrefilter(function(t){t.crossDomain&&(t.contents.script=!1)}),yt.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(t){return yt.globalEval(t),t}}}),yt.ajaxPrefilter("script",function(t){void 0===t.cache&&(t.cache=!1),t.crossDomain&&(t.type="GET")}),yt.ajaxTransport("script",function(t){if(t.crossDomain){var e,n;return{send:function(r,i){e=yt("<script>").prop({charset:t.scriptCharset,src:t.url}).on("load error",n=function(t){e.remove(),n=null,t&&i("error"===t.type?404:200,t.type)}),at.head.appendChild(e[0])},abort:function(){n&&n()}}}});var Pe=[],Fe=/(=)\?(?=&|$)|\?\?/;yt.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var t=Pe.pop()||yt.expando+"_"+Ce++;return this[t]=!0,t}}),yt.ajaxPrefilter("json jsonp",function(t,e,r){var i,o,a,s=!1!==t.jsonp&&(Fe.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Fe.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=yt.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(Fe,"$1"+i):!1!==t.jsonp&&(t.url+=(Te.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||yt.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=n[i],n[i]=function(){a=arguments},r.always(function(){void 0===o?yt(n).removeProp(i):n[i]=o,t[i]&&(t.jsonpCallback=e.jsonpCallback,Pe.push(i)),a&&yt.isFunction(o)&&o(a[0]),a=o=void 0}),"script"}),mt.createHTMLDocument=function(){var t=at.implementation.createHTMLDocument("").body;return t.innerHTML="<form></form><form></form>",2===t.childNodes.length}(),yt.parseHTML=function(t,e,n){if("string"!=typeof t)return[];"boolean"==typeof e&&(n=e,e=!1);var r,i,o;return e||(mt.createHTMLDocument?(e=at.implementation.createHTMLDocument(""),r=e.createElement("base"),r.href=at.location.href,e.head.appendChild(r)):e=at),i=Tt.exec(t),o=!n&&[],i?[e.createElement(i[1])]:(i=T([t],e,o),o&&o.length&&yt(o).remove(),yt.merge([],i.childNodes))},yt.fn.load=function(t,e,n){var r,i,o,a=this,s=t.indexOf(" ");return s>-1&&(r=G(t.slice(s)),t=t.slice(0,s)),yt.isFunction(e)?(n=e,e=void 0):e&&"object"==typeof e&&(i="POST"),a.length>0&&yt.ajax({url:t,type:i||"GET",dataType:"html",data:e}).done(function(t){o=arguments,a.html(r?yt("<div>").append(yt.parseHTML(t)).find(r):t)}).always(n&&function(t,e){a.each(function(){n.apply(this,o||[t.responseText,e,t])})}),this},yt.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(t,e){yt.fn[e]=function(t){return this.on(e,t)}}),yt.expr.pseudos.animated=function(t){return yt.grep(yt.timers,function(e){return t===e.elem}).length},yt.offset={setOffset:function(t,e,n){var r,i,o,a,s,u,c,l=yt.css(t,"position"),f=yt(t),p={};"static"===l&&(t.style.position="relative"),s=f.offset(),o=yt.css(t,"top"),u=yt.css(t,"left"),c=("absolute"===l||"fixed"===l)&&(o+u).indexOf("auto")>-1,c?(r=f.position(),a=r.top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),yt.isFunction(e)&&(e=e.call(t,n,yt.extend({},s))),null!=e.top&&(p.top=e.top-s.top+a),null!=e.left&&(p.left=e.left-s.left+i),"using"in e?e.using.call(t,p):f.css(p)}},yt.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){yt.offset.setOffset(this,t,e)});var e,n,r,i,o=this[0];if(o)return o.getClientRects().length?(r=o.getBoundingClientRect(),e=o.ownerDocument,n=e.documentElement,i=e.defaultView,{top:r.top+i.pageYOffset-n.clientTop,left:r.left+i.pageXOffset-n.clientLeft}):{top:0,left:0}},position:function(){if(this[0]){var t,e,n=this[0],r={top:0,left:0};return"fixed"===yt.css(n,"position")?e=n.getBoundingClientRect():(t=this.offsetParent(),e=this.offset(),u(t[0],"html")||(r=t.offset()),r={top:r.top+yt.css(t[0],"borderTopWidth",!0),left:r.left+yt.css(t[0],"borderLeftWidth",!0)}),{top:e.top-r.top-yt.css(n,"marginTop",!0),left:e.left-r.left-yt.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent;t&&"static"===yt.css(t,"position");)t=t.offsetParent;return t||Qt})}}),yt.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,e){var n="pageYOffset"===e;yt.fn[t]=function(r){return Dt(this,function(t,r,i){var o;if(yt.isWindow(t)?o=t:9===t.nodeType&&(o=t.defaultView),void 0===i)return o?o[e]:t[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):t[r]=i},t,r,arguments.length)}}),yt.each(["top","left"],function(t,e){yt.cssHooks[e]=P(mt.pixelPosition,function(t,n){if(n)return n=R(t,e),oe.test(n)?yt(t).position()[e]+"px":n})}),yt.each({Height:"height",Width:"width"},function(t,e){yt.each({padding:"inner"+t,content:e,"":"outer"+t},function(n,r){yt.fn[r]=function(i,o){var a=arguments.length&&(n||"boolean"!=typeof i),s=n||(!0===i||!0===o?"margin":"border");return Dt(this,function(e,n,i){var o;return yt.isWindow(e)?0===r.indexOf("outer")?e["inner"+t]:e.document.documentElement["client"+t]:9===e.nodeType?(o=e.documentElement,Math.max(e.body["scroll"+t],o["scroll"+t],e.body["offset"+t],o["offset"+t],o["client"+t])):void 0===i?yt.css(e,n,s):yt.style(e,n,i,s)},e,a?i:void 0,a)}})}),yt.fn.extend({bind:function(t,e,n){return this.on(t,null,e,n)},unbind:function(t,e){return this.off(t,null,e)},delegate:function(t,e,n,r){return this.on(e,t,n,r)},undelegate:function(t,e,n){return 1===arguments.length?this.off(t,"**"):this.off(e,t||"**",n)}}),yt.holdReady=function(t){t?yt.readyWait++:yt.ready(!0)},yt.isArray=Array.isArray,yt.parseJSON=JSON.parse,yt.nodeName=u,r=[],void 0!==(i=function(){return yt}.apply(e,r))&&(t.exports=i);var qe=n.jQuery,Me=n.$;return yt.noConflict=function(t){return n.$===yt&&(n.$=Me),t&&n.jQuery===yt&&(n.jQuery=qe),yt},o||(n.jQuery=n.$=yt),yt})},function(t,e,n){(function(t,r){var i;(function(){function o(t,e){return t.set(e[0],e[1]),t}function a(t,e){return t.add(e),t}function s(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function u(t,e,n,r){for(var i=-1,o=null==t?0:t.length;++i<o;){var a=t[i];e(r,a,n(a),t)}return r}function c(t,e){for(var n=-1,r=null==t?0:t.length;++n<r&&!1!==e(t[n],n,t););return t}function l(t,e){for(var n=null==t?0:t.length;n--&&!1!==e(t[n],n,t););return t}function f(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function p(t,e){for(var n=-1,r=null==t?0:t.length,i=0,o=[];++n<r;){var a=t[n];e(a,n,t)&&(o[i++]=a)}return o}function d(t,e){return!!(null==t?0:t.length)&&T(t,e,0)>-1}function h(t,e,n){for(var r=-1,i=null==t?0:t.length;++r<i;)if(n(e,t[r]))return!0;return!1}function v(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}function g(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}function m(t,e,n,r){var i=-1,o=null==t?0:t.length;for(r&&o&&(n=t[++i]);++i<o;)n=e(n,t[i],i,t);return n}function y(t,e,n,r){var i=null==t?0:t.length;for(r&&i&&(n=t[--i]);i--;)n=e(n,t[i],i,t);return n}function b(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}function _(t){return t.split("")}function w(t){return t.match(Pe)||[]}function x(t,e,n){var r;return n(t,function(t,n,i){if(e(t,n,i))return r=n,!1}),r}function C(t,e,n,r){for(var i=t.length,o=n+(r?1:-1);r?o--:++o<i;)if(e(t[o],o,t))return o;return-1}function T(t,e,n){return e===e?G(t,e,n):C(t,k,n)}function $(t,e,n,r){for(var i=n-1,o=t.length;++i<o;)if(r(t[i],e))return i;return-1}function k(t){return t!==t}function A(t,e){var n=null==t?0:t.length;return n?N(t,e)/n:Lt}function E(t){return function(e){return null==e?it:e[t]}}function S(t){return function(e){return null==t?it:t[e]}}function O(t,e,n,r,i){return i(t,function(t,i,o){n=r?(r=!1,t):e(n,t,i,o)}),n}function j(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}function N(t,e){for(var n,r=-1,i=t.length;++r<i;){var o=e(t[r]);o!==it&&(n=n===it?o:n+o)}return n}function D(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}function I(t,e){return v(e,function(e){return[e,t[e]]})}function L(t){return function(e){return t(e)}}function R(t,e){return v(e,function(e){return t[e]})}function P(t,e){return t.has(e)}function F(t,e){for(var n=-1,r=t.length;++n<r&&T(e,t[n],0)>-1;);return n}function q(t,e){for(var n=t.length;n--&&T(e,t[n],0)>-1;);return n}function M(t,e){for(var n=t.length,r=0;n--;)t[n]===e&&++r;return r}function H(t){return"\\"+Tn[t]}function B(t,e){return null==t?it:t[e]}function U(t){return vn.test(t)}function W(t){return gn.test(t)}function z(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}function V(t){var e=-1,n=Array(t.size);return t.forEach(function(t,r){n[++e]=[r,t]}),n}function X(t,e){return function(n){return t(e(n))}}function K(t,e){for(var n=-1,r=t.length,i=0,o=[];++n<r;){var a=t[n];a!==e&&a!==lt||(t[n]=lt,o[i++]=n)}return o}function J(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=t}),n}function Q(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=[t,t]}),n}function G(t,e,n){for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}function Z(t,e,n){for(var r=n+1;r--;)if(t[r]===e)return r;return r}function Y(t){return U(t)?et(t):Hn(t)}function tt(t){return U(t)?nt(t):_(t)}function et(t){for(var e=dn.lastIndex=0;dn.test(t);)++e;return e}function nt(t){return t.match(dn)||[]}function rt(t){return t.match(hn)||[]}var it,ot=200,at="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",st="Expected a function",ut="__lodash_hash_undefined__",ct=500,lt="__lodash_placeholder__",ft=1,pt=2,dt=4,ht=1,vt=2,gt=1,mt=2,yt=4,bt=8,_t=16,wt=32,xt=64,Ct=128,Tt=256,$t=512,kt=30,At="...",Et=800,St=16,Ot=1,jt=2,Nt=1/0,Dt=9007199254740991,It=1.7976931348623157e308,Lt=NaN,Rt=4294967295,Pt=Rt-1,Ft=Rt>>>1,qt=[["ary",Ct],["bind",gt],["bindKey",mt],["curry",bt],["curryRight",_t],["flip",$t],["partial",wt],["partialRight",xt],["rearg",Tt]],Mt="[object Arguments]",Ht="[object Array]",Bt="[object AsyncFunction]",Ut="[object Boolean]",Wt="[object Date]",zt="[object DOMException]",Vt="[object Error]",Xt="[object Function]",Kt="[object GeneratorFunction]",Jt="[object Map]",Qt="[object Number]",Gt="[object Null]",Zt="[object Object]",Yt="[object Proxy]",te="[object RegExp]",ee="[object Set]",ne="[object String]",re="[object Symbol]",ie="[object Undefined]",oe="[object WeakMap]",ae="[object WeakSet]",se="[object ArrayBuffer]",ue="[object DataView]",ce="[object Float32Array]",le="[object Float64Array]",fe="[object Int8Array]",pe="[object Int16Array]",de="[object Int32Array]",he="[object Uint8Array]",ve="[object Uint8ClampedArray]",ge="[object Uint16Array]",me="[object Uint32Array]",ye=/\b__p \+= '';/g,be=/\b(__p \+=) '' \+/g,_e=/(__e\(.*?\)|\b__t\)) \+\n'';/g,we=/&(?:amp|lt|gt|quot|#39);/g,xe=/[&<>"']/g,Ce=RegExp(we.source),Te=RegExp(xe.source),$e=/<%=([\s\S]+?)%>/g,ke=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ae=/^\w*$/,Ee=/^\./,Se=/[\\^$.*+?()[\]{}|]/g,Oe=RegExp(Se.source),je=/^\s+|\s+$/g,Ne=/^\s+/,De=/\s+$/,Ie=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Le=/\{\n\/\* \[wrapped with (.+)\] \*/,Re=/,? & /,Pe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Fe=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,qe=/\w*$/,Me=/^[-+]0x[0-9a-f]+$/i,He=/^0b[01]+$/i,Be=/^\[object .+?Constructor\]$/,Ue=/^0o[0-7]+$/i,We=/^(?:0|[1-9]\d*)$/,ze=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ve=/($^)/,Xe=/['\n\r\u2028\u2029\\]/g,Ke="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Je="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Qe="["+Je+"]",Ge="["+Ke+"]",Ze="[a-z\\xdf-\\xf6\\xf8-\\xff]",Ye="[^\\ud800-\\udfff"+Je+"\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",tn="\\ud83c[\\udffb-\\udfff]",en="(?:\\ud83c[\\udde6-\\uddff]){2}",nn="[\\ud800-\\udbff][\\udc00-\\udfff]",rn="[A-Z\\xc0-\\xd6\\xd8-\\xde]",on="(?:"+Ze+"|"+Ye+")",an="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",sn="(?:\\u200d(?:"+["[^\\ud800-\\udfff]",en,nn].join("|")+")[\\ufe0e\\ufe0f]?"+an+")*",un="[\\ufe0e\\ufe0f]?"+an+sn,cn="(?:"+["[\\u2700-\\u27bf]",en,nn].join("|")+")"+un,ln="(?:"+["[^\\ud800-\\udfff]"+Ge+"?",Ge,en,nn,"[\\ud800-\\udfff]"].join("|")+")",fn=RegExp("['’]","g"),pn=RegExp(Ge,"g"),dn=RegExp(tn+"(?="+tn+")|"+ln+un,"g"),hn=RegExp([rn+"?"+Ze+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[Qe,rn,"$"].join("|")+")","(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[Qe,rn+on,"$"].join("|")+")",rn+"?"+on+"+(?:['’](?:d|ll|m|re|s|t|ve))?",rn+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:(?:1ST|2ND|3RD|(?![123])\\dTH)\\b)","\\d*(?:(?:1st|2nd|3rd|(?![123])\\dth)\\b)","\\d+",cn].join("|"),"g"),vn=RegExp("[\\u200d\\ud800-\\udfff"+Ke+"\\ufe0e\\ufe0f]"),gn=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,mn=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],yn=-1,bn={};bn[ce]=bn[le]=bn[fe]=bn[pe]=bn[de]=bn[he]=bn[ve]=bn[ge]=bn[me]=!0,bn[Mt]=bn[Ht]=bn[se]=bn[Ut]=bn[ue]=bn[Wt]=bn[Vt]=bn[Xt]=bn[Jt]=bn[Qt]=bn[Zt]=bn[te]=bn[ee]=bn[ne]=bn[oe]=!1;var _n={};_n[Mt]=_n[Ht]=_n[se]=_n[ue]=_n[Ut]=_n[Wt]=_n[ce]=_n[le]=_n[fe]=_n[pe]=_n[de]=_n[Jt]=_n[Qt]=_n[Zt]=_n[te]=_n[ee]=_n[ne]=_n[re]=_n[he]=_n[ve]=_n[ge]=_n[me]=!0,_n[Vt]=_n[Xt]=_n[oe]=!1;var wn={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"},xn={"&":"&","<":"<",">":">",'"':""","'":"'"},Cn={"&":"&","<":"<",">":">",""":'"',"'":"'"},Tn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},$n=parseFloat,kn=parseInt,An="object"==typeof t&&t&&t.Object===Object&&t,En="object"==typeof self&&self&&self.Object===Object&&self,Sn=An||En||Function("return this")(),On="object"==typeof e&&e&&!e.nodeType&&e,jn=On&&"object"==typeof r&&r&&!r.nodeType&&r,Nn=jn&&jn.exports===On,Dn=Nn&&An.process,In=function(){try{return Dn&&Dn.binding&&Dn.binding("util")}catch(t){}}(),Ln=In&&In.isArrayBuffer,Rn=In&&In.isDate,Pn=In&&In.isMap,Fn=In&&In.isRegExp,qn=In&&In.isSet,Mn=In&&In.isTypedArray,Hn=E("length"),Bn=S(wn),Un=S(xn),Wn=S(Cn),zn=function t(e){function n(t){if(eu(t)&&!dp(t)&&!(t instanceof _)){if(t instanceof i)return t;if(pl.call(t,"__wrapped__"))return Zo(t)}return new i(t)}function r(){}function i(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=it}function _(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Rt,this.__views__=[]}function S(){var t=new _(this.__wrapped__);return t.__actions__=Di(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Di(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Di(this.__views__),t}function G(){if(this.__filtered__){var t=new _(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function et(){var t=this.__wrapped__.value(),e=this.__dir__,n=dp(t),r=e<0,i=n?t.length:0,o=Co(0,i,this.__views__),a=o.start,s=o.end,u=s-a,c=r?s:a-1,l=this.__iteratees__,f=l.length,p=0,d=Bl(u,this.__takeCount__);if(!n||!r&&i==u&&d==u)return hi(t,this.__actions__);var h=[];t:for(;u--&&p<d;){c+=e;for(var v=-1,g=t[c];++v<f;){var m=l[v],y=m.iteratee,b=m.type,_=y(g);if(b==jt)g=_;else if(!_){if(b==Ot)continue t;break t}}h[p++]=g}return h}function nt(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function Pe(){this.__data__=Zl?Zl(null):{},this.size=0}function Ke(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}function Je(t){var e=this.__data__;if(Zl){var n=e[t];return n===ut?it:n}return pl.call(e,t)?e[t]:it}function Qe(t){var e=this.__data__;return Zl?e[t]!==it:pl.call(e,t)}function Ge(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=Zl&&e===it?ut:e,this}function Ze(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function Ye(){this.__data__=[],this.size=0}function tn(t){var e=this.__data__,n=Vn(e,t);return!(n<0)&&(n==e.length-1?e.pop():kl.call(e,n,1),--this.size,!0)}function en(t){var e=this.__data__,n=Vn(e,t);return n<0?it:e[n][1]}function nn(t){return Vn(this.__data__,t)>-1}function rn(t,e){var n=this.__data__,r=Vn(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}function on(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function an(){this.size=0,this.__data__={hash:new nt,map:new(Kl||Ze),string:new nt}}function sn(t){var e=bo(this,t).delete(t);return this.size-=e?1:0,e}function un(t){return bo(this,t).get(t)}function cn(t){return bo(this,t).has(t)}function ln(t,e){var n=bo(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this}function dn(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new on;++e<n;)this.add(t[e])}function hn(t){return this.__data__.set(t,ut),this}function vn(t){return this.__data__.has(t)}function gn(t){var e=this.__data__=new Ze(t);this.size=e.size}function wn(){this.__data__=new Ze,this.size=0}function xn(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}function Cn(t){return this.__data__.get(t)}function Tn(t){return this.__data__.has(t)}function An(t,e){var n=this.__data__;if(n instanceof Ze){var r=n.__data__;if(!Kl||r.length<ot-1)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new on(r)}return n.set(t,e),this.size=n.size,this}function En(t,e){var n=dp(t),r=!n&&pp(t),i=!n&&!r&&vp(t),o=!n&&!r&&!i&&_p(t),a=n||r||i||o,s=a?D(t.length,ol):[],u=s.length;for(var c in t)!e&&!pl.call(t,c)||a&&("length"==c||i&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||jo(c,u))||s.push(c);return s}function On(t){var e=t.length;return e?t[Jr(0,e-1)]:it}function jn(t,e){return Ko(Di(t),Zn(e,0,t.length))}function Dn(t){return Ko(Di(t))}function In(t,e,n){(n===it||Hs(t[e],n))&&(n!==it||e in t)||Qn(t,e,n)}function Hn(t,e,n){var r=t[e];pl.call(t,e)&&Hs(r,n)&&(n!==it||e in t)||Qn(t,e,n)}function Vn(t,e){for(var n=t.length;n--;)if(Hs(t[n][0],e))return n;return-1}function Xn(t,e,n,r){return ff(t,function(t,i,o){e(r,t,n(t),o)}),r}function Kn(t,e){return t&&Ii(e,Ru(e),t)}function Jn(t,e){return t&&Ii(e,Pu(e),t)}function Qn(t,e,n){"__proto__"==e&&Ol?Ol(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}function Gn(t,e){for(var n=-1,r=e.length,i=Zc(r),o=null==t;++n<r;)i[n]=o?it:Du(t,e[n]);return i}function Zn(t,e,n){return t===t&&(n!==it&&(t=t<=n?t:n),e!==it&&(t=t>=e?t:e)),t}function Yn(t,e,n,r,i,o){var a,s=e&ft,u=e&pt,l=e&dt;if(n&&(a=i?n(t,r,i,o):n(t)),a!==it)return a;if(!tu(t))return t;var f=dp(t);if(f){if(a=ko(t),!s)return Di(t,a)}else{var p=Cf(t),d=p==Xt||p==Kt;if(vp(t))return wi(t,s);if(p==Zt||p==Mt||d&&!i){if(a=u||d?{}:Ao(t),!s)return u?Ri(t,Jn(a,t)):Li(t,Kn(a,t))}else{if(!_n[p])return i?t:{};a=Eo(t,p,Yn,s)}}o||(o=new gn);var h=o.get(t);if(h)return h;o.set(t,a);var v=l?u?vo:ho:u?Pu:Ru,g=f?it:v(t);return c(g||t,function(r,i){g&&(i=r,r=t[i]),Hn(a,i,Yn(r,e,n,i,t,o))}),a}function tr(t){var e=Ru(t);return function(n){return er(n,t,e)}}function er(t,e,n){var r=n.length;if(null==t)return!r;for(t=rl(t);r--;){var i=n[r],o=e[i],a=t[i];if(a===it&&!(i in t)||!o(a))return!1}return!0}function nr(t,e,n){if("function"!=typeof t)throw new al(st);return kf(function(){t.apply(it,n)},e)}function rr(t,e,n,r){var i=-1,o=d,a=!0,s=t.length,u=[],c=e.length;if(!s)return u;n&&(e=v(e,L(n))),r?(o=h,a=!1):e.length>=ot&&(o=P,a=!1,e=new dn(e));t:for(;++i<s;){var l=t[i],f=null==n?l:n(l);if(l=r||0!==l?l:0,a&&f===f){for(var p=c;p--;)if(e[p]===f)continue t;u.push(l)}else o(e,f,r)||u.push(l)}return u}function ir(t,e){var n=!0;return ff(t,function(t,r,i){return n=!!e(t,r,i)}),n}function or(t,e,n){for(var r=-1,i=t.length;++r<i;){var o=t[r],a=e(o);if(null!=a&&(s===it?a===a&&!pu(a):n(a,s)))var s=a,u=o}return u}function ar(t,e,n,r){var i=t.length;for(n=yu(n),n<0&&(n=-n>i?0:i+n),r=r===it||r>i?i:yu(r),r<0&&(r+=i),r=n>r?0:bu(r);n<r;)t[n++]=e;return t}function sr(t,e){var n=[];return ff(t,function(t,r,i){e(t,r,i)&&n.push(t)}),n}function ur(t,e,n,r,i){var o=-1,a=t.length;for(n||(n=Oo),i||(i=[]);++o<a;){var s=t[o];e>0&&n(s)?e>1?ur(s,e-1,n,r,i):g(i,s):r||(i[i.length]=s)}return i}function cr(t,e){return t&&df(t,e,Ru)}function lr(t,e){return t&&hf(t,e,Ru)}function fr(t,e){return p(e,function(e){return Gs(t[e])})}function pr(t,e){e=bi(e,t);for(var n=0,r=e.length;null!=t&&n<r;)t=t[Jo(e[n++])];return n&&n==r?t:it}function dr(t,e,n){var r=e(t);return dp(t)?r:g(r,n(t))}function hr(t){return null==t?t===it?ie:Gt:Sl&&Sl in rl(t)?xo(t):Bo(t)}function vr(t,e){return t>e}function gr(t,e){return null!=t&&pl.call(t,e)}function mr(t,e){return null!=t&&e in rl(t)}function yr(t,e,n){return t>=Bl(e,n)&&t<Hl(e,n)}function br(t,e,n){for(var r=n?h:d,i=t[0].length,o=t.length,a=o,s=Zc(o),u=1/0,c=[];a--;){var l=t[a];a&&e&&(l=v(l,L(e))),u=Bl(l.length,u),s[a]=!n&&(e||i>=120&&l.length>=120)?new dn(a&&l):it}l=t[0];var f=-1,p=s[0];t:for(;++f<i&&c.length<u;){var g=l[f],m=e?e(g):g;if(g=n||0!==g?g:0,!(p?P(p,m):r(c,m,n))){for(a=o;--a;){var y=s[a];if(!(y?P(y,m):r(t[a],m,n)))continue t}p&&p.push(m),c.push(g)}}return c}function _r(t,e,n,r){return cr(t,function(t,i,o){e(r,n(t),i,o)}),r}function wr(t,e,n){e=bi(e,t),t=Wo(t,e);var r=null==t?t:t[Jo(ma(e))];return null==r?it:s(r,t,n)}function xr(t){return eu(t)&&hr(t)==Mt}function Cr(t){return eu(t)&&hr(t)==se}function Tr(t){return eu(t)&&hr(t)==Wt}function $r(t,e,n,r,i){return t===e||(null==t||null==e||!eu(t)&&!eu(e)?t!==t&&e!==e:kr(t,e,n,r,$r,i))}function kr(t,e,n,r,i,o){var a=dp(t),s=dp(e),u=a?Ht:Cf(t),c=s?Ht:Cf(e);u=u==Mt?Zt:u,c=c==Mt?Zt:c;var l=u==Zt,f=c==Zt,p=u==c;if(p&&vp(t)){if(!vp(e))return!1;a=!0,l=!1}if(p&&!l)return o||(o=new gn),a||_p(t)?co(t,e,n,r,i,o):lo(t,e,u,n,r,i,o);if(!(n&ht)){var d=l&&pl.call(t,"__wrapped__"),h=f&&pl.call(e,"__wrapped__");if(d||h){var v=d?t.value():t,g=h?e.value():e;return o||(o=new gn),i(v,g,n,r,o)}}return!!p&&(o||(o=new gn),fo(t,e,n,r,i,o))}function Ar(t){return eu(t)&&Cf(t)==Jt}function Er(t,e,n,r){var i=n.length,o=i,a=!r;if(null==t)return!o;for(t=rl(t);i--;){var s=n[i];if(a&&s[2]?s[1]!==t[s[0]]:!(s[0]in t))return!1}for(;++i<o;){s=n[i];var u=s[0],c=t[u],l=s[1];if(a&&s[2]){if(c===it&&!(u in t))return!1}else{var f=new gn;if(r)var p=r(c,l,u,t,e,f);if(!(p===it?$r(l,c,ht|vt,r,f):p))return!1}}return!0}function Sr(t){return!(!tu(t)||Ro(t))&&(Gs(t)?yl:Be).test(Qo(t))}function Or(t){return eu(t)&&hr(t)==te}function jr(t){return eu(t)&&Cf(t)==ee}function Nr(t){return eu(t)&&Ys(t.length)&&!!bn[hr(t)]}function Dr(t){return"function"==typeof t?t:null==t?kc:"object"==typeof t?dp(t)?qr(t[0],t[1]):Fr(t):Ic(t)}function Ir(t){if(!Po(t))return Ml(t);var e=[];for(var n in rl(t))pl.call(t,n)&&"constructor"!=n&&e.push(n);return e}function Lr(t){if(!tu(t))return Ho(t);var e=Po(t),n=[];for(var r in t)("constructor"!=r||!e&&pl.call(t,r))&&n.push(r);return n}function Rr(t,e){return t<e}function Pr(t,e){var n=-1,r=Bs(t)?Zc(t.length):[];return ff(t,function(t,i,o){r[++n]=e(t,i,o)}),r}function Fr(t){var e=_o(t);return 1==e.length&&e[0][2]?qo(e[0][0],e[0][1]):function(n){return n===t||Er(n,t,e)}}function qr(t,e){return Do(t)&&Fo(e)?qo(Jo(t),e):function(n){var r=Du(n,t);return r===it&&r===e?Lu(n,t):$r(e,r,ht|vt)}}function Mr(t,e,n,r,i){t!==e&&df(e,function(o,a){if(tu(o))i||(i=new gn),Hr(t,e,a,n,Mr,r,i);else{var s=r?r(t[a],o,a+"",t,e,i):it;s===it&&(s=o),In(t,a,s)}},Pu)}function Hr(t,e,n,r,i,o,a){var s=t[n],u=e[n],c=a.get(u);if(c)return void In(t,n,c);var l=o?o(s,u,n+"",t,e,a):it,f=l===it;if(f){var p=dp(u),d=!p&&vp(u),h=!p&&!d&&_p(u);l=u,p||d||h?dp(s)?l=s:Us(s)?l=Di(s):d?(f=!1,l=wi(u,!0)):h?(f=!1,l=Ei(u,!0)):l=[]:cu(u)||pp(u)?(l=s,pp(s)?l=wu(s):(!tu(s)||r&&Gs(s))&&(l=Ao(u))):f=!1}f&&(a.set(u,l),i(l,u,r,o,a),a.delete(u)),In(t,n,l)}function Br(t,e){var n=t.length;if(n)return e+=e<0?n:0,jo(e,n)?t[e]:it}function Ur(t,e,n){var r=-1;return e=v(e.length?e:[kc],L(yo())),j(Pr(t,function(t,n,i){return{criteria:v(e,function(e){return e(t)}),index:++r,value:t}}),function(t,e){return Oi(t,e,n)})}function Wr(t,e){return zr(t,e,function(e,n){return Lu(t,n)})}function zr(t,e,n){for(var r=-1,i=e.length,o={};++r<i;){var a=e[r],s=pr(t,a);n(s,a)&&ei(o,bi(a,t),s)}return o}function Vr(t){return function(e){return pr(e,t)}}function Xr(t,e,n,r){var i=r?$:T,o=-1,a=e.length,s=t;for(t===e&&(e=Di(e)),n&&(s=v(t,L(n)));++o<a;)for(var u=0,c=e[o],l=n?n(c):c;(u=i(s,l,u,r))>-1;)s!==t&&kl.call(s,u,1),kl.call(t,u,1);return t}function Kr(t,e){for(var n=t?e.length:0,r=n-1;n--;){var i=e[n];if(n==r||i!==o){var o=i;jo(i)?kl.call(t,i,1):fi(t,i)}}return t}function Jr(t,e){return t+Ll(zl()*(e-t+1))}function Qr(t,e,n,r){for(var i=-1,o=Hl(Il((e-t)/(n||1)),0),a=Zc(o);o--;)a[r?o:++i]=t,t+=n;return a}function Gr(t,e){var n="";if(!t||e<1||e>Dt)return n;do{e%2&&(n+=t),(e=Ll(e/2))&&(t+=t)}while(e);return n}function Zr(t,e){return Af(Uo(t,e,kc),t+"")}function Yr(t){return On(Ju(t))}function ti(t,e){var n=Ju(t);return Ko(n,Zn(e,0,n.length))}function ei(t,e,n,r){if(!tu(t))return t;e=bi(e,t);for(var i=-1,o=e.length,a=o-1,s=t;null!=s&&++i<o;){var u=Jo(e[i]),c=n;if(i!=a){var l=s[u];c=r?r(l,u,s):it,c===it&&(c=tu(l)?l:jo(e[i+1])?[]:{})}Hn(s,u,c),s=s[u]}return t}function ni(t){return Ko(Ju(t))}function ri(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),n=n>i?i:n,n<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var o=Zc(i);++r<i;)o[r]=t[r+e];return o}function ii(t,e){var n;return ff(t,function(t,r,i){return!(n=e(t,r,i))}),!!n}function oi(t,e,n){var r=0,i=null==t?r:t.length;if("number"==typeof e&&e===e&&i<=Ft){for(;r<i;){var o=r+i>>>1,a=t[o];null!==a&&!pu(a)&&(n?a<=e:a<e)?r=o+1:i=o}return i}return ai(t,e,kc,n)}function ai(t,e,n,r){e=n(e);for(var i=0,o=null==t?0:t.length,a=e!==e,s=null===e,u=pu(e),c=e===it;i<o;){var l=Ll((i+o)/2),f=n(t[l]),p=f!==it,d=null===f,h=f===f,v=pu(f);if(a)var g=r||h;else g=c?h&&(r||p):s?h&&p&&(r||!d):u?h&&p&&!d&&(r||!v):!d&&!v&&(r?f<=e:f<e);g?i=l+1:o=l}return Bl(o,Pt)}function si(t,e){for(var n=-1,r=t.length,i=0,o=[];++n<r;){var a=t[n],s=e?e(a):a;if(!n||!Hs(s,u)){var u=s;o[i++]=0===a?0:a}}return o}function ui(t){return"number"==typeof t?t:pu(t)?Lt:+t}function ci(t){if("string"==typeof t)return t;if(dp(t))return v(t,ci)+"";if(pu(t))return cf?cf.call(t):"";var e=t+"";return"0"==e&&1/t==-Nt?"-0":e}function li(t,e,n){var r=-1,i=d,o=t.length,a=!0,s=[],u=s;if(n)a=!1,i=h;else if(o>=ot){var c=e?null:bf(t);if(c)return J(c);a=!1,i=P,u=new dn}else u=e?[]:s;t:for(;++r<o;){var l=t[r],f=e?e(l):l;if(l=n||0!==l?l:0,a&&f===f){for(var p=u.length;p--;)if(u[p]===f)continue t;e&&u.push(f),s.push(l)}else i(u,f,n)||(u!==s&&u.push(f),s.push(l))}return s}function fi(t,e){return e=bi(e,t),null==(t=Wo(t,e))||delete t[Jo(ma(e))]}function pi(t,e,n,r){return ei(t,e,n(pr(t,e)),r)}function di(t,e,n,r){for(var i=t.length,o=r?i:-1;(r?o--:++o<i)&&e(t[o],o,t););return n?ri(t,r?0:o,r?o+1:i):ri(t,r?o+1:0,r?i:o)}function hi(t,e){var n=t;return n instanceof _&&(n=n.value()),m(e,function(t,e){return e.func.apply(e.thisArg,g([t],e.args))},n)}function vi(t,e,n){var r=t.length;if(r<2)return r?li(t[0]):[];for(var i=-1,o=Zc(r);++i<r;)for(var a=t[i],s=-1;++s<r;)s!=i&&(o[i]=rr(o[i]||a,t[s],e,n));return li(ur(o,1),e,n)}function gi(t,e,n){for(var r=-1,i=t.length,o=e.length,a={};++r<i;){var s=r<o?e[r]:it;n(a,t[r],s)}return a}function mi(t){return Us(t)?t:[]}function yi(t){return"function"==typeof t?t:kc}function bi(t,e){return dp(t)?t:Do(t,e)?[t]:Ef(Cu(t))}function _i(t,e,n){var r=t.length;return n=n===it?r:n,!e&&n>=r?t:ri(t,e,n)}function wi(t,e){if(e)return t.slice();var n=t.length,r=xl?xl(n):new t.constructor(n);return t.copy(r),r}function xi(t){var e=new t.constructor(t.byteLength);return new wl(e).set(new wl(t)),e}function Ci(t,e){var n=e?xi(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}function Ti(t,e,n){return m(e?n(V(t),ft):V(t),o,new t.constructor)}function $i(t){var e=new t.constructor(t.source,qe.exec(t));return e.lastIndex=t.lastIndex,e}function ki(t,e,n){return m(e?n(J(t),ft):J(t),a,new t.constructor)}function Ai(t){return uf?rl(uf.call(t)):{}}function Ei(t,e){var n=e?xi(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function Si(t,e){if(t!==e){var n=t!==it,r=null===t,i=t===t,o=pu(t),a=e!==it,s=null===e,u=e===e,c=pu(e);if(!s&&!c&&!o&&t>e||o&&a&&u&&!s&&!c||r&&a&&u||!n&&u||!i)return 1;if(!r&&!o&&!c&&t<e||c&&n&&i&&!r&&!o||s&&n&&i||!a&&i||!u)return-1}return 0}function Oi(t,e,n){for(var r=-1,i=t.criteria,o=e.criteria,a=i.length,s=n.length;++r<a;){var u=Si(i[r],o[r]);if(u){if(r>=s)return u;return u*("desc"==n[r]?-1:1)}}return t.index-e.index}function ji(t,e,n,r){for(var i=-1,o=t.length,a=n.length,s=-1,u=e.length,c=Hl(o-a,0),l=Zc(u+c),f=!r;++s<u;)l[s]=e[s];for(;++i<a;)(f||i<o)&&(l[n[i]]=t[i]);for(;c--;)l[s++]=t[i++];return l}function Ni(t,e,n,r){for(var i=-1,o=t.length,a=-1,s=n.length,u=-1,c=e.length,l=Hl(o-s,0),f=Zc(l+c),p=!r;++i<l;)f[i]=t[i];for(var d=i;++u<c;)f[d+u]=e[u];for(;++a<s;)(p||i<o)&&(f[d+n[a]]=t[i++]);return f}function Di(t,e){var n=-1,r=t.length;for(e||(e=Zc(r));++n<r;)e[n]=t[n];return e}function Ii(t,e,n,r){var i=!n;n||(n={});for(var o=-1,a=e.length;++o<a;){var s=e[o],u=r?r(n[s],t[s],s,n,t):it;u===it&&(u=t[s]),i?Qn(n,s,u):Hn(n,s,u)}return n}function Li(t,e){return Ii(t,wf(t),e)}function Ri(t,e){return Ii(t,xf(t),e)}function Pi(t,e){return function(n,r){var i=dp(n)?u:Xn,o=e?e():{};return i(n,t,yo(r,2),o)}}function Fi(t){return Zr(function(e,n){var r=-1,i=n.length,o=i>1?n[i-1]:it,a=i>2?n[2]:it;for(o=t.length>3&&"function"==typeof o?(i--,o):it,a&&No(n[0],n[1],a)&&(o=i<3?it:o,i=1),e=rl(e);++r<i;){var s=n[r];s&&t(e,s,r,o)}return e})}function qi(t,e){return function(n,r){if(null==n)return n;if(!Bs(n))return t(n,r);for(var i=n.length,o=e?i:-1,a=rl(n);(e?o--:++o<i)&&!1!==r(a[o],o,a););return n}}function Mi(t){return function(e,n,r){for(var i=-1,o=rl(e),a=r(e),s=a.length;s--;){var u=a[t?s:++i];if(!1===n(o[u],u,o))break}return e}}function Hi(t,e,n){function r(){return(this&&this!==Sn&&this instanceof r?o:t).apply(i?n:this,arguments)}var i=e>,o=Wi(t);return r}function Bi(t){return function(e){e=Cu(e);var n=U(e)?tt(e):it,r=n?n[0]:e.charAt(0),i=n?_i(n,1).join(""):e.slice(1);return r[t]()+i}}function Ui(t){return function(e){return m(wc(ec(e).replace(fn,"")),t,"")}}function Wi(t){return function(){var e=arguments;switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3]);case 5:return new t(e[0],e[1],e[2],e[3],e[4]);case 6:return new t(e[0],e[1],e[2],e[3],e[4],e[5]);case 7:return new t(e[0],e[1],e[2],e[3],e[4],e[5],e[6])}var n=lf(t.prototype),r=t.apply(n,e);return tu(r)?r:n}}function zi(t,e,n){function r(){for(var o=arguments.length,a=Zc(o),u=o,c=mo(r);u--;)a[u]=arguments[u];var l=o<3&&a[0]!==c&&a[o-1]!==c?[]:K(a,c);return(o-=l.length)<n?no(t,e,Ki,r.placeholder,it,a,l,it,it,n-o):s(this&&this!==Sn&&this instanceof r?i:t,this,a)}var i=Wi(t);return r}function Vi(t){return function(e,n,r){var i=rl(e);if(!Bs(e)){var o=yo(n,3);e=Ru(e),n=function(t){return o(i[t],t,i)}}var a=t(e,n,r);return a>-1?i[o?e[a]:a]:it}}function Xi(t){return po(function(e){var n=e.length,r=n,o=i.prototype.thru;for(t&&e.reverse();r--;){var a=e[r];if("function"!=typeof a)throw new al(st);if(o&&!s&&"wrapper"==go(a))var s=new i([],!0)}for(r=s?r:n;++r<n;){a=e[r];var u=go(a),c="wrapper"==u?_f(a):it;s=c&&Lo(c[0])&&c[1]==(Ct|bt|wt|Tt)&&!c[4].length&&1==c[9]?s[go(c[0])].apply(s,c[3]):1==a.length&&Lo(a)?s[u]():s.thru(a)}return function(){var t=arguments,r=t[0];if(s&&1==t.length&&dp(r))return s.plant(r).value();for(var i=0,o=n?e[i].apply(this,t):r;++i<n;)o=e[i].call(this,o);return o}})}function Ki(t,e,n,r,i,o,a,s,u,c){function l(){for(var m=arguments.length,y=Zc(m),b=m;b--;)y[b]=arguments[b];if(h)var _=mo(l),w=M(y,_);if(r&&(y=ji(y,r,i,h)),o&&(y=Ni(y,o,a,h)),m-=w,h&&m<c){var x=K(y,_);return no(t,e,Ki,l.placeholder,n,y,x,s,u,c-m)}var C=p?n:this,T=d?C[t]:t;return m=y.length,s?y=zo(y,s):v&&m>1&&y.reverse(),f&&u<m&&(y.length=u),this&&this!==Sn&&this instanceof l&&(T=g||Wi(T)),T.apply(C,y)}var f=e&Ct,p=e>,d=e&mt,h=e&(bt|_t),v=e&$t,g=d?it:Wi(t);return l}function Ji(t,e){return function(n,r){return _r(n,t,e(r),{})}}function Qi(t,e){return function(n,r){var i;if(n===it&&r===it)return e;if(n!==it&&(i=n),r!==it){if(i===it)return r;"string"==typeof n||"string"==typeof r?(n=ci(n),r=ci(r)):(n=ui(n),r=ui(r)),i=t(n,r)}return i}}function Gi(t){return po(function(e){return e=v(e,L(yo())),Zr(function(n){var r=this;return t(e,function(t){return s(t,r,n)})})})}function Zi(t,e){e=e===it?" ":ci(e);var n=e.length;if(n<2)return n?Gr(e,t):e;var r=Gr(e,Il(t/Y(e)));return U(e)?_i(tt(r),0,t).join(""):r.slice(0,t)}function Yi(t,e,n,r){function i(){for(var e=-1,u=arguments.length,c=-1,l=r.length,f=Zc(l+u),p=this&&this!==Sn&&this instanceof i?a:t;++c<l;)f[c]=r[c];for(;u--;)f[c++]=arguments[++e];return s(p,o?n:this,f)}var o=e>,a=Wi(t);return i}function to(t){return function(e,n,r){return r&&"number"!=typeof r&&No(e,n,r)&&(n=r=it),e=mu(e),n===it?(n=e,e=0):n=mu(n),r=r===it?e<n?1:-1:mu(r),Qr(e,n,r,t)}}function eo(t){return function(e,n){return"string"==typeof e&&"string"==typeof n||(e=_u(e),n=_u(n)),t(e,n)}}function no(t,e,n,r,i,o,a,s,u,c){var l=e&bt,f=l?a:it,p=l?it:a,d=l?o:it,h=l?it:o;e|=l?wt:xt,(e&=~(l?xt:wt))&yt||(e&=~(gt|mt));var v=[t,e,i,d,f,h,p,s,u,c],g=n.apply(it,v);return Lo(t)&&$f(g,v),g.placeholder=r,Vo(g,t,e)}function ro(t){var e=nl[t];return function(t,n){if(t=_u(t),n=null==n?0:Bl(yu(n),292)){var r=(Cu(t)+"e").split("e");return r=(Cu(e(r[0]+"e"+(+r[1]+n)))+"e").split("e"),+(r[0]+"e"+(+r[1]-n))}return e(t)}}function io(t){return function(e){var n=Cf(e);return n==Jt?V(e):n==ee?Q(e):I(e,t(e))}}function oo(t,e,n,r,i,o,a,s){var u=e&mt;if(!u&&"function"!=typeof t)throw new al(st);var c=r?r.length:0;if(c||(e&=~(wt|xt),r=i=it),a=a===it?a:Hl(yu(a),0),s=s===it?s:yu(s),c-=i?i.length:0,e&xt){var l=r,f=i;r=i=it}var p=u?it:_f(t),d=[t,e,n,r,i,l,f,o,a,s];if(p&&Mo(d,p),t=d[0],e=d[1],n=d[2],r=d[3],i=d[4],s=d[9]=d[9]===it?u?0:t.length:Hl(d[9]-c,0),!s&&e&(bt|_t)&&(e&=~(bt|_t)),e&&e!=gt)h=e==bt||e==_t?zi(t,e,s):e!=wt&&e!=(gt|wt)||i.length?Ki.apply(it,d):Yi(t,e,n,r);else var h=Hi(t,e,n);return Vo((p?vf:$f)(h,d),t,e)}function ao(t,e,n,r){return t===it||Hs(t,cl[n])&&!pl.call(r,n)?e:t}function so(t,e,n,r,i,o){return tu(t)&&tu(e)&&(o.set(e,t),Mr(t,e,it,so,o),o.delete(e)),t}function uo(t){return cu(t)?it:t}function co(t,e,n,r,i,o){var a=n&ht,s=t.length,u=e.length;if(s!=u&&!(a&&u>s))return!1;var c=o.get(t);if(c&&o.get(e))return c==e;var l=-1,f=!0,p=n&vt?new dn:it;for(o.set(t,e),o.set(e,t);++l<s;){var d=t[l],h=e[l];if(r)var v=a?r(h,d,l,e,t,o):r(d,h,l,t,e,o);if(v!==it){if(v)continue;f=!1;break}if(p){if(!b(e,function(t,e){if(!P(p,e)&&(d===t||i(d,t,n,r,o)))return p.push(e)})){f=!1;break}}else if(d!==h&&!i(d,h,n,r,o)){f=!1;break}}return o.delete(t),o.delete(e),f}function lo(t,e,n,r,i,o,a){switch(n){case ue:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case se:return!(t.byteLength!=e.byteLength||!o(new wl(t),new wl(e)));case Ut:case Wt:case Qt:return Hs(+t,+e);case Vt:return t.name==e.name&&t.message==e.message;case te:case ne:return t==e+"";case Jt:var s=V;case ee:var u=r&ht;if(s||(s=J),t.size!=e.size&&!u)return!1;var c=a.get(t);if(c)return c==e;r|=vt,a.set(t,e);var l=co(s(t),s(e),r,i,o,a);return a.delete(t),l;case re:if(uf)return uf.call(t)==uf.call(e)}return!1}function fo(t,e,n,r,i,o){var a=n&ht,s=ho(t),u=s.length;if(u!=ho(e).length&&!a)return!1;for(var c=u;c--;){var l=s[c];if(!(a?l in e:pl.call(e,l)))return!1}var f=o.get(t);if(f&&o.get(e))return f==e;var p=!0;o.set(t,e),o.set(e,t);for(var d=a;++c<u;){l=s[c];var h=t[l],v=e[l];if(r)var g=a?r(v,h,l,e,t,o):r(h,v,l,t,e,o);if(!(g===it?h===v||i(h,v,n,r,o):g)){p=!1;break}d||(d="constructor"==l)}if(p&&!d){var m=t.constructor,y=e.constructor;m!=y&&"constructor"in t&&"constructor"in e&&!("function"==typeof m&&m instanceof m&&"function"==typeof y&&y instanceof y)&&(p=!1)}return o.delete(t),o.delete(e),p}function po(t){return Af(Uo(t,it,ca),t+"")}function ho(t){return dr(t,Ru,wf)}function vo(t){return dr(t,Pu,xf)}function go(t){for(var e=t.name+"",n=tf[e],r=pl.call(tf,e)?n.length:0;r--;){var i=n[r],o=i.func;if(null==o||o==t)return i.name}return e}function mo(t){return(pl.call(n,"placeholder")?n:t).placeholder}function yo(){var t=n.iteratee||Ac;return t=t===Ac?Dr:t,arguments.length?t(arguments[0],arguments[1]):t}function bo(t,e){var n=t.__data__;return Io(e)?n["string"==typeof e?"string":"hash"]:n.map}function _o(t){for(var e=Ru(t),n=e.length;n--;){var r=e[n],i=t[r];e[n]=[r,i,Fo(i)]}return e}function wo(t,e){var n=B(t,e);return Sr(n)?n:it}function xo(t){var e=pl.call(t,Sl),n=t[Sl];try{t[Sl]=it;var r=!0}catch(t){}var i=vl.call(t);return r&&(e?t[Sl]=n:delete t[Sl]),i}function Co(t,e,n){for(var r=-1,i=n.length;++r<i;){var o=n[r],a=o.size;switch(o.type){case"drop":t+=a;break;case"dropRight":e-=a;break;case"take":e=Bl(e,t+a);break;case"takeRight":t=Hl(t,e-a)}}return{start:t,end:e}}function To(t){var e=t.match(Le);return e?e[1].split(Re):[]}function $o(t,e,n){e=bi(e,t);for(var r=-1,i=e.length,o=!1;++r<i;){var a=Jo(e[r]);if(!(o=null!=t&&n(t,a)))break;t=t[a]}return o||++r!=i?o:!!(i=null==t?0:t.length)&&Ys(i)&&jo(a,i)&&(dp(t)||pp(t))}function ko(t){var e=t.length,n=t.constructor(e);return e&&"string"==typeof t[0]&&pl.call(t,"index")&&(n.index=t.index,n.input=t.input),n}function Ao(t){return"function"!=typeof t.constructor||Po(t)?{}:lf(Cl(t))}function Eo(t,e,n,r){var i=t.constructor;switch(e){case se:return xi(t);case Ut:case Wt:return new i(+t);case ue:return Ci(t,r);case ce:case le:case fe:case pe:case de:case he:case ve:case ge:case me:return Ei(t,r);case Jt:return Ti(t,r,n);case Qt:case ne:return new i(t);case te:return $i(t);case ee:return ki(t,r,n);case re:return Ai(t)}}function So(t,e){var n=e.length;if(!n)return t;var r=n-1;return e[r]=(n>1?"& ":"")+e[r],e=e.join(n>2?", ":" "),t.replace(Ie,"{\n/* [wrapped with "+e+"] */\n")}function Oo(t){return dp(t)||pp(t)||!!(Al&&t&&t[Al])}function jo(t,e){return!!(e=null==e?Dt:e)&&("number"==typeof t||We.test(t))&&t>-1&&t%1==0&&t<e}function No(t,e,n){if(!tu(n))return!1;var r=typeof e;return!!("number"==r?Bs(n)&&jo(e,n.length):"string"==r&&e in n)&&Hs(n[e],t)}function Do(t,e){if(dp(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!pu(t))||(Ae.test(t)||!ke.test(t)||null!=e&&t in rl(e))}function Io(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}function Lo(t){var e=go(t),r=n[e];if("function"!=typeof r||!(e in _.prototype))return!1;if(t===r)return!0;var i=_f(r);return!!i&&t===i[0]}function Ro(t){return!!hl&&hl in t}function Po(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||cl)}function Fo(t){return t===t&&!tu(t)}function qo(t,e){return function(n){return null!=n&&(n[t]===e&&(e!==it||t in rl(n)))}}function Mo(t,e){var n=t[1],r=e[1],i=n|r,o=i<(gt|mt|Ct),a=r==Ct&&n==bt||r==Ct&&n==Tt&&t[7].length<=e[8]||r==(Ct|Tt)&&e[7].length<=e[8]&&n==bt;if(!o&&!a)return t;r>&&(t[2]=e[2],i|=n>?0:yt);var s=e[3];if(s){var u=t[3];t[3]=u?ji(u,s,e[4]):s,t[4]=u?K(t[3],lt):e[4]}return s=e[5],s&&(u=t[5],t[5]=u?Ni(u,s,e[6]):s,t[6]=u?K(t[5],lt):e[6]),s=e[7],s&&(t[7]=s),r&Ct&&(t[8]=null==t[8]?e[8]:Bl(t[8],e[8])),null==t[9]&&(t[9]=e[9]),t[0]=e[0],t[1]=i,t}function Ho(t){var e=[];if(null!=t)for(var n in rl(t))e.push(n);return e}function Bo(t){return vl.call(t)}function Uo(t,e,n){return e=Hl(e===it?t.length-1:e,0),function(){for(var r=arguments,i=-1,o=Hl(r.length-e,0),a=Zc(o);++i<o;)a[i]=r[e+i];i=-1;for(var u=Zc(e+1);++i<e;)u[i]=r[i];return u[e]=n(a),s(t,this,u)}}function Wo(t,e){return e.length<2?t:pr(t,ri(e,0,-1))}function zo(t,e){for(var n=t.length,r=Bl(e.length,n),i=Di(t);r--;){var o=e[r];t[r]=jo(o,n)?i[o]:it}return t}function Vo(t,e,n){var r=e+"";return Af(t,So(r,Go(To(r),n)))}function Xo(t){var e=0,n=0;return function(){var r=Ul(),i=St-(r-n);if(n=r,i>0){if(++e>=Et)return arguments[0]}else e=0;return t.apply(it,arguments)}}function Ko(t,e){var n=-1,r=t.length,i=r-1;for(e=e===it?r:e;++n<e;){var o=Jr(n,i),a=t[o];t[o]=t[n],t[n]=a}return t.length=e,t}function Jo(t){if("string"==typeof t||pu(t))return t;var e=t+"";return"0"==e&&1/t==-Nt?"-0":e}function Qo(t){if(null!=t){try{return fl.call(t)}catch(t){}try{return t+""}catch(t){}}return""}function Go(t,e){return c(qt,function(n){var r="_."+n[0];e&n[1]&&!d(t,r)&&t.push(r)}),t.sort()}function Zo(t){if(t instanceof _)return t.clone();var e=new i(t.__wrapped__,t.__chain__);return e.__actions__=Di(t.__actions__),e.__index__=t.__index__,e.__values__=t.__values__,e}function Yo(t,e,n){e=(n?No(t,e,n):e===it)?1:Hl(yu(e),0);var r=null==t?0:t.length;if(!r||e<1)return[];for(var i=0,o=0,a=Zc(Il(r/e));i<r;)a[o++]=ri(t,i,i+=e);return a}function ta(t){for(var e=-1,n=null==t?0:t.length,r=0,i=[];++e<n;){var o=t[e];o&&(i[r++]=o)}return i}function ea(){var t=arguments.length;if(!t)return[];for(var e=Zc(t-1),n=arguments[0],r=t;r--;)e[r-1]=arguments[r];return g(dp(n)?Di(n):[n],ur(e,1))}function na(t,e,n){var r=null==t?0:t.length;return r?(e=n||e===it?1:yu(e),ri(t,e<0?0:e,r)):[]}function ra(t,e,n){var r=null==t?0:t.length;return r?(e=n||e===it?1:yu(e),e=r-e,ri(t,0,e<0?0:e)):[]}function ia(t,e){return t&&t.length?di(t,yo(e,3),!0,!0):[]}function oa(t,e){return t&&t.length?di(t,yo(e,3),!0):[]}function aa(t,e,n,r){var i=null==t?0:t.length;return i?(n&&"number"!=typeof n&&No(t,e,n)&&(n=0,r=i),ar(t,e,n,r)):[]}function sa(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=null==n?0:yu(n);return i<0&&(i=Hl(r+i,0)),C(t,yo(e,3),i)}function ua(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=r-1;return n!==it&&(i=yu(n),i=n<0?Hl(r+i,0):Bl(i,r-1)),C(t,yo(e,3),i,!0)}function ca(t){return(null==t?0:t.length)?ur(t,1):[]}function la(t){return(null==t?0:t.length)?ur(t,Nt):[]}function fa(t,e){return(null==t?0:t.length)?(e=e===it?1:yu(e),ur(t,e)):[]}function pa(t){for(var e=-1,n=null==t?0:t.length,r={};++e<n;){var i=t[e];r[i[0]]=i[1]}return r}function da(t){return t&&t.length?t[0]:it}function ha(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=null==n?0:yu(n);return i<0&&(i=Hl(r+i,0)),T(t,e,i)}function va(t){return(null==t?0:t.length)?ri(t,0,-1):[]}function ga(t,e){return null==t?"":ql.call(t,e)}function ma(t){var e=null==t?0:t.length;return e?t[e-1]:it}function ya(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=r;return n!==it&&(i=yu(n),i=i<0?Hl(r+i,0):Bl(i,r-1)),e===e?Z(t,e,i):C(t,k,i,!0)}function ba(t,e){return t&&t.length?Br(t,yu(e)):it}function _a(t,e){return t&&t.length&&e&&e.length?Xr(t,e):t}function wa(t,e,n){return t&&t.length&&e&&e.length?Xr(t,e,yo(n,2)):t}function xa(t,e,n){return t&&t.length&&e&&e.length?Xr(t,e,it,n):t}function Ca(t,e){var n=[];if(!t||!t.length)return n;var r=-1,i=[],o=t.length;for(e=yo(e,3);++r<o;){var a=t[r];e(a,r,t)&&(n.push(a),i.push(r))}return Kr(t,i),n}function Ta(t){return null==t?t:Vl.call(t)}function $a(t,e,n){var r=null==t?0:t.length;return r?(n&&"number"!=typeof n&&No(t,e,n)?(e=0,n=r):(e=null==e?0:yu(e),n=n===it?r:yu(n)),ri(t,e,n)):[]}function ka(t,e){return oi(t,e)}function Aa(t,e,n){return ai(t,e,yo(n,2))}function Ea(t,e){var n=null==t?0:t.length;if(n){var r=oi(t,e);if(r<n&&Hs(t[r],e))return r}return-1}function Sa(t,e){return oi(t,e,!0)}function Oa(t,e,n){return ai(t,e,yo(n,2),!0)}function ja(t,e){if(null==t?0:t.length){var n=oi(t,e,!0)-1;if(Hs(t[n],e))return n}return-1}function Na(t){return t&&t.length?si(t):[]}function Da(t,e){return t&&t.length?si(t,yo(e,2)):[]}function Ia(t){var e=null==t?0:t.length;return e?ri(t,1,e):[]}function La(t,e,n){return t&&t.length?(e=n||e===it?1:yu(e),ri(t,0,e<0?0:e)):[]}function Ra(t,e,n){var r=null==t?0:t.length;return r?(e=n||e===it?1:yu(e),e=r-e,ri(t,e<0?0:e,r)):[]}function Pa(t,e){return t&&t.length?di(t,yo(e,3),!1,!0):[]}function Fa(t,e){return t&&t.length?di(t,yo(e,3)):[]}function qa(t){return t&&t.length?li(t):[]}function Ma(t,e){return t&&t.length?li(t,yo(e,2)):[]}function Ha(t,e){return e="function"==typeof e?e:it,t&&t.length?li(t,it,e):[]}function Ba(t){if(!t||!t.length)return[];var e=0;return t=p(t,function(t){if(Us(t))return e=Hl(t.length,e),!0}),D(e,function(e){return v(t,E(e))})}function Ua(t,e){if(!t||!t.length)return[];var n=Ba(t);return null==e?n:v(n,function(t){return s(e,it,t)})}function Wa(t,e){return gi(t||[],e||[],Hn)}function za(t,e){return gi(t||[],e||[],ei)}function Va(t){var e=n(t);return e.__chain__=!0,e}function Xa(t,e){return e(t),t}function Ka(t,e){return e(t)}function Ja(){return Va(this)}function Qa(){return new i(this.value(),this.__chain__)}function Ga(){this.__values__===it&&(this.__values__=gu(this.value()));var t=this.__index__>=this.__values__.length;return{done:t,value:t?it:this.__values__[this.__index__++]}}function Za(){return this}function Ya(t){for(var e,n=this;n instanceof r;){var i=Zo(n);i.__index__=0,i.__values__=it,e?o.__wrapped__=i:e=i;var o=i;n=n.__wrapped__}return o.__wrapped__=t,e}function ts(){var t=this.__wrapped__;if(t instanceof _){var e=t;return this.__actions__.length&&(e=new _(this)),e=e.reverse(),e.__actions__.push({func:Ka,args:[Ta],thisArg:it}),new i(e,this.__chain__)}return this.thru(Ta)}function es(){return hi(this.__wrapped__,this.__actions__)}function ns(t,e,n){var r=dp(t)?f:ir;return n&&No(t,e,n)&&(e=it),r(t,yo(e,3))}function rs(t,e){return(dp(t)?p:sr)(t,yo(e,3))}function is(t,e){return ur(ls(t,e),1)}function os(t,e){return ur(ls(t,e),Nt)}function as(t,e,n){return n=n===it?1:yu(n),ur(ls(t,e),n)}function ss(t,e){return(dp(t)?c:ff)(t,yo(e,3))}function us(t,e){return(dp(t)?l:pf)(t,yo(e,3))}function cs(t,e,n,r){t=Bs(t)?t:Ju(t),n=n&&!r?yu(n):0;var i=t.length;return n<0&&(n=Hl(i+n,0)),fu(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&T(t,e,n)>-1}function ls(t,e){return(dp(t)?v:Pr)(t,yo(e,3))}function fs(t,e,n,r){return null==t?[]:(dp(e)||(e=null==e?[]:[e]),n=r?it:n,dp(n)||(n=null==n?[]:[n]),Ur(t,e,n))}function ps(t,e,n){var r=dp(t)?m:O,i=arguments.length<3;return r(t,yo(e,4),n,i,ff)}function ds(t,e,n){var r=dp(t)?y:O,i=arguments.length<3;return r(t,yo(e,4),n,i,pf)}function hs(t,e){return(dp(t)?p:sr)(t,Es(yo(e,3)))}function vs(t){return(dp(t)?On:Yr)(t)}function gs(t,e,n){return e=(n?No(t,e,n):e===it)?1:yu(e),(dp(t)?jn:ti)(t,e)}function ms(t){return(dp(t)?Dn:ni)(t)}function ys(t){if(null==t)return 0;if(Bs(t))return fu(t)?Y(t):t.length;var e=Cf(t);return e==Jt||e==ee?t.size:Ir(t).length}function bs(t,e,n){var r=dp(t)?b:ii;return n&&No(t,e,n)&&(e=it),r(t,yo(e,3))}function _s(t,e){if("function"!=typeof e)throw new al(st);return t=yu(t),function(){if(--t<1)return e.apply(this,arguments)}}function ws(t,e,n){return e=n?it:e,e=t&&null==e?t.length:e,oo(t,Ct,it,it,it,it,e)}function xs(t,e){var n;if("function"!=typeof e)throw new al(st);return t=yu(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=it),n}}function Cs(t,e,n){e=n?it:e;var r=oo(t,bt,it,it,it,it,it,e);return r.placeholder=Cs.placeholder,r}function Ts(t,e,n){e=n?it:e;var r=oo(t,_t,it,it,it,it,it,e);return r.placeholder=Ts.placeholder,r}function $s(t,e,n){function r(e){var n=p,r=d;return p=d=it,y=e,v=t.apply(r,n)}function i(t){return y=t,g=kf(s,e),b?r(t):v}function o(t){var n=t-m,r=t-y,i=e-n;return _?Bl(i,h-r):i}function a(t){var n=t-m,r=t-y;return m===it||n>=e||n<0||_&&r>=h}function s(){var t=ep();if(a(t))return u(t);g=kf(s,o(t))}function u(t){return g=it,w&&p?r(t):(p=d=it,v)}function c(){g!==it&&yf(g),y=0,p=m=d=g=it}function l(){return g===it?v:u(ep())}function f(){var t=ep(),n=a(t);if(p=arguments,d=this,m=t,n){if(g===it)return i(m);if(_)return g=kf(s,e),r(m)}return g===it&&(g=kf(s,e)),v}var p,d,h,v,g,m,y=0,b=!1,_=!1,w=!0;if("function"!=typeof t)throw new al(st);return e=_u(e)||0,tu(n)&&(b=!!n.leading,_="maxWait"in n,h=_?Hl(_u(n.maxWait)||0,e):h,w="trailing"in n?!!n.trailing:w),f.cancel=c,f.flush=l,f}function ks(t){return oo(t,$t)}function As(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new al(st);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(As.Cache||on),n}function Es(t){if("function"!=typeof t)throw new al(st);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}function Ss(t){return xs(2,t)}function Os(t,e){if("function"!=typeof t)throw new al(st);return e=e===it?e:yu(e),Zr(t,e)}function js(t,e){if("function"!=typeof t)throw new al(st);return e=null==e?0:Hl(yu(e),0),Zr(function(n){var r=n[e],i=_i(n,0,e);return r&&g(i,r),s(t,this,i)})}function Ns(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new al(st);return tu(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),$s(t,e,{leading:r,maxWait:e,trailing:i})}function Ds(t){return ws(t,1)}function Is(t,e){return sp(yi(e),t)}function Ls(){if(!arguments.length)return[];var t=arguments[0];return dp(t)?t:[t]}function Rs(t){return Yn(t,dt)}function Ps(t,e){return e="function"==typeof e?e:it,Yn(t,dt,e)}function Fs(t){return Yn(t,ft|dt)}function qs(t,e){return e="function"==typeof e?e:it,Yn(t,ft|dt,e)}function Ms(t,e){return null==e||er(t,e,Ru(e))}function Hs(t,e){return t===e||t!==t&&e!==e}function Bs(t){return null!=t&&Ys(t.length)&&!Gs(t)}function Us(t){return eu(t)&&Bs(t)}function Ws(t){return!0===t||!1===t||eu(t)&&hr(t)==Ut}function zs(t){return eu(t)&&1===t.nodeType&&!cu(t)}function Vs(t){if(null==t)return!0;if(Bs(t)&&(dp(t)||"string"==typeof t||"function"==typeof t.splice||vp(t)||_p(t)||pp(t)))return!t.length;var e=Cf(t);if(e==Jt||e==ee)return!t.size;if(Po(t))return!Ir(t).length;for(var n in t)if(pl.call(t,n))return!1;return!0}function Xs(t,e){return $r(t,e)}function Ks(t,e,n){n="function"==typeof n?n:it;var r=n?n(t,e):it;return r===it?$r(t,e,it,n):!!r}function Js(t){if(!eu(t))return!1;var e=hr(t);return e==Vt||e==zt||"string"==typeof t.message&&"string"==typeof t.name&&!cu(t)}function Qs(t){return"number"==typeof t&&Fl(t)}function Gs(t){if(!tu(t))return!1;var e=hr(t);return e==Xt||e==Kt||e==Bt||e==Yt}function Zs(t){return"number"==typeof t&&t==yu(t)}function Ys(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=Dt}function tu(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function eu(t){return null!=t&&"object"==typeof t}function nu(t,e){return t===e||Er(t,e,_o(e))}function ru(t,e,n){return n="function"==typeof n?n:it,Er(t,e,_o(e),n)}function iu(t){return uu(t)&&t!=+t}function ou(t){if(Tf(t))throw new tl(at);return Sr(t)}function au(t){return null===t}function su(t){return null==t}function uu(t){return"number"==typeof t||eu(t)&&hr(t)==Qt}function cu(t){if(!eu(t)||hr(t)!=Zt)return!1;var e=Cl(t);if(null===e)return!0;var n=pl.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&fl.call(n)==gl}function lu(t){return Zs(t)&&t>=-Dt&&t<=Dt}function fu(t){return"string"==typeof t||!dp(t)&&eu(t)&&hr(t)==ne}function pu(t){return"symbol"==typeof t||eu(t)&&hr(t)==re}function du(t){return t===it}function hu(t){return eu(t)&&Cf(t)==oe}function vu(t){return eu(t)&&hr(t)==ae}function gu(t){if(!t)return[];if(Bs(t))return fu(t)?tt(t):Di(t);if(El&&t[El])return z(t[El]());var e=Cf(t);return(e==Jt?V:e==ee?J:Ju)(t)}function mu(t){if(!t)return 0===t?t:0;if((t=_u(t))===Nt||t===-Nt){return(t<0?-1:1)*It}return t===t?t:0}function yu(t){var e=mu(t),n=e%1;return e===e?n?e-n:e:0}function bu(t){return t?Zn(yu(t),0,Rt):0}function _u(t){if("number"==typeof t)return t;if(pu(t))return Lt;if(tu(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=tu(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(je,"");var n=He.test(t);return n||Ue.test(t)?kn(t.slice(2),n?2:8):Me.test(t)?Lt:+t}function wu(t){return Ii(t,Pu(t))}function xu(t){return t?Zn(yu(t),-Dt,Dt):0===t?t:0}function Cu(t){return null==t?"":ci(t)}function Tu(t,e){var n=lf(t);return null==e?n:Kn(n,e)}function $u(t,e){return x(t,yo(e,3),cr)}function ku(t,e){return x(t,yo(e,3),lr)}function Au(t,e){return null==t?t:df(t,yo(e,3),Pu)}function Eu(t,e){return null==t?t:hf(t,yo(e,3),Pu)}function Su(t,e){return t&&cr(t,yo(e,3))}function Ou(t,e){return t&&lr(t,yo(e,3))}function ju(t){return null==t?[]:fr(t,Ru(t))}function Nu(t){return null==t?[]:fr(t,Pu(t))}function Du(t,e,n){var r=null==t?it:pr(t,e);return r===it?n:r}function Iu(t,e){return null!=t&&$o(t,e,gr)}function Lu(t,e){return null!=t&&$o(t,e,mr)}function Ru(t){return Bs(t)?En(t):Ir(t)}function Pu(t){return Bs(t)?En(t,!0):Lr(t)}function Fu(t,e){var n={};return e=yo(e,3),cr(t,function(t,r,i){Qn(n,e(t,r,i),t)}),n}function qu(t,e){var n={};return e=yo(e,3),cr(t,function(t,r,i){Qn(n,r,e(t,r,i))}),n}function Mu(t,e){return Hu(t,Es(yo(e)))}function Hu(t,e){if(null==t)return{};var n=v(vo(t),function(t){return[t]});return e=yo(e),zr(t,n,function(t,n){return e(t,n[0])})}function Bu(t,e,n){e=bi(e,t);var r=-1,i=e.length;for(i||(i=1,t=it);++r<i;){var o=null==t?it:t[Jo(e[r])];o===it&&(r=i,o=n),t=Gs(o)?o.call(t):o}return t}function Uu(t,e,n){return null==t?t:ei(t,e,n)}function Wu(t,e,n,r){return r="function"==typeof r?r:it,null==t?t:ei(t,e,n,r)}function zu(t,e,n){var r=dp(t),i=r||vp(t)||_p(t);if(e=yo(e,4),null==n){var o=t&&t.constructor;n=i?r?new o:[]:tu(t)&&Gs(o)?lf(Cl(t)):{}}return(i?c:cr)(t,function(t,r,i){return e(n,t,r,i)}),n}function Vu(t,e){return null==t||fi(t,e)}function Xu(t,e,n){return null==t?t:pi(t,e,yi(n))}function Ku(t,e,n,r){return r="function"==typeof r?r:it,null==t?t:pi(t,e,yi(n),r)}function Ju(t){return null==t?[]:R(t,Ru(t))}function Qu(t){return null==t?[]:R(t,Pu(t))}function Gu(t,e,n){return n===it&&(n=e,e=it),n!==it&&(n=_u(n),n=n===n?n:0),e!==it&&(e=_u(e),e=e===e?e:0),Zn(_u(t),e,n)}function Zu(t,e,n){return e=mu(e),n===it?(n=e,e=0):n=mu(n),t=_u(t),yr(t,e,n)}function Yu(t,e,n){if(n&&"boolean"!=typeof n&&No(t,e,n)&&(e=n=it),n===it&&("boolean"==typeof e?(n=e,e=it):"boolean"==typeof t&&(n=t,t=it)),t===it&&e===it?(t=0,e=1):(t=mu(t),e===it?(e=t,t=0):e=mu(e)),t>e){var r=t;t=e,e=r}if(n||t%1||e%1){var i=zl();return Bl(t+i*(e-t+$n("1e-"+((i+"").length-1))),e)}return Jr(t,e)}function tc(t){return Vp(Cu(t).toLowerCase())}function ec(t){return(t=Cu(t))&&t.replace(ze,Bn).replace(pn,"")}function nc(t,e,n){t=Cu(t),e=ci(e);var r=t.length;n=n===it?r:Zn(yu(n),0,r);var i=n;return(n-=e.length)>=0&&t.slice(n,i)==e}function rc(t){return t=Cu(t),t&&Te.test(t)?t.replace(xe,Un):t}function ic(t){return t=Cu(t),t&&Oe.test(t)?t.replace(Se,"\\$&"):t}function oc(t,e,n){t=Cu(t),e=yu(e);var r=e?Y(t):0;if(!e||r>=e)return t;var i=(e-r)/2;return Zi(Ll(i),n)+t+Zi(Il(i),n)}function ac(t,e,n){t=Cu(t),e=yu(e);var r=e?Y(t):0;return e&&r<e?t+Zi(e-r,n):t}function sc(t,e,n){t=Cu(t),e=yu(e);var r=e?Y(t):0;return e&&r<e?Zi(e-r,n)+t:t}function uc(t,e,n){return n||null==e?e=0:e&&(e=+e),Wl(Cu(t).replace(Ne,""),e||0)}function cc(t,e,n){return e=(n?No(t,e,n):e===it)?1:yu(e),Gr(Cu(t),e)}function lc(){var t=arguments,e=Cu(t[0]);return t.length<3?e:e.replace(t[1],t[2])}function fc(t,e,n){return n&&"number"!=typeof n&&No(t,e,n)&&(e=n=it),(n=n===it?Rt:n>>>0)?(t=Cu(t),t&&("string"==typeof e||null!=e&&!yp(e))&&!(e=ci(e))&&U(t)?_i(tt(t),0,n):t.split(e,n)):[]}function pc(t,e,n){return t=Cu(t),n=null==n?0:Zn(yu(n),0,t.length),e=ci(e),t.slice(n,n+e.length)==e}function dc(t,e,r){var i=n.templateSettings;r&&No(t,e,r)&&(e=it),t=Cu(t),e=$p({},e,i,ao);var o,a,s=$p({},e.imports,i.imports,ao),u=Ru(s),c=R(s,u),l=0,f=e.interpolate||Ve,p="__p += '",d=il((e.escape||Ve).source+"|"+f.source+"|"+(f===$e?Fe:Ve).source+"|"+(e.evaluate||Ve).source+"|$","g"),h="//# sourceURL="+("sourceURL"in e?e.sourceURL:"lodash.templateSources["+ ++yn+"]")+"\n";t.replace(d,function(e,n,r,i,s,u){return r||(r=i),p+=t.slice(l,u).replace(Xe,H),n&&(o=!0,p+="' +\n__e("+n+") +\n'"),s&&(a=!0,p+="';\n"+s+";\n__p += '"),r&&(p+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),l=u+e.length,e}),p+="';\n";var v=e.variable;v||(p="with (obj) {\n"+p+"\n}\n"),p=(a?p.replace(ye,""):p).replace(be,"$1").replace(_e,"$1;"),p="function("+(v||"obj")+") {\n"+(v?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(o?", __e = _.escape":"")+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+p+"return __p\n}";var g=Xp(function(){return el(u,h+"return "+p).apply(it,c)});if(g.source=p,Js(g))throw g;return g}function hc(t){return Cu(t).toLowerCase()}function vc(t){return Cu(t).toUpperCase()}function gc(t,e,n){if((t=Cu(t))&&(n||e===it))return t.replace(je,"");if(!t||!(e=ci(e)))return t;var r=tt(t),i=tt(e);return _i(r,F(r,i),q(r,i)+1).join("")}function mc(t,e,n){if((t=Cu(t))&&(n||e===it))return t.replace(De,"");if(!t||!(e=ci(e)))return t;var r=tt(t);return _i(r,0,q(r,tt(e))+1).join("")}function yc(t,e,n){if((t=Cu(t))&&(n||e===it))return t.replace(Ne,"");if(!t||!(e=ci(e)))return t;var r=tt(t);return _i(r,F(r,tt(e))).join("")}function bc(t,e){var n=kt,r=At;if(tu(e)){var i="separator"in e?e.separator:i;n="length"in e?yu(e.length):n,r="omission"in e?ci(e.omission):r}t=Cu(t);var o=t.length;if(U(t)){var a=tt(t);o=a.length}if(n>=o)return t;var s=n-Y(r);if(s<1)return r;var u=a?_i(a,0,s).join(""):t.slice(0,s);if(i===it)return u+r;if(a&&(s+=u.length-s),yp(i)){if(t.slice(s).search(i)){var c,l=u;for(i.global||(i=il(i.source,Cu(qe.exec(i))+"g")),i.lastIndex=0;c=i.exec(l);)var f=c.index;u=u.slice(0,f===it?s:f)}}else if(t.indexOf(ci(i),s)!=s){var p=u.lastIndexOf(i);p>-1&&(u=u.slice(0,p))}return u+r}function _c(t){return t=Cu(t),t&&Ce.test(t)?t.replace(we,Wn):t}function wc(t,e,n){return t=Cu(t),e=n?it:e,e===it?W(t)?rt(t):w(t):t.match(e)||[]}function xc(t){var e=null==t?0:t.length,n=yo();return t=e?v(t,function(t){if("function"!=typeof t[1])throw new al(st);return[n(t[0]),t[1]]}):[],Zr(function(n){for(var r=-1;++r<e;){var i=t[r];if(s(i[0],this,n))return s(i[1],this,n)}})}function Cc(t){return tr(Yn(t,ft))}function Tc(t){return function(){return t}}function $c(t,e){return null==t||t!==t?e:t}function kc(t){return t}function Ac(t){return Dr("function"==typeof t?t:Yn(t,ft))}function Ec(t){return Fr(Yn(t,ft))}function Sc(t,e){return qr(t,Yn(e,ft))}function Oc(t,e,n){var r=Ru(e),i=fr(e,r);null!=n||tu(e)&&(i.length||!r.length)||(n=e,e=t,t=this,i=fr(e,Ru(e)));var o=!(tu(n)&&"chain"in n&&!n.chain),a=Gs(t);return c(i,function(n){var r=e[n];t[n]=r,a&&(t.prototype[n]=function(){var e=this.__chain__;if(o||e){var n=t(this.__wrapped__);return(n.__actions__=Di(this.__actions__)).push({func:r,args:arguments,thisArg:t}),n.__chain__=e,n}return r.apply(t,g([this.value()],arguments))})}),t}function jc(){return Sn._===this&&(Sn._=ml),this}function Nc(){}function Dc(t){return t=yu(t),Zr(function(e){return Br(e,t)})}function Ic(t){return Do(t)?E(Jo(t)):Vr(t)}function Lc(t){return function(e){return null==t?it:pr(t,e)}}function Rc(){return[]}function Pc(){return!1}function Fc(){return{}}function qc(){return""}function Mc(){return!0}function Hc(t,e){if((t=yu(t))<1||t>Dt)return[];var n=Rt,r=Bl(t,Rt);e=yo(e),t-=Rt;for(var i=D(r,e);++n<t;)e(n);return i}function Bc(t){return dp(t)?v(t,Jo):pu(t)?[t]:Di(Ef(Cu(t)))}function Uc(t){var e=++dl;return Cu(t)+e}function Wc(t){return t&&t.length?or(t,kc,vr):it}function zc(t,e){return t&&t.length?or(t,yo(e,2),vr):it}function Vc(t){return A(t,kc)}function Xc(t,e){return A(t,yo(e,2))}function Kc(t){return t&&t.length?or(t,kc,Rr):it}function Jc(t,e){return t&&t.length?or(t,yo(e,2),Rr):it}function Qc(t){return t&&t.length?N(t,kc):0}function Gc(t,e){return t&&t.length?N(t,yo(e,2)):0}e=null==e?Sn:zn.defaults(Sn.Object(),e,zn.pick(Sn,mn));var Zc=e.Array,Yc=e.Date,tl=e.Error,el=e.Function,nl=e.Math,rl=e.Object,il=e.RegExp,ol=e.String,al=e.TypeError,sl=Zc.prototype,ul=el.prototype,cl=rl.prototype,ll=e["__core-js_shared__"],fl=ul.toString,pl=cl.hasOwnProperty,dl=0,hl=function(){var t=/[^.]+$/.exec(ll&&ll.keys&&ll.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),vl=cl.toString,gl=fl.call(rl),ml=Sn._,yl=il("^"+fl.call(pl).replace(Se,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),bl=Nn?e.Buffer:it,_l=e.Symbol,wl=e.Uint8Array,xl=bl?bl.allocUnsafe:it,Cl=X(rl.getPrototypeOf,rl),Tl=rl.create,$l=cl.propertyIsEnumerable,kl=sl.splice,Al=_l?_l.isConcatSpreadable:it,El=_l?_l.iterator:it,Sl=_l?_l.toStringTag:it,Ol=function(){try{var t=wo(rl,"defineProperty");return t({},"",{}),t}catch(t){}}(),jl=e.clearTimeout!==Sn.clearTimeout&&e.clearTimeout,Nl=Yc&&Yc.now!==Sn.Date.now&&Yc.now,Dl=e.setTimeout!==Sn.setTimeout&&e.setTimeout,Il=nl.ceil,Ll=nl.floor,Rl=rl.getOwnPropertySymbols,Pl=bl?bl.isBuffer:it,Fl=e.isFinite,ql=sl.join,Ml=X(rl.keys,rl),Hl=nl.max,Bl=nl.min,Ul=Yc.now,Wl=e.parseInt,zl=nl.random,Vl=sl.reverse,Xl=wo(e,"DataView"),Kl=wo(e,"Map"),Jl=wo(e,"Promise"),Ql=wo(e,"Set"),Gl=wo(e,"WeakMap"),Zl=wo(rl,"create"),Yl=Gl&&new Gl,tf={},ef=Qo(Xl),nf=Qo(Kl),rf=Qo(Jl),of=Qo(Ql),af=Qo(Gl),sf=_l?_l.prototype:it,uf=sf?sf.valueOf:it,cf=sf?sf.toString:it,lf=function(){function t(){}return function(e){if(!tu(e))return{};if(Tl)return Tl(e);t.prototype=e;var n=new t;return t.prototype=it,n}}();n.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:$e,variable:"",imports:{_:n}},n.prototype=r.prototype,n.prototype.constructor=n,i.prototype=lf(r.prototype),i.prototype.constructor=i,_.prototype=lf(r.prototype),_.prototype.constructor=_,nt.prototype.clear=Pe,nt.prototype.delete=Ke,nt.prototype.get=Je,nt.prototype.has=Qe,nt.prototype.set=Ge,Ze.prototype.clear=Ye,Ze.prototype.delete=tn,Ze.prototype.get=en,Ze.prototype.has=nn,Ze.prototype.set=rn,on.prototype.clear=an,on.prototype.delete=sn,on.prototype.get=un,on.prototype.has=cn,on.prototype.set=ln,dn.prototype.add=dn.prototype.push=hn,dn.prototype.has=vn,gn.prototype.clear=wn,gn.prototype.delete=xn,gn.prototype.get=Cn,gn.prototype.has=Tn,gn.prototype.set=An;var ff=qi(cr),pf=qi(lr,!0),df=Mi(),hf=Mi(!0),vf=Yl?function(t,e){return Yl.set(t,e),t}:kc,gf=Ol?function(t,e){return Ol(t,"toString",{configurable:!0,enumerable:!1,value:Tc(e),writable:!0})}:kc,mf=Zr,yf=jl||function(t){return Sn.clearTimeout(t)},bf=Ql&&1/J(new Ql([,-0]))[1]==Nt?function(t){return new Ql(t)}:Nc,_f=Yl?function(t){return Yl.get(t)}:Nc,wf=Rl?function(t){return null==t?[]:(t=rl(t),p(Rl(t),function(e){return $l.call(t,e)}))}:Rc,xf=Rl?function(t){for(var e=[];t;)g(e,wf(t)),t=Cl(t);return e}:Rc,Cf=hr;(Xl&&Cf(new Xl(new ArrayBuffer(1)))!=ue||Kl&&Cf(new Kl)!=Jt||Jl&&"[object Promise]"!=Cf(Jl.resolve())||Ql&&Cf(new Ql)!=ee||Gl&&Cf(new Gl)!=oe)&&(Cf=function(t){var e=hr(t),n=e==Zt?t.constructor:it,r=n?Qo(n):"";if(r)switch(r){case ef:return ue;case nf:return Jt;case rf:return"[object Promise]";case of:return ee;case af:return oe}return e});var Tf=ll?Gs:Pc,$f=Xo(vf),kf=Dl||function(t,e){return Sn.setTimeout(t,e)},Af=Xo(gf),Ef=function(t){var e=As(t,function(t){return n.size===ct&&n.clear(),t}),n=e.cache;return e}(function(t){var e=[];return Ee.test(t)&&e.push(""),t.replace(/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,function(t,n,r,i){e.push(r?i.replace(/\\(\\)?/g,"$1"):n||t)}),e}),Sf=Zr(function(t,e){return Us(t)?rr(t,ur(e,1,Us,!0)):[]}),Of=Zr(function(t,e){var n=ma(e);return Us(n)&&(n=it),Us(t)?rr(t,ur(e,1,Us,!0),yo(n,2)):[]}),jf=Zr(function(t,e){var n=ma(e);return Us(n)&&(n=it),Us(t)?rr(t,ur(e,1,Us,!0),it,n):[]}),Nf=Zr(function(t){var e=v(t,mi);return e.length&&e[0]===t[0]?br(e):[]}),Df=Zr(function(t){var e=ma(t),n=v(t,mi);return e===ma(n)?e=it:n.pop(),n.length&&n[0]===t[0]?br(n,yo(e,2)):[]}),If=Zr(function(t){var e=ma(t),n=v(t,mi);return e="function"==typeof e?e:it,e&&n.pop(),n.length&&n[0]===t[0]?br(n,it,e):[]}),Lf=Zr(_a),Rf=po(function(t,e){var n=null==t?0:t.length,r=Gn(t,e);return Kr(t,v(e,function(t){return jo(t,n)?+t:t}).sort(Si)),r}),Pf=Zr(function(t){return li(ur(t,1,Us,!0))}),Ff=Zr(function(t){var e=ma(t);return Us(e)&&(e=it),li(ur(t,1,Us,!0),yo(e,2))}),qf=Zr(function(t){var e=ma(t);return e="function"==typeof e?e:it,li(ur(t,1,Us,!0),it,e)}),Mf=Zr(function(t,e){return Us(t)?rr(t,e):[]}),Hf=Zr(function(t){return vi(p(t,Us))}),Bf=Zr(function(t){var e=ma(t);return Us(e)&&(e=it),vi(p(t,Us),yo(e,2))}),Uf=Zr(function(t){var e=ma(t);return e="function"==typeof e?e:it,vi(p(t,Us),it,e)}),Wf=Zr(Ba),zf=Zr(function(t){var e=t.length,n=e>1?t[e-1]:it;return n="function"==typeof n?(t.pop(),n):it,Ua(t,n)}),Vf=po(function(t){var e=t.length,n=e?t[0]:0,r=this.__wrapped__,o=function(e){return Gn(e,t)};return!(e>1||this.__actions__.length)&&r instanceof _&&jo(n)?(r=r.slice(n,+n+(e?1:0)),r.__actions__.push({func:Ka,args:[o],thisArg:it}),new i(r,this.__chain__).thru(function(t){return e&&!t.length&&t.push(it),t})):this.thru(o)}),Xf=Pi(function(t,e,n){pl.call(t,n)?++t[n]:Qn(t,n,1)}),Kf=Vi(sa),Jf=Vi(ua),Qf=Pi(function(t,e,n){pl.call(t,n)?t[n].push(e):Qn(t,n,[e])}),Gf=Zr(function(t,e,n){var r=-1,i="function"==typeof e,o=Bs(t)?Zc(t.length):[];return ff(t,function(t){o[++r]=i?s(e,t,n):wr(t,e,n)}),o}),Zf=Pi(function(t,e,n){Qn(t,n,e)}),Yf=Pi(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]}),tp=Zr(function(t,e){if(null==t)return[];var n=e.length;return n>1&&No(t,e[0],e[1])?e=[]:n>2&&No(e[0],e[1],e[2])&&(e=[e[0]]),Ur(t,ur(e,1),[])}),ep=Nl||function(){return Sn.Date.now()},np=Zr(function(t,e,n){var r=gt;if(n.length){var i=K(n,mo(np));r|=wt}return oo(t,r,e,n,i)}),rp=Zr(function(t,e,n){var r=gt|mt;if(n.length){var i=K(n,mo(rp));r|=wt}return oo(e,r,t,n,i)}),ip=Zr(function(t,e){return nr(t,1,e)}),op=Zr(function(t,e,n){return nr(t,_u(e)||0,n)});As.Cache=on;var ap=mf(function(t,e){e=1==e.length&&dp(e[0])?v(e[0],L(yo())):v(ur(e,1),L(yo()));var n=e.length;return Zr(function(r){for(var i=-1,o=Bl(r.length,n);++i<o;)r[i]=e[i].call(this,r[i]);return s(t,this,r)})}),sp=Zr(function(t,e){var n=K(e,mo(sp));return oo(t,wt,it,e,n)}),up=Zr(function(t,e){var n=K(e,mo(up));return oo(t,xt,it,e,n)}),cp=po(function(t,e){return oo(t,Tt,it,it,it,e)}),lp=eo(vr),fp=eo(function(t,e){return t>=e}),pp=xr(function(){return arguments}())?xr:function(t){return eu(t)&&pl.call(t,"callee")&&!$l.call(t,"callee")},dp=Zc.isArray,hp=Ln?L(Ln):Cr,vp=Pl||Pc,gp=Rn?L(Rn):Tr,mp=Pn?L(Pn):Ar,yp=Fn?L(Fn):Or,bp=qn?L(qn):jr,_p=Mn?L(Mn):Nr,wp=eo(Rr),xp=eo(function(t,e){return t<=e}),Cp=Fi(function(t,e){if(Po(e)||Bs(e))return void Ii(e,Ru(e),t);for(var n in e)pl.call(e,n)&&Hn(t,n,e[n])}),Tp=Fi(function(t,e){Ii(e,Pu(e),t)}),$p=Fi(function(t,e,n,r){Ii(e,Pu(e),t,r)}),kp=Fi(function(t,e,n,r){Ii(e,Ru(e),t,r)}),Ap=po(Gn),Ep=Zr(function(t){return t.push(it,ao),s($p,it,t)}),Sp=Zr(function(t){return t.push(it,so),s(Ip,it,t)}),Op=Ji(function(t,e,n){t[e]=n},Tc(kc)),jp=Ji(function(t,e,n){pl.call(t,e)?t[e].push(n):t[e]=[n]},yo),Np=Zr(wr),Dp=Fi(function(t,e,n){Mr(t,e,n)}),Ip=Fi(function(t,e,n,r){Mr(t,e,n,r)}),Lp=po(function(t,e){var n={};if(null==t)return n;var r=!1;e=v(e,function(e){return e=bi(e,t),r||(r=e.length>1),e}),Ii(t,vo(t),n),r&&(n=Yn(n,ft|pt|dt,uo));for(var i=e.length;i--;)fi(n,e[i]);return n}),Rp=po(function(t,e){return null==t?{}:Wr(t,e)}),Pp=io(Ru),Fp=io(Pu),qp=Ui(function(t,e,n){return e=e.toLowerCase(),t+(n?tc(e):e)}),Mp=Ui(function(t,e,n){return t+(n?"-":"")+e.toLowerCase()}),Hp=Ui(function(t,e,n){return t+(n?" ":"")+e.toLowerCase()}),Bp=Bi("toLowerCase"),Up=Ui(function(t,e,n){return t+(n?"_":"")+e.toLowerCase()}),Wp=Ui(function(t,e,n){return t+(n?" ":"")+Vp(e)}),zp=Ui(function(t,e,n){return t+(n?" ":"")+e.toUpperCase()}),Vp=Bi("toUpperCase"),Xp=Zr(function(t,e){try{return s(t,it,e)}catch(t){return Js(t)?t:new tl(t)}}),Kp=po(function(t,e){return c(e,function(e){e=Jo(e),Qn(t,e,np(t[e],t))}),t}),Jp=Xi(),Qp=Xi(!0),Gp=Zr(function(t,e){return function(n){return wr(n,t,e)}}),Zp=Zr(function(t,e){return function(n){return wr(t,n,e)}}),Yp=Gi(v),td=Gi(f),ed=Gi(b),nd=to(),rd=to(!0),id=Qi(function(t,e){return t+e},0),od=ro("ceil"),ad=Qi(function(t,e){return t/e},1),sd=ro("floor"),ud=Qi(function(t,e){return t*e},1),cd=ro("round"),ld=Qi(function(t,e){return t-e},0);return n.after=_s,n.ary=ws,n.assign=Cp,n.assignIn=Tp,n.assignInWith=$p,n.assignWith=kp,n.at=Ap,n.before=xs,n.bind=np,n.bindAll=Kp,n.bindKey=rp,n.castArray=Ls,n.chain=Va,n.chunk=Yo,n.compact=ta,n.concat=ea,n.cond=xc,n.conforms=Cc,n.constant=Tc,n.countBy=Xf,n.create=Tu,n.curry=Cs,n.curryRight=Ts,n.debounce=$s,n.defaults=Ep,n.defaultsDeep=Sp,n.defer=ip,n.delay=op,n.difference=Sf,n.differenceBy=Of,n.differenceWith=jf,n.drop=na,n.dropRight=ra,n.dropRightWhile=ia,n.dropWhile=oa,n.fill=aa,n.filter=rs,n.flatMap=is,n.flatMapDeep=os,n.flatMapDepth=as,n.flatten=ca,n.flattenDeep=la,n.flattenDepth=fa,n.flip=ks,n.flow=Jp,n.flowRight=Qp,n.fromPairs=pa,n.functions=ju,n.functionsIn=Nu,n.groupBy=Qf,n.initial=va,n.intersection=Nf,n.intersectionBy=Df,n.intersectionWith=If,n.invert=Op,n.invertBy=jp,n.invokeMap=Gf,n.iteratee=Ac,n.keyBy=Zf,n.keys=Ru,n.keysIn=Pu,n.map=ls,n.mapKeys=Fu,n.mapValues=qu,n.matches=Ec,n.matchesProperty=Sc,n.memoize=As,n.merge=Dp,n.mergeWith=Ip,n.method=Gp,n.methodOf=Zp,n.mixin=Oc,n.negate=Es,n.nthArg=Dc,n.omit=Lp,n.omitBy=Mu,n.once=Ss,n.orderBy=fs,n.over=Yp,n.overArgs=ap,n.overEvery=td,n.overSome=ed,n.partial=sp,n.partialRight=up,n.partition=Yf,n.pick=Rp,n.pickBy=Hu,n.property=Ic,n.propertyOf=Lc,n.pull=Lf,n.pullAll=_a,n.pullAllBy=wa,n.pullAllWith=xa,n.pullAt=Rf,n.range=nd,n.rangeRight=rd,n.rearg=cp,n.reject=hs,n.remove=Ca,n.rest=Os,n.reverse=Ta,n.sampleSize=gs,n.set=Uu,n.setWith=Wu,n.shuffle=ms,n.slice=$a,n.sortBy=tp,n.sortedUniq=Na,n.sortedUniqBy=Da,n.split=fc,n.spread=js,n.tail=Ia,n.take=La,n.takeRight=Ra,n.takeRightWhile=Pa,n.takeWhile=Fa,n.tap=Xa,n.throttle=Ns,n.thru=Ka,n.toArray=gu,n.toPairs=Pp,n.toPairsIn=Fp,n.toPath=Bc,n.toPlainObject=wu,n.transform=zu,n.unary=Ds,n.union=Pf,n.unionBy=Ff,n.unionWith=qf,n.uniq=qa,n.uniqBy=Ma,n.uniqWith=Ha,n.unset=Vu,n.unzip=Ba,n.unzipWith=Ua,n.update=Xu,n.updateWith=Ku,n.values=Ju,n.valuesIn=Qu,n.without=Mf,n.words=wc,n.wrap=Is,n.xor=Hf,n.xorBy=Bf,n.xorWith=Uf,n.zip=Wf,n.zipObject=Wa,n.zipObjectDeep=za,n.zipWith=zf,n.entries=Pp,n.entriesIn=Fp,n.extend=Tp,n.extendWith=$p,Oc(n,n),n.add=id,n.attempt=Xp,n.camelCase=qp,n.capitalize=tc,n.ceil=od,n.clamp=Gu,n.clone=Rs,n.cloneDeep=Fs,n.cloneDeepWith=qs,n.cloneWith=Ps,n.conformsTo=Ms,n.deburr=ec,n.defaultTo=$c,n.divide=ad,n.endsWith=nc,n.eq=Hs,n.escape=rc,n.escapeRegExp=ic,n.every=ns,n.find=Kf,n.findIndex=sa,n.findKey=$u,n.findLast=Jf,n.findLastIndex=ua,n.findLastKey=ku,n.floor=sd,n.forEach=ss,n.forEachRight=us,n.forIn=Au,n.forInRight=Eu,n.forOwn=Su,n.forOwnRight=Ou,n.get=Du,n.gt=lp,n.gte=fp,n.has=Iu,n.hasIn=Lu,n.head=da,n.identity=kc,n.includes=cs,n.indexOf=ha,n.inRange=Zu,n.invoke=Np,n.isArguments=pp,n.isArray=dp,n.isArrayBuffer=hp,n.isArrayLike=Bs,n.isArrayLikeObject=Us,n.isBoolean=Ws,n.isBuffer=vp,n.isDate=gp,n.isElement=zs,n.isEmpty=Vs,n.isEqual=Xs,n.isEqualWith=Ks,n.isError=Js,n.isFinite=Qs,n.isFunction=Gs,n.isInteger=Zs,n.isLength=Ys,n.isMap=mp,n.isMatch=nu,n.isMatchWith=ru,n.isNaN=iu,n.isNative=ou,n.isNil=su,n.isNull=au,n.isNumber=uu,n.isObject=tu,n.isObjectLike=eu,n.isPlainObject=cu,n.isRegExp=yp,n.isSafeInteger=lu,n.isSet=bp,n.isString=fu,n.isSymbol=pu,n.isTypedArray=_p,n.isUndefined=du,n.isWeakMap=hu,n.isWeakSet=vu,n.join=ga,n.kebabCase=Mp,n.last=ma,n.lastIndexOf=ya,n.lowerCase=Hp,n.lowerFirst=Bp,n.lt=wp,n.lte=xp,n.max=Wc,n.maxBy=zc,n.mean=Vc,n.meanBy=Xc,n.min=Kc,n.minBy=Jc,n.stubArray=Rc,n.stubFalse=Pc,n.stubObject=Fc,n.stubString=qc,n.stubTrue=Mc,n.multiply=ud,n.nth=ba,n.noConflict=jc,n.noop=Nc,n.now=ep,n.pad=oc,n.padEnd=ac,n.padStart=sc,n.parseInt=uc,n.random=Yu,n.reduce=ps,n.reduceRight=ds,n.repeat=cc,n.replace=lc,n.result=Bu,n.round=cd,n.runInContext=t,n.sample=vs,n.size=ys,n.snakeCase=Up,n.some=bs,n.sortedIndex=ka,n.sortedIndexBy=Aa,n.sortedIndexOf=Ea,n.sortedLastIndex=Sa,n.sortedLastIndexBy=Oa,n.sortedLastIndexOf=ja,n.startCase=Wp,n.startsWith=pc,n.subtract=ld,n.sum=Qc,n.sumBy=Gc,n.template=dc,n.times=Hc,n.toFinite=mu,n.toInteger=yu,n.toLength=bu,n.toLower=hc,n.toNumber=_u,n.toSafeInteger=xu,n.toString=Cu,n.toUpper=vc,n.trim=gc,n.trimEnd=mc,n.trimStart=yc,n.truncate=bc,n.unescape=_c,n.uniqueId=Uc,n.upperCase=zp,n.upperFirst=Vp,n.each=ss,n.eachRight=us,n.first=da,Oc(n,function(){var t={};return cr(n,function(e,r){pl.call(n.prototype,r)||(t[r]=e)}),t}(),{chain:!1}),n.VERSION="4.17.4",c(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){n[t].placeholder=n}),c(["drop","take"],function(t,e){_.prototype[t]=function(n){n=n===it?1:Hl(yu(n),0);var r=this.__filtered__&&!e?new _(this):this.clone();return r.__filtered__?r.__takeCount__=Bl(n,r.__takeCount__):r.__views__.push({size:Bl(n,Rt),type:t+(r.__dir__<0?"Right":"")}),r},_.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),c(["filter","map","takeWhile"],function(t,e){var n=e+1,r=n==Ot||3==n;_.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:yo(t,3),type:n}),e.__filtered__=e.__filtered__||r,e}}),c(["head","last"],function(t,e){var n="take"+(e?"Right":"");_.prototype[t]=function(){return this[n](1).value()[0]}}),c(["initial","tail"],function(t,e){var n="drop"+(e?"":"Right");_.prototype[t]=function(){return this.__filtered__?new _(this):this[n](1)}}),_.prototype.compact=function(){return this.filter(kc)},_.prototype.find=function(t){return this.filter(t).head()},_.prototype.findLast=function(t){return this.reverse().find(t)},_.prototype.invokeMap=Zr(function(t,e){return"function"==typeof t?new _(this):this.map(function(n){return wr(n,t,e)})}),_.prototype.reject=function(t){return this.filter(Es(yo(t)))},_.prototype.slice=function(t,e){t=yu(t);var n=this;return n.__filtered__&&(t>0||e<0)?new _(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==it&&(e=yu(e),n=e<0?n.dropRight(-e):n.take(e-t)),n)},_.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},_.prototype.toArray=function(){return this.take(Rt)},cr(_.prototype,function(t,e){var r=/^(?:filter|find|map|reject)|While$/.test(e),o=/^(?:head|last)$/.test(e),a=n[o?"take"+("last"==e?"Right":""):e],s=o||/^find/.test(e);a&&(n.prototype[e]=function(){var e=this.__wrapped__,u=o?[1]:arguments,c=e instanceof _,l=u[0],f=c||dp(e),p=function(t){var e=a.apply(n,g([t],u));return o&&d?e[0]:e};f&&r&&"function"==typeof l&&1!=l.length&&(c=f=!1);var d=this.__chain__,h=!!this.__actions__.length,v=s&&!d,m=c&&!h;if(!s&&f){e=m?e:new _(this);var y=t.apply(e,u);return y.__actions__.push({func:Ka,args:[p],thisArg:it}),new i(y,d)}return v&&m?t.apply(this,u):(y=this.thru(p),v?o?y.value()[0]:y.value():y)})}),c(["pop","push","shift","sort","splice","unshift"],function(t){var e=sl[t],r=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",i=/^(?:pop|shift)$/.test(t);n.prototype[t]=function(){var t=arguments;if(i&&!this.__chain__){var n=this.value();return e.apply(dp(n)?n:[],t)}return this[r](function(n){return e.apply(dp(n)?n:[],t)})}}),cr(_.prototype,function(t,e){var r=n[e];if(r){var i=r.name+"";(tf[i]||(tf[i]=[])).push({name:e,func:r})}}),tf[Ki(it,mt).name]=[{name:"wrapper",func:it}],_.prototype.clone=S,_.prototype.reverse=G,_.prototype.value=et,n.prototype.at=Vf,n.prototype.chain=Ja,n.prototype.commit=Qa,n.prototype.next=Ga,n.prototype.plant=Ya,n.prototype.reverse=ts,n.prototype.toJSON=n.prototype.valueOf=n.prototype.value=es,n.prototype.first=n.prototype.head,El&&(n.prototype[El]=Za),n}();Sn._=zn,(i=function(){return zn}.call(e,n,e,r))!==it&&(r.exports=i)}).call(this)}).call(e,n(7),n(38)(t))},function(t,e){function n(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function i(t){if(l===setTimeout)return setTimeout(t,0);if((l===n||!l)&&setTimeout)return l=setTimeout,setTimeout(t,0);try{return l(t,0)}catch(e){try{return l.call(null,t,0)}catch(e){return l.call(this,t,0)}}}function o(t){if(f===clearTimeout)return clearTimeout(t);if((f===r||!f)&&clearTimeout)return f=clearTimeout,clearTimeout(t);try{return f(t)}catch(e){try{return f.call(null,t)}catch(e){return f.call(this,t)}}}function a(){v&&d&&(v=!1,d.length?h=d.concat(h):g=-1,h.length&&s())}function s(){if(!v){var t=i(a);v=!0;for(var e=h.length;e;){for(d=h,h=[];++g<e;)d&&d[g].run();g=-1,e=h.length}d=null,v=!1,o(t)}}function u(t,e){this.fun=t,this.array=e}function c(){}var l,f,p=t.exports={};!function(){try{l="function"==typeof setTimeout?setTimeout:n}catch(t){l=n}try{f="function"==typeof clearTimeout?clearTimeout:r}catch(t){f=r}}();var d,h=[],v=!1,g=-1;p.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];h.push(new u(t,e)),1!==h.length||v||i(s)},u.prototype.run=function(){this.fun.apply(null,this.array)},p.title="browser",p.browser=!0,p.env={},p.argv=[],p.version="",p.versions={},p.on=c,p.addListener=c,p.once=c,p.off=c,p.removeListener=c,p.removeAllListeners=c,p.emit=c,p.prependListener=c,p.prependOnceListener=c,p.listeners=function(t){return[]},p.binding=function(t){throw new Error("process.binding is not supported")},p.cwd=function(){return"/"},p.chdir=function(t){throw new Error("process.chdir is not supported")},p.umask=function(){return 0}},function(t,e,n){var r=n(35)(n(28),n(36),null,null);t.exports=r.exports},function(t,e){t.exports=function(t,e,n,r){var i,o=t=t||{},a=typeof t.default;"object"!==a&&"function"!==a||(i=t,o=t.default);var s="function"==typeof o?o.options:o;if(e&&(s.render=e.render,s.staticRenderFns=e.staticRenderFns),n&&(s._scopeId=n),r){var u=Object.create(s.computed||null);Object.keys(r).forEach(function(t){var e=r[t];u[t]=function(){return e}}),s.computed=u}return{esModule:i,exports:o,options:s}}},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement;t._self._c;return t._m(0)},staticRenderFns:[function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"container"},[n("div",{staticClass:"row"},[n("div",{staticClass:"col-md-8 col-md-offset-2"},[n("div",{staticClass:"panel panel-default"},[n("div",{staticClass:"panel-heading"},[t._v("Example Component")]),t._v(" "),n("div",{staticClass:"panel-body"},[t._v("\n I'm an example component!\n ")])])])])])}]}},function(t,e,n){"use strict";(function(e){/*! + * Vue.js v2.3.3 + * (c) 2014-2017 Evan You + * Released under the MIT License. + */ +function n(t){return void 0===t||null===t}function r(t){return void 0!==t&&null!==t}function i(t){return!0===t}function o(t){return!1===t}function a(t){return"string"==typeof t||"number"==typeof t}function s(t){return null!==t&&"object"==typeof t}function u(t){return"[object Object]"===ji.call(t)}function c(t){return"[object RegExp]"===ji.call(t)}function l(t){return null==t?"":"object"==typeof t?JSON.stringify(t,null,2):String(t)}function f(t){var e=parseFloat(t);return isNaN(e)?t:e}function p(t,e){for(var n=Object.create(null),r=t.split(","),i=0;i<r.length;i++)n[r[i]]=!0;return e?function(t){return n[t.toLowerCase()]}:function(t){return n[t]}}function d(t,e){if(t.length){var n=t.indexOf(e);if(n>-1)return t.splice(n,1)}}function h(t,e){return Di.call(t,e)}function v(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}function g(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n}function m(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function y(t,e){for(var n in e)t[n]=e[n];return t}function b(t){for(var e={},n=0;n<t.length;n++)t[n]&&y(e,t[n]);return e}function _(){}function w(t,e){var n=s(t),r=s(e);if(!n||!r)return!n&&!r&&String(t)===String(e);try{return JSON.stringify(t)===JSON.stringify(e)}catch(n){return t===e}}function x(t,e){for(var n=0;n<t.length;n++)if(w(t[n],e))return n;return-1}function C(t){var e=!1;return function(){e||(e=!0,t.apply(this,arguments))}}function T(t){var e=(t+"").charCodeAt(0);return 36===e||95===e}function $(t,e,n,r){Object.defineProperty(t,e,{value:n,enumerable:!!r,writable:!0,configurable:!0})}function k(t){if(!Wi.test(t)){var e=t.split(".");return function(t){for(var n=0;n<e.length;n++){if(!t)return;t=t[e[n]]}return t}}}function A(t,e,n){if(Bi.errorHandler)Bi.errorHandler.call(null,t,e,n);else if(!Xi||"undefined"==typeof console)throw t}function E(t){return"function"==typeof t&&/native code/.test(t.toString())}function S(t){lo.target&&fo.push(lo.target),lo.target=t}function O(){lo.target=fo.pop()}function j(t,e){t.__proto__=e}function N(t,e,n){for(var r=0,i=n.length;r<i;r++){var o=n[r];$(t,o,e[o])}}function D(t,e){if(s(t)){var n;return h(t,"__ob__")&&t.__ob__ instanceof mo?n=t.__ob__:go.shouldConvert&&!oo()&&(Array.isArray(t)||u(t))&&Object.isExtensible(t)&&!t._isVue&&(n=new mo(t)),e&&n&&n.vmCount++,n}}function I(t,e,n,r){var i=new lo,o=Object.getOwnPropertyDescriptor(t,e);if(!o||!1!==o.configurable){var a=o&&o.get,s=o&&o.set,u=D(n);Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){var e=a?a.call(t):n;return lo.target&&(i.depend(),u&&u.dep.depend(),Array.isArray(e)&&P(e)),e},set:function(e){var r=a?a.call(t):n;e===r||e!==e&&r!==r||(s?s.call(t,e):n=e,u=D(e),i.notify())}})}}function L(t,e,n){if(Array.isArray(t)&&"number"==typeof e)return t.length=Math.max(t.length,e),t.splice(e,1,n),n;if(h(t,e))return t[e]=n,n;var r=t.__ob__;return t._isVue||r&&r.vmCount?n:r?(I(r.value,e,n),r.dep.notify(),n):(t[e]=n,n)}function R(t,e){if(Array.isArray(t)&&"number"==typeof e)return void t.splice(e,1);var n=t.__ob__;t._isVue||n&&n.vmCount||h(t,e)&&(delete t[e],n&&n.dep.notify())}function P(t){for(var e=void 0,n=0,r=t.length;n<r;n++)e=t[n],e&&e.__ob__&&e.__ob__.dep.depend(),Array.isArray(e)&&P(e)}function F(t,e){if(!e)return t;for(var n,r,i,o=Object.keys(e),a=0;a<o.length;a++)n=o[a],r=t[n],i=e[n],h(t,n)?u(r)&&u(i)&&F(r,i):L(t,n,i);return t}function q(t,e){return e?t?t.concat(e):Array.isArray(e)?e:[e]:t}function M(t,e){var n=Object.create(t||null);return e?y(n,e):n}function H(t){var e=t.props;if(e){var n,r,i,o={};if(Array.isArray(e))for(n=e.length;n--;)"string"==typeof(r=e[n])&&(i=Ii(r),o[i]={type:null});else if(u(e))for(var a in e)r=e[a],i=Ii(a),o[i]=u(r)?r:{type:r};t.props=o}}function B(t){var e=t.directives;if(e)for(var n in e){var r=e[n];"function"==typeof r&&(e[n]={bind:r,update:r})}}function U(t,e,n){function r(r){var i=yo[r]||bo;u[r]=i(t[r],e[r],n,r)}"function"==typeof e&&(e=e.options),H(e),B(e);var i=e.extends;if(i&&(t=U(t,i,n)),e.mixins)for(var o=0,a=e.mixins.length;o<a;o++)t=U(t,e.mixins[o],n);var s,u={};for(s in t)r(s);for(s in e)h(t,s)||r(s);return u}function W(t,e,n,r){if("string"==typeof n){var i=t[e];if(h(i,n))return i[n];var o=Ii(n);if(h(i,o))return i[o];var a=Li(o);if(h(i,a))return i[a];return i[n]||i[o]||i[a]}}function z(t,e,n,r){var i=e[t],o=!h(n,t),a=n[t];if(K(Boolean,i.type)&&(o&&!h(i,"default")?a=!1:K(String,i.type)||""!==a&&a!==Ri(t)||(a=!0)),void 0===a){a=V(r,i,t);var s=go.shouldConvert;go.shouldConvert=!0,D(a),go.shouldConvert=s}return a}function V(t,e,n){if(h(e,"default")){var r=e.default;return t&&t.$options.propsData&&void 0===t.$options.propsData[n]&&void 0!==t._props[n]?t._props[n]:"function"==typeof r&&"Function"!==X(e.type)?r.call(t):r}}function X(t){var e=t&&t.toString().match(/^\s*function (\w+)/);return e?e[1]:""}function K(t,e){if(!Array.isArray(e))return X(e)===X(t);for(var n=0,r=e.length;n<r;n++)if(X(e[n])===X(t))return!0;return!1}function J(t){return new _o(void 0,void 0,void 0,String(t))}function Q(t){var e=new _o(t.tag,t.data,t.children,t.text,t.elm,t.context,t.componentOptions);return e.ns=t.ns,e.isStatic=t.isStatic,e.key=t.key,e.isComment=t.isComment,e.isCloned=!0,e}function G(t){for(var e=t.length,n=new Array(e),r=0;r<e;r++)n[r]=Q(t[r]);return n}function Z(t){function e(){var t=arguments,n=e.fns;if(!Array.isArray(n))return n.apply(null,arguments);for(var r=0;r<n.length;r++)n[r].apply(null,t)}return e.fns=t,e}function Y(t,e,r,i,o){var a,s,u,c;for(a in t)s=t[a],u=e[a],c=To(a),n(s)||(n(u)?(n(s.fns)&&(s=t[a]=Z(s)),r(c.name,s,c.once,c.capture,c.passive)):s!==u&&(u.fns=s,t[a]=u));for(a in e)n(t[a])&&(c=To(a),i(c.name,e[a],c.capture))}function tt(t,e,o){function a(){o.apply(this,arguments),d(s.fns,a)}var s,u=t[e];n(u)?s=Z([a]):r(u.fns)&&i(u.merged)?(s=u,s.fns.push(a)):s=Z([u,a]),s.merged=!0,t[e]=s}function et(t,e,i){var o=e.options.props;if(!n(o)){var a={},s=t.attrs,u=t.props;if(r(s)||r(u))for(var c in o){var l=Ri(c);nt(a,u,c,l,!0)||nt(a,s,c,l,!1)}return a}}function nt(t,e,n,i,o){if(r(e)){if(h(e,n))return t[n]=e[n],o||delete e[n],!0;if(h(e,i))return t[n]=e[i],o||delete e[i],!0}return!1}function rt(t){for(var e=0;e<t.length;e++)if(Array.isArray(t[e]))return Array.prototype.concat.apply([],t);return t}function it(t){return a(t)?[J(t)]:Array.isArray(t)?at(t):void 0}function ot(t){return r(t)&&r(t.text)&&o(t.isComment)}function at(t,e){var o,s,u,c=[];for(o=0;o<t.length;o++)s=t[o],n(s)||"boolean"==typeof s||(u=c[c.length-1],Array.isArray(s)?c.push.apply(c,at(s,(e||"")+"_"+o)):a(s)?ot(u)?u.text+=String(s):""!==s&&c.push(J(s)):ot(s)&&ot(u)?c[c.length-1]=J(u.text+s.text):(i(t._isVList)&&r(s.tag)&&n(s.key)&&r(e)&&(s.key="__vlist"+e+"_"+o+"__"),c.push(s)));return c}function st(t,e){return s(t)?e.extend(t):t}function ut(t,e,o){if(i(t.error)&&r(t.errorComp))return t.errorComp;if(r(t.resolved))return t.resolved;if(i(t.loading)&&r(t.loadingComp))return t.loadingComp;if(!r(t.contexts)){var a=t.contexts=[o],u=!0,c=function(){for(var t=0,e=a.length;t<e;t++)a[t].$forceUpdate()},l=C(function(n){t.resolved=st(n,e),u||c()}),f=C(function(e){r(t.errorComp)&&(t.error=!0,c())}),p=t(l,f);return s(p)&&("function"==typeof p.then?n(t.resolved)&&p.then(l,f):r(p.component)&&"function"==typeof p.component.then&&(p.component.then(l,f),r(p.error)&&(t.errorComp=st(p.error,e)),r(p.loading)&&(t.loadingComp=st(p.loading,e),0===p.delay?t.loading=!0:setTimeout(function(){n(t.resolved)&&n(t.error)&&(t.loading=!0,c())},p.delay||200)),r(p.timeout)&&setTimeout(function(){n(t.resolved)&&f(null)},p.timeout))),u=!1,t.loading?t.loadingComp:t.resolved}t.contexts.push(o)}function ct(t){if(Array.isArray(t))for(var e=0;e<t.length;e++){var n=t[e];if(r(n)&&r(n.componentOptions))return n}}function lt(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&dt(t,e)}function ft(t,e,n){n?xo.$once(t,e):xo.$on(t,e)}function pt(t,e){xo.$off(t,e)}function dt(t,e,n){xo=t,Y(e,n||{},ft,pt,t)}function ht(t,e){var n={};if(!t)return n;for(var r=[],i=0,o=t.length;i<o;i++){var a=t[i];if(a.context!==e&&a.functionalContext!==e||!a.data||null==a.data.slot)r.push(a);else{var s=a.data.slot,u=n[s]||(n[s]=[]);"template"===a.tag?u.push.apply(u,a.children):u.push(a)}}return r.every(vt)||(n.default=r),n}function vt(t){return t.isComment||" "===t.text}function gt(t,e){e=e||{};for(var n=0;n<t.length;n++)Array.isArray(t[n])?gt(t[n],e):e[t[n].key]=t[n].fn;return e}function mt(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(t)}t.$parent=n,t.$root=n?n.$root:t,t.$children=[],t.$refs={},t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}function yt(t,e,n){t.$el=e,t.$options.render||(t.$options.render=Co),Ct(t,"beforeMount");var r;return r=function(){t._update(t._render(),n)},t._watcher=new Do(t,r,_),n=!1,null==t.$vnode&&(t._isMounted=!0,Ct(t,"mounted")),t}function bt(t,e,n,r,i){var o=!!(i||t.$options._renderChildren||r.data.scopedSlots||t.$scopedSlots!==Ui);if(t.$options._parentVnode=r,t.$vnode=r,t._vnode&&(t._vnode.parent=r),t.$options._renderChildren=i,e&&t.$options.props){go.shouldConvert=!1;for(var a=t._props,s=t.$options._propKeys||[],u=0;u<s.length;u++){var c=s[u];a[c]=z(c,t.$options.props,e,t)}go.shouldConvert=!0,t.$options.propsData=e}if(n){var l=t.$options._parentListeners;t.$options._parentListeners=n,dt(t,n,l)}o&&(t.$slots=ht(i,r.context),t.$forceUpdate())}function _t(t){for(;t&&(t=t.$parent);)if(t._inactive)return!0;return!1}function wt(t,e){if(e){if(t._directInactive=!1,_t(t))return}else if(t._directInactive)return;if(t._inactive||null===t._inactive){t._inactive=!1;for(var n=0;n<t.$children.length;n++)wt(t.$children[n]);Ct(t,"activated")}}function xt(t,e){if(!(e&&(t._directInactive=!0,_t(t))||t._inactive)){t._inactive=!0;for(var n=0;n<t.$children.length;n++)xt(t.$children[n]);Ct(t,"deactivated")}}function Ct(t,e){var n=t.$options[e];if(n)for(var r=0,i=n.length;r<i;r++)try{n[r].call(t)}catch(n){A(n,t,e+" hook")}t._hasHookEvent&&t.$emit("hook:"+e)}function Tt(){jo=ko.length=Ao.length=0,Eo={},So=Oo=!1}function $t(){Oo=!0;var t,e;for(ko.sort(function(t,e){return t.id-e.id}),jo=0;jo<ko.length;jo++)t=ko[jo],e=t.id,Eo[e]=null,t.run();var n=Ao.slice(),r=ko.slice();Tt(),Et(n),kt(r),ao&&Bi.devtools&&ao.emit("flush")}function kt(t){for(var e=t.length;e--;){var n=t[e],r=n.vm;r._watcher===n&&r._isMounted&&Ct(r,"updated")}}function At(t){t._inactive=!1,Ao.push(t)}function Et(t){for(var e=0;e<t.length;e++)t[e]._inactive=!0,wt(t[e],!0)}function St(t){var e=t.id;if(null==Eo[e]){if(Eo[e]=!0,Oo){for(var n=ko.length-1;n>jo&&ko[n].id>t.id;)n--;ko.splice(n+1,0,t)}else ko.push(t);So||(So=!0,uo($t))}}function Ot(t){Io.clear(),jt(t,Io)}function jt(t,e){var n,r,i=Array.isArray(t);if((i||s(t))&&Object.isExtensible(t)){if(t.__ob__){var o=t.__ob__.dep.id;if(e.has(o))return;e.add(o)}if(i)for(n=t.length;n--;)jt(t[n],e);else for(r=Object.keys(t),n=r.length;n--;)jt(t[r[n]],e)}}function Nt(t,e,n){Lo.get=function(){return this[e][n]},Lo.set=function(t){this[e][n]=t},Object.defineProperty(t,n,Lo)}function Dt(t){t._watchers=[];var e=t.$options;e.props&&It(t,e.props),e.methods&&Mt(t,e.methods),e.data?Lt(t):D(t._data={},!0),e.computed&&Pt(t,e.computed),e.watch&&Ht(t,e.watch)}function It(t,e){var n=t.$options.propsData||{},r=t._props={},i=t.$options._propKeys=[],o=!t.$parent;go.shouldConvert=o;for(var a in e)!function(o){i.push(o);var a=z(o,e,n,t);I(r,o,a),o in t||Nt(t,"_props",o)}(a);go.shouldConvert=!0}function Lt(t){var e=t.$options.data;e=t._data="function"==typeof e?Rt(e,t):e||{},u(e)||(e={});for(var n=Object.keys(e),r=t.$options.props,i=n.length;i--;)r&&h(r,n[i])||T(n[i])||Nt(t,"_data",n[i]);D(e,!0)}function Rt(t,e){try{return t.call(e)}catch(t){return A(t,e,"data()"),{}}}function Pt(t,e){var n=t._computedWatchers=Object.create(null);for(var r in e){var i=e[r],o="function"==typeof i?i:i.get;n[r]=new Do(t,o,_,Ro),r in t||Ft(t,r,i)}}function Ft(t,e,n){"function"==typeof n?(Lo.get=qt(e),Lo.set=_):(Lo.get=n.get?!1!==n.cache?qt(e):n.get:_,Lo.set=n.set?n.set:_),Object.defineProperty(t,e,Lo)}function qt(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),lo.target&&e.depend(),e.value}}function Mt(t,e){t.$options.props;for(var n in e)t[n]=null==e[n]?_:g(e[n],t)}function Ht(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var i=0;i<r.length;i++)Bt(t,n,r[i]);else Bt(t,n,r)}}function Bt(t,e,n){var r;u(n)&&(r=n,n=n.handler),"string"==typeof n&&(n=t[n]),t.$watch(e,n,r)}function Ut(t){var e=t.$options.provide;e&&(t._provided="function"==typeof e?e.call(t):e)}function Wt(t){var e=zt(t.$options.inject,t);e&&Object.keys(e).forEach(function(n){I(t,n,e[n])})}function zt(t,e){if(t){for(var n=Array.isArray(t),r=Object.create(null),i=n?t:so?Reflect.ownKeys(t):Object.keys(t),o=0;o<i.length;o++)for(var a=i[o],s=n?a:t[a],u=e;u;){if(u._provided&&s in u._provided){r[a]=u._provided[s];break}u=u.$parent}return r}}function Vt(t,e,n,i,o){var a={},s=t.options.props;if(r(s))for(var u in s)a[u]=z(u,s,e||{});else r(n.attrs)&&Xt(a,n.attrs),r(n.props)&&Xt(a,n.props);var c=Object.create(i),l=function(t,e,n,r){return Yt(c,t,e,n,r,!0)},f=t.options.render.call(null,l,{data:n,props:a,children:o,parent:i,listeners:n.on||{},injections:zt(t.options.inject,i),slots:function(){return ht(o,i)}});return f instanceof _o&&(f.functionalContext=i,f.functionalOptions=t.options,n.slot&&((f.data||(f.data={})).slot=n.slot)),f}function Xt(t,e){for(var n in e)t[Ii(n)]=e[n]}function Kt(t,e,o,a,u){if(!n(t)){var c=o.$options._base;if(s(t)&&(t=c.extend(t)),"function"==typeof t&&(!n(t.cid)||void 0!==(t=ut(t,c,o)))){de(t),e=e||{},r(e.model)&&Zt(t.options,e);var l=et(e,t,u);if(i(t.options.functional))return Vt(t,l,e,o,a);var f=e.on;e.on=e.nativeOn,i(t.options.abstract)&&(e={}),Qt(e);var p=t.options.name||u;return new _o("vue-component-"+t.cid+(p?"-"+p:""),e,void 0,void 0,void 0,o,{Ctor:t,propsData:l,listeners:f,tag:u,children:a})}}}function Jt(t,e,n,i){var o=t.componentOptions,a={_isComponent:!0,parent:e,propsData:o.propsData,_componentTag:o.tag,_parentVnode:t,_parentListeners:o.listeners,_renderChildren:o.children,_parentElm:n||null,_refElm:i||null},s=t.data.inlineTemplate;return r(s)&&(a.render=s.render,a.staticRenderFns=s.staticRenderFns),new o.Ctor(a)}function Qt(t){t.hook||(t.hook={});for(var e=0;e<Fo.length;e++){var n=Fo[e],r=t.hook[n],i=Po[n];t.hook[n]=r?Gt(i,r):i}}function Gt(t,e){return function(n,r,i,o){t(n,r,i,o),e(n,r,i,o)}}function Zt(t,e){var n=t.model&&t.model.prop||"value",i=t.model&&t.model.event||"input";(e.props||(e.props={}))[n]=e.model.value;var o=e.on||(e.on={});r(o[i])?o[i]=[e.model.callback].concat(o[i]):o[i]=e.model.callback}function Yt(t,e,n,r,o,s){return(Array.isArray(n)||a(n))&&(o=r,r=n,n=void 0),i(s)&&(o=Mo),te(t,e,n,r,o)}function te(t,e,n,i,o){if(r(n)&&r(n.__ob__))return Co();if(!e)return Co();Array.isArray(i)&&"function"==typeof i[0]&&(n=n||{},n.scopedSlots={default:i[0]},i.length=0),o===Mo?i=it(i):o===qo&&(i=rt(i));var a,s;if("string"==typeof e){var u;s=Bi.getTagNamespace(e),a=Bi.isReservedTag(e)?new _o(Bi.parsePlatformTagName(e),n,i,void 0,void 0,t):r(u=W(t.$options,"components",e))?Kt(u,n,t,i,e):new _o(e,n,i,void 0,void 0,t)}else a=Kt(e,n,t,i);return r(a)?(s&&ee(a,s),a):Co()}function ee(t,e){if(t.ns=e,"foreignObject"!==t.tag&&r(t.children))for(var i=0,o=t.children.length;i<o;i++){var a=t.children[i];r(a.tag)&&n(a.ns)&&ee(a,e)}}function ne(t,e){var n,i,o,a,u;if(Array.isArray(t)||"string"==typeof t)for(n=new Array(t.length),i=0,o=t.length;i<o;i++)n[i]=e(t[i],i);else if("number"==typeof t)for(n=new Array(t),i=0;i<t;i++)n[i]=e(i+1,i);else if(s(t))for(a=Object.keys(t),n=new Array(a.length),i=0,o=a.length;i<o;i++)u=a[i],n[i]=e(t[u],u,i);return r(n)&&(n._isVList=!0),n}function re(t,e,n,r){var i=this.$scopedSlots[t];if(i)return n=n||{},r&&y(n,r),i(n)||e;var o=this.$slots[t];return o||e}function ie(t){return W(this.$options,"filters",t,!0)||Fi}function oe(t,e,n){var r=Bi.keyCodes[e]||n;return Array.isArray(r)?-1===r.indexOf(t):r!==t}function ae(t,e,n,r){if(n)if(s(n)){Array.isArray(n)&&(n=b(n));var i;for(var o in n){if("class"===o||"style"===o)i=t;else{var a=t.attrs&&t.attrs.type;i=r||Bi.mustUseProp(e,a,o)?t.domProps||(t.domProps={}):t.attrs||(t.attrs={})}o in i||(i[o]=n[o])}}else;return t}function se(t,e){var n=this._staticTrees[t];return n&&!e?Array.isArray(n)?G(n):Q(n):(n=this._staticTrees[t]=this.$options.staticRenderFns[t].call(this._renderProxy),ce(n,"__static__"+t,!1),n)}function ue(t,e,n){return ce(t,"__once__"+e+(n?"_"+n:""),!0),t}function ce(t,e,n){if(Array.isArray(t))for(var r=0;r<t.length;r++)t[r]&&"string"!=typeof t[r]&&le(t[r],e+"_"+r,n);else le(t,e,n)}function le(t,e,n){t.isStatic=!0,t.key=e,t.isOnce=n}function fe(t){t._vnode=null,t._staticTrees=null;var e=t.$vnode=t.$options._parentVnode,n=e&&e.context;t.$slots=ht(t.$options._renderChildren,n),t.$scopedSlots=Ui,t._c=function(e,n,r,i){return Yt(t,e,n,r,i,!1)},t.$createElement=function(e,n,r,i){return Yt(t,e,n,r,i,!0)}}function pe(t,e){var n=t.$options=Object.create(t.constructor.options);n.parent=e.parent,n.propsData=e.propsData,n._parentVnode=e._parentVnode,n._parentListeners=e._parentListeners,n._renderChildren=e._renderChildren,n._componentTag=e._componentTag,n._parentElm=e._parentElm,n._refElm=e._refElm,e.render&&(n.render=e.render,n.staticRenderFns=e.staticRenderFns)}function de(t){var e=t.options;if(t.super){var n=de(t.super);if(n!==t.superOptions){t.superOptions=n;var r=he(t);r&&y(t.extendOptions,r),e=t.options=U(n,t.extendOptions),e.name&&(e.components[e.name]=t)}}return e}function he(t){var e,n=t.options,r=t.extendOptions,i=t.sealedOptions;for(var o in n)n[o]!==i[o]&&(e||(e={}),e[o]=ve(n[o],r[o],i[o]));return e}function ve(t,e,n){if(Array.isArray(t)){var r=[];n=Array.isArray(n)?n:[n],e=Array.isArray(e)?e:[e];for(var i=0;i<t.length;i++)(e.indexOf(t[i])>=0||n.indexOf(t[i])<0)&&r.push(t[i]);return r}return t}function ge(t){this._init(t)}function me(t){t.use=function(t){if(t.installed)return this;var e=m(arguments,1);return e.unshift(this),"function"==typeof t.install?t.install.apply(t,e):"function"==typeof t&&t.apply(null,e),t.installed=!0,this}}function ye(t){t.mixin=function(t){return this.options=U(this.options,t),this}}function be(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,i=t._Ctor||(t._Ctor={});if(i[r])return i[r];var o=t.name||n.options.name,a=function(t){this._init(t)};return a.prototype=Object.create(n.prototype),a.prototype.constructor=a,a.cid=e++,a.options=U(n.options,t),a.super=n,a.options.props&&_e(a),a.options.computed&&we(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,Mi.forEach(function(t){a[t]=n[t]}),o&&(a.options.components[o]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=y({},a.options),i[r]=a,a}}function _e(t){var e=t.options.props;for(var n in e)Nt(t.prototype,"_props",n)}function we(t){var e=t.options.computed;for(var n in e)Ft(t.prototype,n,e[n])}function xe(t){Mi.forEach(function(e){t[e]=function(t,n){return n?("component"===e&&u(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"==typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}})}function Ce(t){return t&&(t.Ctor.options.name||t.tag)}function Te(t,e){return"string"==typeof t?t.split(",").indexOf(e)>-1:!!c(t)&&t.test(e)}function $e(t,e,n){for(var r in t){var i=t[r];if(i){var o=Ce(i.componentOptions);o&&!n(o)&&(i!==e&&ke(i),t[r]=null)}}}function ke(t){t&&t.componentInstance.$destroy()}function Ae(t){for(var e=t.data,n=t,i=t;r(i.componentInstance);)i=i.componentInstance._vnode,i.data&&(e=Ee(i.data,e));for(;r(n=n.parent);)n.data&&(e=Ee(e,n.data));return Se(e)}function Ee(t,e){return{staticClass:Oe(t.staticClass,e.staticClass),class:r(t.class)?[t.class,e.class]:e.class}}function Se(t){var e=t.class,n=t.staticClass;return r(n)||r(e)?Oe(n,je(e)):""}function Oe(t,e){return t?e?t+" "+e:t:e||""}function je(t){if(n(t))return"";if("string"==typeof t)return t;var e="";if(Array.isArray(t)){for(var i,o=0,a=t.length;o<a;o++)r(t[o])&&r(i=je(t[o]))&&""!==i&&(e+=i+" ");return e.slice(0,-1)}if(s(t)){for(var u in t)t[u]&&(e+=u+" ");return e.slice(0,-1)}return e}function Ne(t){return fa(t)?"svg":"math"===t?"math":void 0}function De(t){if(!Xi)return!0;if(da(t))return!1;if(t=t.toLowerCase(),null!=ha[t])return ha[t];var e=document.createElement(t);return t.indexOf("-")>-1?ha[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:ha[t]=/HTMLUnknownElement/.test(e.toString())}function Ie(t){if("string"==typeof t){var e=document.querySelector(t);return e||document.createElement("div")}return t}function Le(t,e){var n=document.createElement(t);return"select"!==t?n:(e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n)}function Re(t,e){return document.createElementNS(ca[t],e)}function Pe(t){return document.createTextNode(t)}function Fe(t){return document.createComment(t)}function qe(t,e,n){t.insertBefore(e,n)}function Me(t,e){t.removeChild(e)}function He(t,e){t.appendChild(e)}function Be(t){return t.parentNode}function Ue(t){return t.nextSibling}function We(t){return t.tagName}function ze(t,e){t.textContent=e}function Ve(t,e,n){t.setAttribute(e,n)}function Xe(t,e){var n=t.data.ref;if(n){var r=t.context,i=t.componentInstance||t.elm,o=r.$refs;e?Array.isArray(o[n])?d(o[n],i):o[n]===i&&(o[n]=void 0):t.data.refInFor?Array.isArray(o[n])&&o[n].indexOf(i)<0?o[n].push(i):o[n]=[i]:o[n]=i}}function Ke(t,e){return t.key===e.key&&t.tag===e.tag&&t.isComment===e.isComment&&r(t.data)===r(e.data)&&Je(t,e)}function Je(t,e){if("input"!==t.tag)return!0;var n;return(r(n=t.data)&&r(n=n.attrs)&&n.type)===(r(n=e.data)&&r(n=n.attrs)&&n.type)}function Qe(t,e,n){var i,o,a={};for(i=e;i<=n;++i)o=t[i].key,r(o)&&(a[o]=i);return a}function Ge(t,e){(t.data.directives||e.data.directives)&&Ze(t,e)}function Ze(t,e){var n,r,i,o=t===ma,a=e===ma,s=Ye(t.data.directives,t.context),u=Ye(e.data.directives,e.context),c=[],l=[];for(n in u)r=s[n],i=u[n],r?(i.oldValue=r.value,en(i,"update",e,t),i.def&&i.def.componentUpdated&&l.push(i)):(en(i,"bind",e,t),i.def&&i.def.inserted&&c.push(i));if(c.length){var f=function(){for(var n=0;n<c.length;n++)en(c[n],"inserted",e,t)};o?tt(e.data.hook||(e.data.hook={}),"insert",f):f()}if(l.length&&tt(e.data.hook||(e.data.hook={}),"postpatch",function(){for(var n=0;n<l.length;n++)en(l[n],"componentUpdated",e,t)}),!o)for(n in s)u[n]||en(s[n],"unbind",t,t,a)}function Ye(t,e){var n=Object.create(null);if(!t)return n;var r,i;for(r=0;r<t.length;r++)i=t[r],i.modifiers||(i.modifiers=_a),n[tn(i)]=i,i.def=W(e.$options,"directives",i.name,!0);return n}function tn(t){return t.rawName||t.name+"."+Object.keys(t.modifiers||{}).join(".")}function en(t,e,n,r,i){var o=t.def&&t.def[e];if(o)try{o(n.elm,t,n,r,i)}catch(r){A(r,n.context,"directive "+t.name+" "+e+" hook")}}function nn(t,e){if(!n(t.data.attrs)||!n(e.data.attrs)){var i,o,a=e.elm,s=t.data.attrs||{},u=e.data.attrs||{};r(u.__ob__)&&(u=e.data.attrs=y({},u));for(i in u)o=u[i],s[i]!==o&&rn(a,i,o);Qi&&u.value!==s.value&&rn(a,"value",u.value);for(i in s)n(u[i])&&(aa(i)?a.removeAttributeNS(oa,sa(i)):ra(i)||a.removeAttribute(i))}}function rn(t,e,n){ia(e)?ua(n)?t.removeAttribute(e):t.setAttribute(e,e):ra(e)?t.setAttribute(e,ua(n)||"false"===n?"false":"true"):aa(e)?ua(n)?t.removeAttributeNS(oa,sa(e)):t.setAttributeNS(oa,e,n):ua(n)?t.removeAttribute(e):t.setAttribute(e,n)}function on(t,e){var i=e.elm,o=e.data,a=t.data;if(!(n(o.staticClass)&&n(o.class)&&(n(a)||n(a.staticClass)&&n(a.class)))){var s=Ae(e),u=i._transitionClasses;r(u)&&(s=Oe(s,je(u))),s!==i._prevClass&&(i.setAttribute("class",s),i._prevClass=s)}}function an(t){function e(){(a||(a=[])).push(t.slice(h,i).trim()),h=i+1}var n,r,i,o,a,s=!1,u=!1,c=!1,l=!1,f=0,p=0,d=0,h=0;for(i=0;i<t.length;i++)if(r=n,n=t.charCodeAt(i),s)39===n&&92!==r&&(s=!1);else if(u)34===n&&92!==r&&(u=!1);else if(c)96===n&&92!==r&&(c=!1);else if(l)47===n&&92!==r&&(l=!1);else if(124!==n||124===t.charCodeAt(i+1)||124===t.charCodeAt(i-1)||f||p||d){switch(n){case 34:u=!0;break;case 39:s=!0;break;case 96:c=!0;break;case 40:d++;break;case 41:d--;break;case 91:p++;break;case 93:p--;break;case 123:f++;break;case 125:f--}if(47===n){for(var v=i-1,g=void 0;v>=0&&" "===(g=t.charAt(v));v--);g&&Ta.test(g)||(l=!0)}}else void 0===o?(h=i+1,o=t.slice(0,i).trim()):e();if(void 0===o?o=t.slice(0,i).trim():0!==h&&e(),a)for(i=0;i<a.length;i++)o=sn(o,a[i]);return o}function sn(t,e){var n=e.indexOf("(");return n<0?'_f("'+e+'")('+t+")":'_f("'+e.slice(0,n)+'")('+t+","+e.slice(n+1)}function un(t){}function cn(t,e){return t?t.map(function(t){return t[e]}).filter(function(t){return t}):[]}function ln(t,e,n){(t.props||(t.props=[])).push({name:e,value:n})}function fn(t,e,n){(t.attrs||(t.attrs=[])).push({name:e,value:n})}function pn(t,e,n,r,i,o){(t.directives||(t.directives=[])).push({name:e,rawName:n,value:r,arg:i,modifiers:o})}function dn(t,e,n,r,i,o){r&&r.capture&&(delete r.capture,e="!"+e),r&&r.once&&(delete r.once,e="~"+e),r&&r.passive&&(delete r.passive,e="&"+e);var a;r&&r.native?(delete r.native,a=t.nativeEvents||(t.nativeEvents={})):a=t.events||(t.events={});var s={value:n,modifiers:r},u=a[e];Array.isArray(u)?i?u.unshift(s):u.push(s):a[e]=u?i?[s,u]:[u,s]:s}function hn(t,e,n){var r=vn(t,":"+e)||vn(t,"v-bind:"+e);if(null!=r)return an(r);if(!1!==n){var i=vn(t,e);if(null!=i)return JSON.stringify(i)}}function vn(t,e){var n;if(null!=(n=t.attrsMap[e]))for(var r=t.attrsList,i=0,o=r.length;i<o;i++)if(r[i].name===e){r.splice(i,1);break}return n}function gn(t,e,n){var r=n||{},i=r.number,o=r.trim,a="$$v";o&&(a="(typeof $$v === 'string'? $$v.trim(): $$v)"),i&&(a="_n("+a+")");var s=mn(e,a);t.model={value:"("+e+")",expression:'"'+e+'"',callback:"function ($$v) {"+s+"}"}}function mn(t,e){var n=yn(t);return null===n.idx?t+"="+e:"var $$exp = "+n.exp+", $$idx = "+n.idx+";if (!Array.isArray($$exp)){"+t+"="+e+"}else{$$exp.splice($$idx, 1, "+e+")}"}function yn(t){if(Vo=t,zo=Vo.length,Ko=Jo=Qo=0,t.indexOf("[")<0||t.lastIndexOf("]")<zo-1)return{exp:t,idx:null};for(;!_n();)Xo=bn(),wn(Xo)?Cn(Xo):91===Xo&&xn(Xo);return{exp:t.substring(0,Jo),idx:t.substring(Jo+1,Qo)}}function bn(){return Vo.charCodeAt(++Ko)}function _n(){return Ko>=zo}function wn(t){return 34===t||39===t}function xn(t){var e=1;for(Jo=Ko;!_n();)if(t=bn(),wn(t))Cn(t);else if(91===t&&e++,93===t&&e--,0===e){Qo=Ko;break}}function Cn(t){for(var e=t;!_n()&&(t=bn())!==e;);}function Tn(t,e,n){Go=n;var r=e.value,i=e.modifiers,o=t.tag,a=t.attrsMap.type;if("select"===o)An(t,r,i);else if("input"===o&&"checkbox"===a)$n(t,r,i);else if("input"===o&&"radio"===a)kn(t,r,i);else if("input"===o||"textarea"===o)En(t,r,i);else if(!Bi.isReservedTag(o))return gn(t,r,i),!1;return!0}function $n(t,e,n){var r=n&&n.number,i=hn(t,"value")||"null",o=hn(t,"true-value")||"true",a=hn(t,"false-value")||"false";ln(t,"checked","Array.isArray("+e+")?_i("+e+","+i+")>-1"+("true"===o?":("+e+")":":_q("+e+","+o+")")),dn(t,ka,"var $$a="+e+",$$el=$event.target,$$c=$$el.checked?("+o+"):("+a+");if(Array.isArray($$a)){var $$v="+(r?"_n("+i+")":i)+",$$i=_i($$a,$$v);if($$c){$$i<0&&("+e+"=$$a.concat($$v))}else{$$i>-1&&("+e+"=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{"+mn(e,"$$c")+"}",null,!0)}function kn(t,e,n){var r=n&&n.number,i=hn(t,"value")||"null";i=r?"_n("+i+")":i,ln(t,"checked","_q("+e+","+i+")"),dn(t,ka,mn(e,i),null,!0)}function An(t,e,n){var r=n&&n.number,i='Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return '+(r?"_n(val)":"val")+"})",o="var $$selectedVal = "+i+";";o=o+" "+mn(e,"$event.target.multiple ? $$selectedVal : $$selectedVal[0]"),dn(t,"change",o,null,!0)}function En(t,e,n){var r=t.attrsMap.type,i=n||{},o=i.lazy,a=i.number,s=i.trim,u=!o&&"range"!==r,c=o?"change":"range"===r?$a:"input",l="$event.target.value";s&&(l="$event.target.value.trim()"),a&&(l="_n("+l+")");var f=mn(e,l);u&&(f="if($event.target.composing)return;"+f),ln(t,"value","("+e+")"),dn(t,c,f,null,!0),(s||a||"number"===r)&&dn(t,"blur","$forceUpdate()")}function Sn(t){var e;r(t[$a])&&(e=Ji?"change":"input",t[e]=[].concat(t[$a],t[e]||[]),delete t[$a]),r(t[ka])&&(e=to?"click":"change",t[e]=[].concat(t[ka],t[e]||[]),delete t[ka])}function On(t,e,n,r,i){if(n){var o=e,a=Zo;e=function(n){null!==(1===arguments.length?o(n):o.apply(null,arguments))&&jn(t,e,r,a)}}Zo.addEventListener(t,e,eo?{capture:r,passive:i}:r)}function jn(t,e,n,r){(r||Zo).removeEventListener(t,e,n)}function Nn(t,e){if(!n(t.data.on)||!n(e.data.on)){var r=e.data.on||{},i=t.data.on||{};Zo=e.elm,Sn(r),Y(r,i,On,jn,e.context)}}function Dn(t,e){if(!n(t.data.domProps)||!n(e.data.domProps)){var i,o,a=e.elm,s=t.data.domProps||{},u=e.data.domProps||{};r(u.__ob__)&&(u=e.data.domProps=y({},u));for(i in s)n(u[i])&&(a[i]="");for(i in u)if(o=u[i],"textContent"!==i&&"innerHTML"!==i||(e.children&&(e.children.length=0),o!==s[i]))if("value"===i){a._value=o;var c=n(o)?"":String(o);In(a,e,c)&&(a.value=c)}else a[i]=o}}function In(t,e,n){return!t.composing&&("option"===e.tag||Ln(t,n)||Rn(t,n))}function Ln(t,e){return document.activeElement!==t&&t.value!==e}function Rn(t,e){var n=t.value,i=t._vModifiers;return r(i)&&i.number||"number"===t.type?f(n)!==f(e):r(i)&&i.trim?n.trim()!==e.trim():n!==e}function Pn(t){var e=Fn(t.style);return t.staticStyle?y(t.staticStyle,e):e}function Fn(t){return Array.isArray(t)?b(t):"string"==typeof t?Sa(t):t}function qn(t,e){var n,r={};if(e)for(var i=t;i.componentInstance;)i=i.componentInstance._vnode,i.data&&(n=Pn(i.data))&&y(r,n);(n=Pn(t.data))&&y(r,n);for(var o=t;o=o.parent;)o.data&&(n=Pn(o.data))&&y(r,n);return r}function Mn(t,e){var i=e.data,o=t.data;if(!(n(i.staticStyle)&&n(i.style)&&n(o.staticStyle)&&n(o.style))){var a,s,u=e.elm,c=o.staticStyle,l=o.normalizedStyle||o.style||{},f=c||l,p=Fn(e.data.style)||{};e.data.normalizedStyle=r(p.__ob__)?y({},p):p;var d=qn(e,!0);for(s in f)n(d[s])&&Na(u,s,"");for(s in d)(a=d[s])!==f[s]&&Na(u,s,null==a?"":a)}}function Hn(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(/\s+/).forEach(function(e){return t.classList.add(e)}):t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function Bn(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(/\s+/).forEach(function(e){return t.classList.remove(e)}):t.classList.remove(e);else{for(var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");t.setAttribute("class",n.trim())}}function Un(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&y(e,Ra(t.name||"v")),y(e,t),e}return"string"==typeof t?Ra(t):void 0}}function Wn(t){Wa(function(){Wa(t)})}function zn(t,e){(t._transitionClasses||(t._transitionClasses=[])).push(e),Hn(t,e)}function Vn(t,e){t._transitionClasses&&d(t._transitionClasses,e),Bn(t,e)}function Xn(t,e,n){var r=Kn(t,e),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s=i===Fa?Ha:Ua,u=0,c=function(){t.removeEventListener(s,l),n()},l=function(e){e.target===t&&++u>=a&&c()};setTimeout(function(){u<a&&c()},o+1),t.addEventListener(s,l)}function Kn(t,e){var n,r=window.getComputedStyle(t),i=r[Ma+"Delay"].split(", "),o=r[Ma+"Duration"].split(", "),a=Jn(i,o),s=r[Ba+"Delay"].split(", "),u=r[Ba+"Duration"].split(", "),c=Jn(s,u),l=0,f=0;return e===Fa?a>0&&(n=Fa,l=a,f=o.length):e===qa?c>0&&(n=qa,l=c,f=u.length):(l=Math.max(a,c),n=l>0?a>c?Fa:qa:null,f=n?n===Fa?o.length:u.length:0),{type:n,timeout:l,propCount:f,hasTransform:n===Fa&&za.test(r[Ma+"Property"])}}function Jn(t,e){for(;t.length<e.length;)t=t.concat(t);return Math.max.apply(null,e.map(function(e,n){return Qn(e)+Qn(t[n])}))}function Qn(t){return 1e3*Number(t.slice(0,-1))}function Gn(t,e){var i=t.elm;r(i._leaveCb)&&(i._leaveCb.cancelled=!0,i._leaveCb());var o=Un(t.data.transition);if(!n(o)&&!r(i._enterCb)&&1===i.nodeType){for(var a=o.css,u=o.type,c=o.enterClass,l=o.enterToClass,p=o.enterActiveClass,d=o.appearClass,h=o.appearToClass,v=o.appearActiveClass,g=o.beforeEnter,m=o.enter,y=o.afterEnter,b=o.enterCancelled,_=o.beforeAppear,w=o.appear,x=o.afterAppear,T=o.appearCancelled,$=o.duration,k=$o,A=$o.$vnode;A&&A.parent;)A=A.parent,k=A.context;var E=!k._isMounted||!t.isRootInsert;if(!E||w||""===w){var S=E&&d?d:c,O=E&&v?v:p,j=E&&h?h:l,N=E?_||g:g,D=E&&"function"==typeof w?w:m,I=E?x||y:y,L=E?T||b:b,R=f(s($)?$.enter:$),P=!1!==a&&!Qi,F=tr(D),q=i._enterCb=C(function(){P&&(Vn(i,j),Vn(i,O)),q.cancelled?(P&&Vn(i,S),L&&L(i)):I&&I(i),i._enterCb=null});t.data.show||tt(t.data.hook||(t.data.hook={}),"insert",function(){var e=i.parentNode,n=e&&e._pending&&e._pending[t.key];n&&n.tag===t.tag&&n.elm._leaveCb&&n.elm._leaveCb(),D&&D(i,q)}),N&&N(i),P&&(zn(i,S),zn(i,O),Wn(function(){zn(i,j),Vn(i,S),q.cancelled||F||(Yn(R)?setTimeout(q,R):Xn(i,u,q))})),t.data.show&&(e&&e(),D&&D(i,q)),P||F||q()}}}function Zn(t,e){function i(){T.cancelled||(t.data.show||((o.parentNode._pending||(o.parentNode._pending={}))[t.key]=t),h&&h(o),_&&(zn(o,l),zn(o,d),Wn(function(){zn(o,p),Vn(o,l),T.cancelled||w||(Yn(x)?setTimeout(T,x):Xn(o,c,T))})),v&&v(o,T),_||w||T())}var o=t.elm;r(o._enterCb)&&(o._enterCb.cancelled=!0,o._enterCb());var a=Un(t.data.transition);if(n(a))return e();if(!r(o._leaveCb)&&1===o.nodeType){var u=a.css,c=a.type,l=a.leaveClass,p=a.leaveToClass,d=a.leaveActiveClass,h=a.beforeLeave,v=a.leave,g=a.afterLeave,m=a.leaveCancelled,y=a.delayLeave,b=a.duration,_=!1!==u&&!Qi,w=tr(v),x=f(s(b)?b.leave:b),T=o._leaveCb=C(function(){o.parentNode&&o.parentNode._pending&&(o.parentNode._pending[t.key]=null),_&&(Vn(o,p),Vn(o,d)),T.cancelled?(_&&Vn(o,l),m&&m(o)):(e(),g&&g(o)),o._leaveCb=null});y?y(i):i()}}function Yn(t){return"number"==typeof t&&!isNaN(t)}function tr(t){if(n(t))return!1;var e=t.fns;return r(e)?tr(Array.isArray(e)?e[0]:e):(t._length||t.length)>1}function er(t,e){!0!==e.data.show&&Gn(e)}function nr(t,e,n){var r=e.value,i=t.multiple;if(!i||Array.isArray(r)){for(var o,a,s=0,u=t.options.length;s<u;s++)if(a=t.options[s],i)o=x(r,ir(a))>-1,a.selected!==o&&(a.selected=o);else if(w(ir(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));i||(t.selectedIndex=-1)}}function rr(t,e){for(var n=0,r=e.length;n<r;n++)if(w(ir(e[n]),t))return!1;return!0}function ir(t){return"_value"in t?t._value:t.value}function or(t){t.target.composing=!0}function ar(t){t.target.composing&&(t.target.composing=!1,sr(t.target,"input"))}function sr(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function ur(t){return!t.componentInstance||t.data&&t.data.transition?t:ur(t.componentInstance._vnode)}function cr(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?cr(ct(e.children)):t}function lr(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var i=n._parentListeners;for(var o in i)e[Ii(o)]=i[o];return e}function fr(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}function pr(t){for(;t=t.parent;)if(t.data.transition)return!0}function dr(t,e){return e.key===t.key&&e.tag===t.tag}function hr(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function vr(t){t.data.newPos=t.elm.getBoundingClientRect()}function gr(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,i=e.top-n.top;if(r||i){t.data.moved=!0;var o=t.elm.style;o.transform=o.WebkitTransform="translate("+r+"px,"+i+"px)",o.transitionDuration="0s"}}function mr(t){return is=is||document.createElement("div"),is.innerHTML=t,is.textContent}function yr(t,e){var n=e?Bs:Hs;return t.replace(n,function(t){return Ms[t]})}function br(t,e){function n(e){l+=e,t=t.substring(e)}function r(t,n,r){var i,s;if(null==n&&(n=l),null==r&&(r=l),t&&(s=t.toLowerCase()),t)for(i=a.length-1;i>=0&&a[i].lowerCasedTag!==s;i--);else i=0;if(i>=0){for(var u=a.length-1;u>=i;u--)e.end&&e.end(a[u].tag,n,r);a.length=i,o=i&&a[i-1].tag}else"br"===s?e.start&&e.start(t,[],!0,n,r):"p"===s&&(e.start&&e.start(t,[],!1,n,r),e.end&&e.end(t,n,r))}for(var i,o,a=[],s=e.expectHTML,u=e.isUnaryTag||Pi,c=e.canBeLeftOpenTag||Pi,l=0;t;){if(i=t,o&&Fs(o)){var f=o.toLowerCase(),p=qs[f]||(qs[f]=new RegExp("([\\s\\S]*?)(</"+f+"[^>]*>)","i")),d=0,h=t.replace(p,function(t,n,r){return d=r.length,Fs(f)||"noscript"===f||(n=n.replace(/<!--([\s\S]*?)-->/g,"$1").replace(/<!\[CDATA\[([\s\S]*?)]]>/g,"$1")),e.chars&&e.chars(n),""});l+=t.length-h.length,t=h,r(f,l-d,l)}else{var v=t.indexOf("<");if(0===v){if(ms.test(t)){var g=t.indexOf("--\x3e");if(g>=0){n(g+3);continue}}if(ys.test(t)){var m=t.indexOf("]>");if(m>=0){n(m+2);continue}}var y=t.match(gs);if(y){n(y[0].length);continue}var b=t.match(vs);if(b){var _=l;n(b[0].length),r(b[1],_,l);continue}var w=function(){var e=t.match(ds);if(e){var r={tagName:e[1],attrs:[],start:l};n(e[0].length);for(var i,o;!(i=t.match(hs))&&(o=t.match(ls));)n(o[0].length),r.attrs.push(o);if(i)return r.unarySlash=i[1],n(i[0].length),r.end=l,r}}();if(w){!function(t){var n=t.tagName,i=t.unarySlash;s&&("p"===o&&us(n)&&r(o),c(n)&&o===n&&r(n));for(var l=u(n)||"html"===n&&"head"===o||!!i,f=t.attrs.length,p=new Array(f),d=0;d<f;d++){var h=t.attrs[d];bs&&-1===h[0].indexOf('""')&&(""===h[3]&&delete h[3],""===h[4]&&delete h[4],""===h[5]&&delete h[5]);var v=h[3]||h[4]||h[5]||"";p[d]={name:h[1],value:yr(v,e.shouldDecodeNewlines)}}l||(a.push({tag:n,lowerCasedTag:n.toLowerCase(),attrs:p}),o=n),e.start&&e.start(n,p,l,t.start,t.end)}(w);continue}}var x=void 0,C=void 0,T=void 0;if(v>=0){for(C=t.slice(v);!(vs.test(C)||ds.test(C)||ms.test(C)||ys.test(C)||(T=C.indexOf("<",1))<0);)v+=T,C=t.slice(v);x=t.substring(0,v),n(v)}v<0&&(x=t,t=""),e.chars&&x&&e.chars(x)}if(t===i){e.chars&&e.chars(t);break}}r()}function _r(t,e){var n=e?Ws(e):Us;if(n.test(t)){for(var r,i,o=[],a=n.lastIndex=0;r=n.exec(t);){i=r.index,i>a&&o.push(JSON.stringify(t.slice(a,i)));var s=an(r[1].trim());o.push("_s("+s+")"),a=i+r[0].length}return a<t.length&&o.push(JSON.stringify(t.slice(a))),o.join("+")}}function wr(t,e){function n(t){t.pre&&(s=!1),$s(t.tag)&&(u=!1)}_s=e.warn||un,As=e.getTagNamespace||Pi,ks=e.mustUseProp||Pi,$s=e.isPreTag||Pi,Cs=cn(e.modules,"preTransformNode"),xs=cn(e.modules,"transformNode"),Ts=cn(e.modules,"postTransformNode"),ws=e.delimiters;var r,i,o=[],a=!1!==e.preserveWhitespace,s=!1,u=!1;return br(t,{warn:_s,expectHTML:e.expectHTML,isUnaryTag:e.isUnaryTag,canBeLeftOpenTag:e.canBeLeftOpenTag,shouldDecodeNewlines:e.shouldDecodeNewlines,start:function(t,a,c){var l=i&&i.ns||As(t);Ji&&"svg"===l&&(a=Mr(a));var f={type:1,tag:t,attrsList:a,attrsMap:Pr(a),parent:i,children:[]};l&&(f.ns=l),qr(f)&&!oo()&&(f.forbidden=!0);for(var p=0;p<Cs.length;p++)Cs[p](f,e);if(s||(xr(f),f.pre&&(s=!0)),$s(f.tag)&&(u=!0),s)Cr(f);else{kr(f),Ar(f),jr(f),Tr(f),f.plain=!f.key&&!a.length,$r(f),Nr(f),Dr(f);for(var d=0;d<xs.length;d++)xs[d](f,e);Ir(f)}if(r?o.length||r.if&&(f.elseif||f.else)&&Or(r,{exp:f.elseif,block:f}):r=f,i&&!f.forbidden)if(f.elseif||f.else)Er(f,i);else if(f.slotScope){i.plain=!1;var h=f.slotTarget||'"default"';(i.scopedSlots||(i.scopedSlots={}))[h]=f}else i.children.push(f),f.parent=i;c?n(f):(i=f,o.push(f));for(var v=0;v<Ts.length;v++)Ts[v](f,e)},end:function(){var t=o[o.length-1],e=t.children[t.children.length-1];e&&3===e.type&&" "===e.text&&!u&&t.children.pop(),o.length-=1,i=o[o.length-1],n(t)},chars:function(t){if(i&&(!Ji||"textarea"!==i.tag||i.attrsMap.placeholder!==t)){var e=i.children;if(t=u||t.trim()?Fr(i)?t:Zs(t):a&&e.length?" ":""){var n;!s&&" "!==t&&(n=_r(t,ws))?e.push({type:2,expression:n,text:t}):" "===t&&e.length&&" "===e[e.length-1].text||e.push({type:3,text:t})}}}}),r}function xr(t){null!=vn(t,"v-pre")&&(t.pre=!0)}function Cr(t){var e=t.attrsList.length;if(e)for(var n=t.attrs=new Array(e),r=0;r<e;r++)n[r]={name:t.attrsList[r].name,value:JSON.stringify(t.attrsList[r].value)};else t.pre||(t.plain=!0)}function Tr(t){var e=hn(t,"key");e&&(t.key=e)}function $r(t){var e=hn(t,"ref");e&&(t.ref=e,t.refInFor=Lr(t))}function kr(t){var e;if(e=vn(t,"v-for")){var n=e.match(Xs);if(!n)return;t.for=n[2].trim();var r=n[1].trim(),i=r.match(Ks);i?(t.alias=i[1].trim(),t.iterator1=i[2].trim(),i[3]&&(t.iterator2=i[3].trim())):t.alias=r}}function Ar(t){var e=vn(t,"v-if");if(e)t.if=e,Or(t,{exp:e,block:t});else{null!=vn(t,"v-else")&&(t.else=!0);var n=vn(t,"v-else-if");n&&(t.elseif=n)}}function Er(t,e){var n=Sr(e.children);n&&n.if&&Or(n,{exp:t.elseif,block:t})}function Sr(t){for(var e=t.length;e--;){if(1===t[e].type)return t[e];t.pop()}}function Or(t,e){t.ifConditions||(t.ifConditions=[]),t.ifConditions.push(e)}function jr(t){null!=vn(t,"v-once")&&(t.once=!0)}function Nr(t){if("slot"===t.tag)t.slotName=hn(t,"name");else{var e=hn(t,"slot");e&&(t.slotTarget='""'===e?'"default"':e),"template"===t.tag&&(t.slotScope=vn(t,"scope"))}}function Dr(t){var e;(e=hn(t,"is"))&&(t.component=e),null!=vn(t,"inline-template")&&(t.inlineTemplate=!0)}function Ir(t){var e,n,r,i,o,a,s,u=t.attrsList;for(e=0,n=u.length;e<n;e++)if(r=i=u[e].name,o=u[e].value,Vs.test(r))if(t.hasBindings=!0,a=Rr(r),a&&(r=r.replace(Gs,"")),Qs.test(r))r=r.replace(Qs,""),o=an(o),s=!1,a&&(a.prop&&(s=!0,"innerHtml"===(r=Ii(r))&&(r="innerHTML")),a.camel&&(r=Ii(r)),a.sync&&dn(t,"update:"+Ii(r),mn(o,"$event"))),s||ks(t.tag,t.attrsMap.type,r)?ln(t,r,o):fn(t,r,o);else if(zs.test(r))r=r.replace(zs,""),dn(t,r,o,a,!1,_s);else{r=r.replace(Vs,"");var c=r.match(Js),l=c&&c[1];l&&(r=r.slice(0,-(l.length+1))),pn(t,r,i,o,l,a)}else{fn(t,r,JSON.stringify(o))}}function Lr(t){for(var e=t;e;){if(void 0!==e.for)return!0;e=e.parent}return!1}function Rr(t){var e=t.match(Gs);if(e){var n={};return e.forEach(function(t){n[t.slice(1)]=!0}),n}}function Pr(t){for(var e={},n=0,r=t.length;n<r;n++)e[t[n].name]=t[n].value;return e}function Fr(t){return"script"===t.tag||"style"===t.tag}function qr(t){return"style"===t.tag||"script"===t.tag&&(!t.attrsMap.type||"text/javascript"===t.attrsMap.type)}function Mr(t){for(var e=[],n=0;n<t.length;n++){var r=t[n];Ys.test(r.name)||(r.name=r.name.replace(tu,""),e.push(r))}return e}function Hr(t,e){t&&(Es=eu(e.staticKeys||""),Ss=e.isReservedTag||Pi,Ur(t),Wr(t,!1))}function Br(t){return p("type,tag,attrsList,attrsMap,plain,parent,children,attrs"+(t?","+t:""))}function Ur(t){if(t.static=Vr(t),1===t.type){if(!Ss(t.tag)&&"slot"!==t.tag&&null==t.attrsMap["inline-template"])return;for(var e=0,n=t.children.length;e<n;e++){var r=t.children[e];Ur(r),r.static||(t.static=!1)}}}function Wr(t,e){if(1===t.type){if((t.static||t.once)&&(t.staticInFor=e),t.static&&t.children.length&&(1!==t.children.length||3!==t.children[0].type))return void(t.staticRoot=!0);if(t.staticRoot=!1,t.children)for(var n=0,r=t.children.length;n<r;n++)Wr(t.children[n],e||!!t.for);t.ifConditions&&zr(t.ifConditions,e)}}function zr(t,e){for(var n=1,r=t.length;n<r;n++)Wr(t[n].block,e)}function Vr(t){return 2!==t.type&&(3===t.type||!(!t.pre&&(t.hasBindings||t.if||t.for||Ni(t.tag)||!Ss(t.tag)||Xr(t)||!Object.keys(t).every(Es))))}function Xr(t){for(;t.parent;){if(t=t.parent,"template"!==t.tag)return!1;if(t.for)return!0}return!1}function Kr(t,e,n){var r=e?"nativeOn:{":"on:{";for(var i in t){r+='"'+i+'":'+Jr(i,t[i])+","}return r.slice(0,-1)+"}"}function Jr(t,e){if(!e)return"function(){}";if(Array.isArray(e))return"["+e.map(function(e){return Jr(t,e)}).join(",")+"]";var n=ru.test(e.value),r=nu.test(e.value);if(e.modifiers){var i="",o="",a=[];for(var s in e.modifiers)au[s]?(o+=au[s],iu[s]&&a.push(s)):a.push(s);a.length&&(i+=Qr(a)),o&&(i+=o);return"function($event){"+i+(n?e.value+"($event)":r?"("+e.value+")($event)":e.value)+"}"}return n||r?e.value:"function($event){"+e.value+"}"}function Qr(t){return"if(!('button' in $event)&&"+t.map(Gr).join("&&")+")return null;"}function Gr(t){var e=parseInt(t,10);if(e)return"$event.keyCode!=="+e;var n=iu[t];return"_k($event.keyCode,"+JSON.stringify(t)+(n?","+JSON.stringify(n):"")+")"}function Zr(t,e){t.wrapData=function(n){return"_b("+n+",'"+t.tag+"',"+e.value+(e.modifiers&&e.modifiers.prop?",true":"")+")"}}function Yr(t,e){var n=Ls,r=Ls=[],i=Rs;Rs=0,Ps=e,Os=e.warn||un,js=cn(e.modules,"transformCode"),Ns=cn(e.modules,"genData"),Ds=e.directives||{},Is=e.isReservedTag||Pi;var o=t?ti(t):'_c("div")';return Ls=n,Rs=i,{render:"with(this){return "+o+"}",staticRenderFns:r}}function ti(t){if(t.staticRoot&&!t.staticProcessed)return ei(t);if(t.once&&!t.onceProcessed)return ni(t);if(t.for&&!t.forProcessed)return oi(t);if(t.if&&!t.ifProcessed)return ri(t);if("template"!==t.tag||t.slotTarget){if("slot"===t.tag)return yi(t);var e;if(t.component)e=bi(t.component,t);else{var n=t.plain?void 0:ai(t),r=t.inlineTemplate?null:pi(t,!0);e="_c('"+t.tag+"'"+(n?","+n:"")+(r?","+r:"")+")"}for(var i=0;i<js.length;i++)e=js[i](t,e);return e}return pi(t)||"void 0"}function ei(t){return t.staticProcessed=!0,Ls.push("with(this){return "+ti(t)+"}"),"_m("+(Ls.length-1)+(t.staticInFor?",true":"")+")"}function ni(t){if(t.onceProcessed=!0,t.if&&!t.ifProcessed)return ri(t);if(t.staticInFor){for(var e="",n=t.parent;n;){if(n.for){e=n.key;break}n=n.parent}return e?"_o("+ti(t)+","+Rs+++(e?","+e:"")+")":ti(t)}return ei(t)}function ri(t){return t.ifProcessed=!0,ii(t.ifConditions.slice())}function ii(t){function e(t){return t.once?ni(t):ti(t)}if(!t.length)return"_e()";var n=t.shift();return n.exp?"("+n.exp+")?"+e(n.block)+":"+ii(t):""+e(n.block)}function oi(t){var e=t.for,n=t.alias,r=t.iterator1?","+t.iterator1:"",i=t.iterator2?","+t.iterator2:"";return t.forProcessed=!0,"_l(("+e+"),function("+n+r+i+"){return "+ti(t)+"})"}function ai(t){var e="{",n=si(t);n&&(e+=n+","),t.key&&(e+="key:"+t.key+","),t.ref&&(e+="ref:"+t.ref+","),t.refInFor&&(e+="refInFor:true,"),t.pre&&(e+="pre:true,"),t.component&&(e+='tag:"'+t.tag+'",');for(var r=0;r<Ns.length;r++)e+=Ns[r](t);if(t.attrs&&(e+="attrs:{"+_i(t.attrs)+"},"),t.props&&(e+="domProps:{"+_i(t.props)+"},"),t.events&&(e+=Kr(t.events,!1,Os)+","),t.nativeEvents&&(e+=Kr(t.nativeEvents,!0,Os)+","),t.slotTarget&&(e+="slot:"+t.slotTarget+","),t.scopedSlots&&(e+=ci(t.scopedSlots)+","),t.model&&(e+="model:{value:"+t.model.value+",callback:"+t.model.callback+",expression:"+t.model.expression+"},"),t.inlineTemplate){var i=ui(t);i&&(e+=i+",")}return e=e.replace(/,$/,"")+"}",t.wrapData&&(e=t.wrapData(e)),e}function si(t){var e=t.directives;if(e){var n,r,i,o,a="directives:[",s=!1;for(n=0,r=e.length;n<r;n++){i=e[n],o=!0;var u=Ds[i.name]||su[i.name];u&&(o=!!u(t,i,Os)),o&&(s=!0,a+='{name:"'+i.name+'",rawName:"'+i.rawName+'"'+(i.value?",value:("+i.value+"),expression:"+JSON.stringify(i.value):"")+(i.arg?',arg:"'+i.arg+'"':"")+(i.modifiers?",modifiers:"+JSON.stringify(i.modifiers):"")+"},")}return s?a.slice(0,-1)+"]":void 0}}function ui(t){var e=t.children[0];if(1===e.type){var n=Yr(e,Ps);return"inlineTemplate:{render:function(){"+n.render+"},staticRenderFns:["+n.staticRenderFns.map(function(t){return"function(){"+t+"}"}).join(",")+"]}"}}function ci(t){return"scopedSlots:_u(["+Object.keys(t).map(function(e){return li(e,t[e])}).join(",")+"])"}function li(t,e){return e.for&&!e.forProcessed?fi(t,e):"{key:"+t+",fn:function("+String(e.attrsMap.scope)+"){return "+("template"===e.tag?pi(e)||"void 0":ti(e))+"}}"}function fi(t,e){var n=e.for,r=e.alias,i=e.iterator1?","+e.iterator1:"",o=e.iterator2?","+e.iterator2:"";return e.forProcessed=!0,"_l(("+n+"),function("+r+i+o+"){return "+li(t,e)+"})"}function pi(t,e){var n=t.children;if(n.length){var r=n[0];if(1===n.length&&r.for&&"template"!==r.tag&&"slot"!==r.tag)return ti(r);var i=e?di(n):0;return"["+n.map(gi).join(",")+"]"+(i?","+i:"")}}function di(t){for(var e=0,n=0;n<t.length;n++){var r=t[n];if(1===r.type){if(hi(r)||r.ifConditions&&r.ifConditions.some(function(t){return hi(t.block)})){e=2;break}(vi(r)||r.ifConditions&&r.ifConditions.some(function(t){return vi(t.block)}))&&(e=1)}}return e}function hi(t){return void 0!==t.for||"template"===t.tag||"slot"===t.tag}function vi(t){return!Is(t.tag)}function gi(t){return 1===t.type?ti(t):mi(t)}function mi(t){return"_v("+(2===t.type?t.expression:wi(JSON.stringify(t.text)))+")"}function yi(t){var e=t.slotName||'"default"',n=pi(t),r="_t("+e+(n?","+n:""),i=t.attrs&&"{"+t.attrs.map(function(t){return Ii(t.name)+":"+t.value}).join(",")+"}",o=t.attrsMap["v-bind"];return!i&&!o||n||(r+=",null"),i&&(r+=","+i),o&&(r+=(i?"":",null")+","+o),r+")"}function bi(t,e){var n=e.inlineTemplate?null:pi(e,!0);return"_c("+t+","+ai(e)+(n?","+n:"")+")"}function _i(t){for(var e="",n=0;n<t.length;n++){var r=t[n];e+='"'+r.name+'":'+wi(r.value)+","}return e.slice(0,-1)}function wi(t){return t.replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function xi(t,e){var n=wr(t.trim(),e);Hr(n,e);var r=Yr(n,e);return{ast:n,render:r.render,staticRenderFns:r.staticRenderFns}}function Ci(t,e){try{return new Function(t)}catch(n){return e.push({err:n,code:t}),_}}function Ti(t,e){var n=(e.warn,vn(t,"class"));n&&(t.staticClass=JSON.stringify(n));var r=hn(t,"class",!1);r&&(t.classBinding=r)}function $i(t){var e="";return t.staticClass&&(e+="staticClass:"+t.staticClass+","),t.classBinding&&(e+="class:"+t.classBinding+","),e}function ki(t,e){var n=(e.warn,vn(t,"style"));if(n){t.staticStyle=JSON.stringify(Sa(n))}var r=hn(t,"style",!1);r&&(t.styleBinding=r)}function Ai(t){var e="";return t.staticStyle&&(e+="staticStyle:"+t.staticStyle+","),t.styleBinding&&(e+="style:("+t.styleBinding+"),"),e}function Ei(t,e){e.value&&ln(t,"textContent","_s("+e.value+")")}function Si(t,e){e.value&&ln(t,"innerHTML","_s("+e.value+")")}function Oi(t){if(t.outerHTML)return t.outerHTML;var e=document.createElement("div");return e.appendChild(t.cloneNode(!0)),e.innerHTML}var ji=Object.prototype.toString,Ni=p("slot,component",!0),Di=Object.prototype.hasOwnProperty,Ii=v(function(t){return t.replace(/-(\w)/g,function(t,e){return e?e.toUpperCase():""})}),Li=v(function(t){return t.charAt(0).toUpperCase()+t.slice(1)}),Ri=v(function(t){return t.replace(/([^-])([A-Z])/g,"$1-$2").replace(/([^-])([A-Z])/g,"$1-$2").toLowerCase()}),Pi=function(){return!1},Fi=function(t){return t},qi="data-server-rendered",Mi=["component","directive","filter"],Hi=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated"],Bi={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:Pi,isReservedAttr:Pi,isUnknownElement:Pi,getTagNamespace:_,parsePlatformTagName:Fi,mustUseProp:Pi,_lifecycleHooks:Hi},Ui=Object.freeze({}),Wi=/[^\w.$]/,zi=_,Vi="__proto__"in{},Xi="undefined"!=typeof window,Ki=Xi&&window.navigator.userAgent.toLowerCase(),Ji=Ki&&/msie|trident/.test(Ki),Qi=Ki&&Ki.indexOf("msie 9.0")>0,Gi=Ki&&Ki.indexOf("edge/")>0,Zi=Ki&&Ki.indexOf("android")>0,Yi=Ki&&/iphone|ipad|ipod|ios/.test(Ki),to=Ki&&/chrome\/\d+/.test(Ki)&&!Gi,eo=!1;if(Xi)try{var no={};Object.defineProperty(no,"passive",{get:function(){eo=!0}}),window.addEventListener("test-passive",null,no)}catch(t){}var ro,io,oo=function(){return void 0===ro&&(ro=!Xi&&void 0!==e&&"server"===e.process.env.VUE_ENV),ro},ao=Xi&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,so="undefined"!=typeof Symbol&&E(Symbol)&&"undefined"!=typeof Reflect&&E(Reflect.ownKeys),uo=function(){function t(){r=!1;var t=n.slice(0);n.length=0;for(var e=0;e<t.length;e++)t[e]()}var e,n=[],r=!1;if("undefined"!=typeof Promise&&E(Promise)){var i=Promise.resolve(),o=function(t){};e=function(){i.then(t).catch(o),Yi&&setTimeout(_)}}else if("undefined"==typeof MutationObserver||!E(MutationObserver)&&"[object MutationObserverConstructor]"!==MutationObserver.toString())e=function(){setTimeout(t,0)};else{var a=1,s=new MutationObserver(t),u=document.createTextNode(String(a));s.observe(u,{characterData:!0}),e=function(){a=(a+1)%2,u.data=String(a)}}return function(t,i){var o;if(n.push(function(){if(t)try{t.call(i)}catch(t){A(t,i,"nextTick")}else o&&o(i)}),r||(r=!0,e()),!t&&"undefined"!=typeof Promise)return new Promise(function(t,e){o=t})}}();io="undefined"!=typeof Set&&E(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var co=0,lo=function(){this.id=co++,this.subs=[]};lo.prototype.addSub=function(t){this.subs.push(t)},lo.prototype.removeSub=function(t){d(this.subs,t)},lo.prototype.depend=function(){lo.target&&lo.target.addDep(this)},lo.prototype.notify=function(){for(var t=this.subs.slice(),e=0,n=t.length;e<n;e++)t[e].update()},lo.target=null;var fo=[],po=Array.prototype,ho=Object.create(po);["push","pop","shift","unshift","splice","sort","reverse"].forEach(function(t){var e=po[t];$(ho,t,function(){for(var n=arguments,r=arguments.length,i=new Array(r);r--;)i[r]=n[r];var o,a=e.apply(this,i),s=this.__ob__;switch(t){case"push":case"unshift":o=i;break;case"splice":o=i.slice(2)}return o&&s.observeArray(o),s.dep.notify(),a})});var vo=Object.getOwnPropertyNames(ho),go={shouldConvert:!0,isSettingProps:!1},mo=function(t){if(this.value=t,this.dep=new lo,this.vmCount=0,$(t,"__ob__",this),Array.isArray(t)){(Vi?j:N)(t,ho,vo),this.observeArray(t)}else this.walk(t)};mo.prototype.walk=function(t){for(var e=Object.keys(t),n=0;n<e.length;n++)I(t,e[n],t[e[n]])},mo.prototype.observeArray=function(t){for(var e=0,n=t.length;e<n;e++)D(t[e])};var yo=Bi.optionMergeStrategies;yo.data=function(t,e,n){return n?t||e?function(){var r="function"==typeof e?e.call(n):e,i="function"==typeof t?t.call(n):void 0;return r?F(r,i):i}:void 0:e?"function"!=typeof e?t:t?function(){return F(e.call(this),t.call(this))}:e:t},Hi.forEach(function(t){yo[t]=q}),Mi.forEach(function(t){yo[t+"s"]=M}),yo.watch=function(t,e){if(!e)return Object.create(t||null);if(!t)return e;var n={};y(n,t);for(var r in e){var i=n[r],o=e[r];i&&!Array.isArray(i)&&(i=[i]),n[r]=i?i.concat(o):[o]}return n},yo.props=yo.methods=yo.computed=function(t,e){if(!e)return Object.create(t||null);if(!t)return e;var n=Object.create(null);return y(n,t),y(n,e),n};var bo=function(t,e){return void 0===e?t:e},_o=function(t,e,n,r,i,o,a){this.tag=t,this.data=e,this.children=n,this.text=r,this.elm=i,this.ns=void 0,this.context=o,this.functionalContext=void 0,this.key=e&&e.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1},wo={child:{}};wo.child.get=function(){return this.componentInstance},Object.defineProperties(_o.prototype,wo);var xo,Co=function(){var t=new _o;return t.text="",t.isComment=!0,t},To=v(function(t){var e="&"===t.charAt(0);t=e?t.slice(1):t;var n="~"===t.charAt(0);t=n?t.slice(1):t;var r="!"===t.charAt(0);return t=r?t.slice(1):t,{name:t,once:n,capture:r,passive:e}}),$o=null,ko=[],Ao=[],Eo={},So=!1,Oo=!1,jo=0,No=0,Do=function(t,e,n,r){this.vm=t,t._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++No,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new io,this.newDepIds=new io,this.expression="","function"==typeof e?this.getter=e:(this.getter=k(e),this.getter||(this.getter=function(){})),this.value=this.lazy?void 0:this.get()};Do.prototype.get=function(){S(this);var t,e=this.vm;if(this.user)try{t=this.getter.call(e,e)}catch(t){A(t,e,'getter for watcher "'+this.expression+'"')}else t=this.getter.call(e,e);return this.deep&&Ot(t),O(),this.cleanupDeps(),t},Do.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},Do.prototype.cleanupDeps=function(){for(var t=this,e=this.deps.length;e--;){var n=t.deps[e];t.newDepIds.has(n.id)||n.removeSub(t)}var r=this.depIds;this.depIds=this.newDepIds,this.newDepIds=r,this.newDepIds.clear(),r=this.deps,this.deps=this.newDeps,this.newDeps=r,this.newDeps.length=0},Do.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():St(this)},Do.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||s(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(t){A(t,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,t,e)}}},Do.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Do.prototype.depend=function(){for(var t=this,e=this.deps.length;e--;)t.deps[e].depend()},Do.prototype.teardown=function(){var t=this;if(this.active){this.vm._isBeingDestroyed||d(this.vm._watchers,this);for(var e=this.deps.length;e--;)t.deps[e].removeSub(t);this.active=!1}};var Io=new io,Lo={enumerable:!0,configurable:!0,get:_,set:_},Ro={lazy:!0},Po={init:function(t,e,n,r){if(!t.componentInstance||t.componentInstance._isDestroyed){(t.componentInstance=Jt(t,$o,n,r)).$mount(e?t.elm:void 0,e)}else if(t.data.keepAlive){var i=t;Po.prepatch(i,i)}},prepatch:function(t,e){var n=e.componentOptions;bt(e.componentInstance=t.componentInstance,n.propsData,n.listeners,e,n.children)},insert:function(t){var e=t.context,n=t.componentInstance;n._isMounted||(n._isMounted=!0,Ct(n,"mounted")),t.data.keepAlive&&(e._isMounted?At(n):wt(n,!0))},destroy:function(t){var e=t.componentInstance;e._isDestroyed||(t.data.keepAlive?xt(e,!0):e.$destroy())}},Fo=Object.keys(Po),qo=1,Mo=2,Ho=0;!function(t){t.prototype._init=function(t){var e=this;e._uid=Ho++,e._isVue=!0,t&&t._isComponent?pe(e,t):e.$options=U(de(e.constructor),t||{},e),e._renderProxy=e,e._self=e,mt(e),lt(e),fe(e),Ct(e,"beforeCreate"),Wt(e),Dt(e),Ut(e),Ct(e,"created"),e.$options.el&&e.$mount(e.$options.el)}}(ge),function(t){var e={};e.get=function(){return this._data};var n={};n.get=function(){return this._props},Object.defineProperty(t.prototype,"$data",e),Object.defineProperty(t.prototype,"$props",n),t.prototype.$set=L,t.prototype.$delete=R,t.prototype.$watch=function(t,e,n){var r=this;n=n||{},n.user=!0;var i=new Do(r,t,e,n);return n.immediate&&e.call(r,i.value),function(){i.teardown()}}}(ge),function(t){var e=/^hook:/;t.prototype.$on=function(t,n){var r=this,i=this;if(Array.isArray(t))for(var o=0,a=t.length;o<a;o++)r.$on(t[o],n);else(i._events[t]||(i._events[t]=[])).push(n),e.test(t)&&(i._hasHookEvent=!0);return i},t.prototype.$once=function(t,e){function n(){r.$off(t,n),e.apply(r,arguments)}var r=this;return n.fn=e,r.$on(t,n),r},t.prototype.$off=function(t,e){var n=this,r=this;if(!arguments.length)return r._events=Object.create(null),r;if(Array.isArray(t)){for(var i=0,o=t.length;i<o;i++)n.$off(t[i],e);return r}var a=r._events[t];if(!a)return r;if(1===arguments.length)return r._events[t]=null,r;for(var s,u=a.length;u--;)if((s=a[u])===e||s.fn===e){a.splice(u,1);break}return r},t.prototype.$emit=function(t){var e=this,n=e._events[t];if(n){n=n.length>1?m(n):n;for(var r=m(arguments,1),i=0,o=n.length;i<o;i++)n[i].apply(e,r)}return e}}(ge),function(t){t.prototype._update=function(t,e){var n=this;n._isMounted&&Ct(n,"beforeUpdate");var r=n.$el,i=n._vnode,o=$o;$o=n,n._vnode=t,n.$el=i?n.__patch__(i,t):n.__patch__(n.$el,t,e,!1,n.$options._parentElm,n.$options._refElm),$o=o,r&&(r.__vue__=null),n.$el&&(n.$el.__vue__=n),n.$vnode&&n.$parent&&n.$vnode===n.$parent._vnode&&(n.$parent.$el=n.$el)},t.prototype.$forceUpdate=function(){var t=this;t._watcher&&t._watcher.update()},t.prototype.$destroy=function(){var t=this;if(!t._isBeingDestroyed){Ct(t,"beforeDestroy"),t._isBeingDestroyed=!0;var e=t.$parent;!e||e._isBeingDestroyed||t.$options.abstract||d(e.$children,t),t._watcher&&t._watcher.teardown();for(var n=t._watchers.length;n--;)t._watchers[n].teardown();t._data.__ob__&&t._data.__ob__.vmCount--,t._isDestroyed=!0,t.__patch__(t._vnode,null),Ct(t,"destroyed"),t.$off(),t.$el&&(t.$el.__vue__=null),t.$options._parentElm=t.$options._refElm=null}}}(ge),function(t){t.prototype.$nextTick=function(t){return uo(t,this)},t.prototype._render=function(){var t=this,e=t.$options,n=e.render,r=e.staticRenderFns,i=e._parentVnode;if(t._isMounted)for(var o in t.$slots)t.$slots[o]=G(t.$slots[o]);t.$scopedSlots=i&&i.data.scopedSlots||Ui,r&&!t._staticTrees&&(t._staticTrees=[]),t.$vnode=i;var a;try{a=n.call(t._renderProxy,t.$createElement)}catch(e){A(e,t,"render function"),a=t._vnode}return a instanceof _o||(a=Co()),a.parent=i,a},t.prototype._o=ue,t.prototype._n=f,t.prototype._s=l,t.prototype._l=ne,t.prototype._t=re,t.prototype._q=w,t.prototype._i=x,t.prototype._m=se,t.prototype._f=ie,t.prototype._k=oe,t.prototype._b=ae,t.prototype._v=J,t.prototype._e=Co,t.prototype._u=gt}(ge);var Bo=[String,RegExp],Uo={name:"keep-alive",abstract:!0,props:{include:Bo,exclude:Bo},created:function(){this.cache=Object.create(null)},destroyed:function(){var t=this;for(var e in t.cache)ke(t.cache[e])},watch:{include:function(t){$e(this.cache,this._vnode,function(e){return Te(t,e)})},exclude:function(t){$e(this.cache,this._vnode,function(e){return!Te(t,e)})}},render:function(){var t=ct(this.$slots.default),e=t&&t.componentOptions;if(e){var n=Ce(e);if(n&&(this.include&&!Te(this.include,n)||this.exclude&&Te(this.exclude,n)))return t;var r=null==t.key?e.Ctor.cid+(e.tag?"::"+e.tag:""):t.key;this.cache[r]?t.componentInstance=this.cache[r].componentInstance:this.cache[r]=t,t.data.keepAlive=!0}return t}},Wo={KeepAlive:Uo};!function(t){var e={};e.get=function(){return Bi},Object.defineProperty(t,"config",e),t.util={warn:zi,extend:y,mergeOptions:U,defineReactive:I},t.set=L,t.delete=R,t.nextTick=uo,t.options=Object.create(null),Mi.forEach(function(e){t.options[e+"s"]=Object.create(null)}),t.options._base=t,y(t.options.components,Wo),me(t),ye(t),be(t),xe(t)}(ge),Object.defineProperty(ge.prototype,"$isServer",{get:oo}),Object.defineProperty(ge.prototype,"$ssrContext",{get:function(){return this.$vnode.ssrContext}}),ge.version="2.3.3";var zo,Vo,Xo,Ko,Jo,Qo,Go,Zo,Yo,ta=p("style,class"),ea=p("input,textarea,option,select"),na=function(t,e,n){return"value"===n&&ea(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},ra=p("contenteditable,draggable,spellcheck"),ia=p("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),oa="http://www.w3.org/1999/xlink",aa=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},sa=function(t){return aa(t)?t.slice(6,t.length):""},ua=function(t){return null==t||!1===t},ca={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},la=p("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template"),fa=p("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),pa=function(t){return"pre"===t},da=function(t){return la(t)||fa(t)},ha=Object.create(null),va=Object.freeze({createElement:Le,createElementNS:Re,createTextNode:Pe,createComment:Fe,insertBefore:qe,removeChild:Me,appendChild:He,parentNode:Be,nextSibling:Ue,tagName:We,setTextContent:ze,setAttribute:Ve}),ga={create:function(t,e){Xe(e)},update:function(t,e){t.data.ref!==e.data.ref&&(Xe(t,!0),Xe(e))},destroy:function(t){Xe(t,!0)}},ma=new _o("",{},[]),ya=["create","activate","update","remove","destroy"],ba={create:Ge,update:Ge,destroy:function(t){Ge(t,ma)}},_a=Object.create(null),wa=[ga,ba],xa={create:nn,update:nn},Ca={create:on,update:on},Ta=/[\w).+\-_$\]]/,$a="__r",ka="__c",Aa={create:Nn,update:Nn},Ea={create:Dn,update:Dn},Sa=v(function(t){var e={};return t.split(/;(?![^(]*\))/g).forEach(function(t){if(t){var n=t.split(/:(.+)/);n.length>1&&(e[n[0].trim()]=n[1].trim())}}),e}),Oa=/^--/,ja=/\s*!important$/,Na=function(t,e,n){if(Oa.test(e))t.style.setProperty(e,n);else if(ja.test(n))t.style.setProperty(e,n.replace(ja,""),"important");else{var r=Ia(e);if(Array.isArray(n))for(var i=0,o=n.length;i<o;i++)t.style[r]=n[i];else t.style[r]=n}},Da=["Webkit","Moz","ms"],Ia=v(function(t){if(Yo=Yo||document.createElement("div"),"filter"!==(t=Ii(t))&&t in Yo.style)return t;for(var e=t.charAt(0).toUpperCase()+t.slice(1),n=0;n<Da.length;n++){var r=Da[n]+e;if(r in Yo.style)return r}}),La={create:Mn,update:Mn},Ra=v(function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}}),Pa=Xi&&!Qi,Fa="transition",qa="animation",Ma="transition",Ha="transitionend",Ba="animation",Ua="animationend";Pa&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Ma="WebkitTransition",Ha="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Ba="WebkitAnimation",Ua="webkitAnimationEnd"));var Wa=Xi&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout,za=/\b(transform|all)(,|$)/,Va=Xi?{create:er,activate:er,remove:function(t,e){!0!==t.data.show?Zn(t,e):e()}}:{},Xa=[xa,Ca,Aa,Ea,La,Va],Ka=Xa.concat(wa),Ja=function(t){function e(t){return new _o(O.tagName(t).toLowerCase(),{},[],void 0,t)}function o(t,e){function n(){0==--n.listeners&&s(t)}return n.listeners=e,n}function s(t){var e=O.parentNode(t);r(e)&&O.removeChild(e,t)}function u(t,e,n,o,a){if(t.isRootInsert=!a,!c(t,e,n,o)){var s=t.data,u=t.children,l=t.tag;r(l)?(t.elm=t.ns?O.createElementNS(t.ns,l):O.createElement(l,t),m(t),h(t,u,e),r(s)&&g(t,e),d(n,t.elm,o)):i(t.isComment)?(t.elm=O.createComment(t.text),d(n,t.elm,o)):(t.elm=O.createTextNode(t.text),d(n,t.elm,o))}}function c(t,e,n,o){var a=t.data;if(r(a)){var s=r(t.componentInstance)&&a.keepAlive;if(r(a=a.hook)&&r(a=a.init)&&a(t,!1,n,o),r(t.componentInstance))return l(t,e),i(s)&&f(t,e,n,o),!0}}function l(t,e){r(t.data.pendingInsert)&&e.push.apply(e,t.data.pendingInsert),t.elm=t.componentInstance.$el,v(t)?(g(t,e),m(t)):(Xe(t),e.push(t))}function f(t,e,n,i){for(var o,a=t;a.componentInstance;)if(a=a.componentInstance._vnode,r(o=a.data)&&r(o=o.transition)){for(o=0;o<E.activate.length;++o)E.activate[o](ma,a);e.push(a);break}d(n,t.elm,i)}function d(t,e,n){r(t)&&(r(n)?n.parentNode===t&&O.insertBefore(t,e,n):O.appendChild(t,e))}function h(t,e,n){if(Array.isArray(e))for(var r=0;r<e.length;++r)u(e[r],n,t.elm,null,!0);else a(t.text)&&O.appendChild(t.elm,O.createTextNode(t.text))}function v(t){for(;t.componentInstance;)t=t.componentInstance._vnode;return r(t.tag)}function g(t,e){for(var n=0;n<E.create.length;++n)E.create[n](ma,t);k=t.data.hook,r(k)&&(r(k.create)&&k.create(ma,t),r(k.insert)&&e.push(t))}function m(t){for(var e,n=t;n;)r(e=n.context)&&r(e=e.$options._scopeId)&&O.setAttribute(t.elm,e,""),n=n.parent;r(e=$o)&&e!==t.context&&r(e=e.$options._scopeId)&&O.setAttribute(t.elm,e,"")}function y(t,e,n,r,i,o){for(;r<=i;++r)u(n[r],o,t,e)}function b(t){var e,n,i=t.data;if(r(i))for(r(e=i.hook)&&r(e=e.destroy)&&e(t),e=0;e<E.destroy.length;++e)E.destroy[e](t);if(r(e=t.children))for(n=0;n<t.children.length;++n)b(t.children[n])}function _(t,e,n,i){for(;n<=i;++n){var o=e[n];r(o)&&(r(o.tag)?(w(o),b(o)):s(o.elm))}}function w(t,e){if(r(e)||r(t.data)){var n,i=E.remove.length+1;for(r(e)?e.listeners+=i:e=o(t.elm,i),r(n=t.componentInstance)&&r(n=n._vnode)&&r(n.data)&&w(n,e),n=0;n<E.remove.length;++n)E.remove[n](t,e);r(n=t.data.hook)&&r(n=n.remove)?n(t,e):e()}else s(t.elm)}function x(t,e,i,o,a){for(var s,c,l,f,p=0,d=0,h=e.length-1,v=e[0],g=e[h],m=i.length-1,b=i[0],w=i[m],x=!a;p<=h&&d<=m;)n(v)?v=e[++p]:n(g)?g=e[--h]:Ke(v,b)?(C(v,b,o),v=e[++p],b=i[++d]):Ke(g,w)?(C(g,w,o),g=e[--h],w=i[--m]):Ke(v,w)?(C(v,w,o),x&&O.insertBefore(t,v.elm,O.nextSibling(g.elm)),v=e[++p],w=i[--m]):Ke(g,b)?(C(g,b,o),x&&O.insertBefore(t,g.elm,v.elm),g=e[--h],b=i[++d]):(n(s)&&(s=Qe(e,p,h)),c=r(b.key)?s[b.key]:null,n(c)?(u(b,o,t,v.elm),b=i[++d]):(l=e[c],Ke(l,b)?(C(l,b,o),e[c]=void 0,x&&O.insertBefore(t,b.elm,v.elm),b=i[++d]):(u(b,o,t,v.elm),b=i[++d])));p>h?(f=n(i[m+1])?null:i[m+1].elm,y(t,f,i,d,m,o)):d>m&&_(t,e,p,h)}function C(t,e,o,a){if(t!==e){if(i(e.isStatic)&&i(t.isStatic)&&e.key===t.key&&(i(e.isCloned)||i(e.isOnce)))return e.elm=t.elm,void(e.componentInstance=t.componentInstance);var s,u=e.data;r(u)&&r(s=u.hook)&&r(s=s.prepatch)&&s(t,e);var c=e.elm=t.elm,l=t.children,f=e.children;if(r(u)&&v(e)){for(s=0;s<E.update.length;++s)E.update[s](t,e);r(s=u.hook)&&r(s=s.update)&&s(t,e)}n(e.text)?r(l)&&r(f)?l!==f&&x(c,l,f,o,a):r(f)?(r(t.text)&&O.setTextContent(c,""),y(c,null,f,0,f.length-1,o)):r(l)?_(c,l,0,l.length-1):r(t.text)&&O.setTextContent(c,""):t.text!==e.text&&O.setTextContent(c,e.text),r(u)&&r(s=u.hook)&&r(s=s.postpatch)&&s(t,e)}}function T(t,e,n){if(i(n)&&r(t.parent))t.parent.data.pendingInsert=e;else for(var o=0;o<e.length;++o)e[o].data.hook.insert(e[o])}function $(t,e,n){e.elm=t;var i=e.tag,o=e.data,a=e.children;if(r(o)&&(r(k=o.hook)&&r(k=k.init)&&k(e,!0),r(k=e.componentInstance)))return l(e,n),!0;if(r(i)){if(r(a))if(t.hasChildNodes()){for(var s=!0,u=t.firstChild,c=0;c<a.length;c++){if(!u||!$(u,a[c],n)){s=!1;break}u=u.nextSibling}if(!s||u)return!1}else h(e,a,n);if(r(o))for(var f in o)if(!j(f)){g(e,n);break}}else t.data!==e.text&&(t.data=e.text);return!0}var k,A,E={},S=t.modules,O=t.nodeOps;for(k=0;k<ya.length;++k)for(E[ya[k]]=[],A=0;A<S.length;++A)r(S[A][ya[k]])&&E[ya[k]].push(S[A][ya[k]]);var j=p("attrs,style,class,staticClass,staticStyle,key");return function(t,o,a,s,c,l){if(n(o))return void(r(t)&&b(t));var f=!1,p=[];if(n(t))f=!0,u(o,p,c,l);else{var d=r(t.nodeType);if(!d&&Ke(t,o))C(t,o,p,s);else{if(d){if(1===t.nodeType&&t.hasAttribute(qi)&&(t.removeAttribute(qi),a=!0),i(a)&&$(t,o,p))return T(o,p,!0),t;t=e(t)}var h=t.elm,g=O.parentNode(h);if(u(o,p,h._leaveCb?null:g,O.nextSibling(h)),r(o.parent)){for(var m=o.parent;m;)m.elm=o.elm,m=m.parent;if(v(o))for(var y=0;y<E.create.length;++y)E.create[y](ma,o.parent)}r(g)?_(g,[t],0,0):r(t.tag)&&b(t)}}return T(o,p,f),o.elm}}({nodeOps:va,modules:Ka});Qi&&document.addEventListener("selectionchange",function(){var t=document.activeElement;t&&t.vmodel&&sr(t,"input")});var Qa={inserted:function(t,e,n){if("select"===n.tag){var r=function(){nr(t,e,n.context)};r(),(Ji||Gi)&&setTimeout(r,0)}else"textarea"!==n.tag&&"text"!==t.type&&"password"!==t.type||(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener("change",ar),Zi||(t.addEventListener("compositionstart",or),t.addEventListener("compositionend",ar)),Qi&&(t.vmodel=!0)))},componentUpdated:function(t,e,n){if("select"===n.tag){nr(t,e,n.context);(t.multiple?e.value.some(function(e){return rr(e,t.options)}):e.value!==e.oldValue&&rr(e.value,t.options))&&sr(t,"change")}}},Ga={bind:function(t,e,n){var r=e.value;n=ur(n);var i=n.data&&n.data.transition,o=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&i&&!Qi?(n.data.show=!0,Gn(n,function(){t.style.display=o})):t.style.display=r?o:"none"},update:function(t,e,n){var r=e.value;r!==e.oldValue&&(n=ur(n),n.data&&n.data.transition&&!Qi?(n.data.show=!0,r?Gn(n,function(){t.style.display=t.__vOriginalDisplay}):Zn(n,function(){t.style.display="none"})):t.style.display=r?t.__vOriginalDisplay:"none")},unbind:function(t,e,n,r,i){i||(t.style.display=t.__vOriginalDisplay)}},Za={model:Qa,show:Ga},Ya={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]},ts={name:"transition",props:Ya,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(function(t){return t.tag}),n.length)){var r=this.mode,i=n[0];if(pr(this.$vnode))return i;var o=cr(i);if(!o)return i;if(this._leaving)return fr(t,i);var s="__transition-"+this._uid+"-";o.key=null==o.key?s+o.tag:a(o.key)?0===String(o.key).indexOf(s)?o.key:s+o.key:o.key;var u=(o.data||(o.data={})).transition=lr(this),c=this._vnode,l=cr(c);if(o.data.directives&&o.data.directives.some(function(t){return"show"===t.name})&&(o.data.show=!0),l&&l.data&&!dr(o,l)){var f=l&&(l.data.transition=y({},u));if("out-in"===r)return this._leaving=!0,tt(f,"afterLeave",function(){e._leaving=!1,e.$forceUpdate()}),fr(t,i);if("in-out"===r){var p,d=function(){p()};tt(u,"afterEnter",d),tt(u,"enterCancelled",d),tt(f,"delayLeave",function(t){p=t})}}return i}}},es=y({tag:String,moveClass:String},Ya);delete es.mode;var ns={props:es,render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],a=lr(this),s=0;s<i.length;s++){var u=i[s];if(u.tag)if(null!=u.key&&0!==String(u.key).indexOf("__vlist"))o.push(u),n[u.key]=u,(u.data||(u.data={})).transition=a;else;}if(r){for(var c=[],l=[],f=0;f<r.length;f++){var p=r[f];p.data.transition=a,p.data.pos=p.elm.getBoundingClientRect(),n[p.key]?c.push(p):l.push(p)}this.kept=t(e,null,c),this.removed=l}return t(e,null,o)},beforeUpdate:function(){this.__patch__(this._vnode,this.kept,!1,!0),this._vnode=this.kept},updated:function(){var t=this.prevChildren,e=this.moveClass||(this.name||"v")+"-move";if(t.length&&this.hasMove(t[0].elm,e)){t.forEach(hr),t.forEach(vr),t.forEach(gr);var n=document.body;n.offsetHeight;t.forEach(function(t){if(t.data.moved){var n=t.elm,r=n.style;zn(n,e),r.transform=r.WebkitTransform=r.transitionDuration="",n.addEventListener(Ha,n._moveCb=function t(r){r&&!/transform$/.test(r.propertyName)||(n.removeEventListener(Ha,t),n._moveCb=null,Vn(n,e))})}})}},methods:{hasMove:function(t,e){if(!Pa)return!1;if(null!=this._hasMove)return this._hasMove;var n=t.cloneNode();t._transitionClasses&&t._transitionClasses.forEach(function(t){Bn(n,t)}),Hn(n,e),n.style.display="none",this.$el.appendChild(n);var r=Kn(n);return this.$el.removeChild(n),this._hasMove=r.hasTransform}}},rs={Transition:ts,TransitionGroup:ns};ge.config.mustUseProp=na,ge.config.isReservedTag=da,ge.config.isReservedAttr=ta,ge.config.getTagNamespace=Ne,ge.config.isUnknownElement=De,y(ge.options.directives,Za),y(ge.options.components,rs),ge.prototype.__patch__=Xi?Ja:_,ge.prototype.$mount=function(t,e){return t=t&&Xi?Ie(t):void 0,yt(this,t,e)},setTimeout(function(){Bi.devtools&&ao&&ao.emit("init",ge)},0);var is,os=!!Xi&&function(t,e){var n=document.createElement("div");return n.innerHTML='<div a="'+t+'">',n.innerHTML.indexOf(e)>0}("\n"," "),as=p("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),ss=p("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),us=p("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),cs=[/"([^"]*)"+/.source,/'([^']*)'+/.source,/([^\s"'=<>`]+)/.source],ls=new RegExp("^\\s*"+/([^\s"'<>\/=]+)/.source+"(?:\\s*("+/(?:=)/.source+")\\s*(?:"+cs.join("|")+"))?"),fs="[a-zA-Z_][\\w\\-\\.]*",ps="((?:"+fs+"\\:)?"+fs+")",ds=new RegExp("^<"+ps),hs=/^\s*(\/?)>/,vs=new RegExp("^<\\/"+ps+"[^>]*>"),gs=/^<!DOCTYPE [^>]+>/i,ms=/^<!--/,ys=/^<!\[/,bs=!1;"x".replace(/x(.)?/g,function(t,e){bs=""===e});var _s,ws,xs,Cs,Ts,$s,ks,As,Es,Ss,Os,js,Ns,Ds,Is,Ls,Rs,Ps,Fs=p("script,style,textarea",!0),qs={},Ms={"<":"<",">":">",""":'"',"&":"&"," ":"\n"},Hs=/&(?:lt|gt|quot|amp);/g,Bs=/&(?:lt|gt|quot|amp|#10);/g,Us=/\{\{((?:.|\n)+?)\}\}/g,Ws=v(function(t){var e=t[0].replace(/[-.*+?^${}()|[\]\/\\]/g,"\\$&"),n=t[1].replace(/[-.*+?^${}()|[\]\/\\]/g,"\\$&");return new RegExp(e+"((?:.|\\n)+?)"+n,"g")}),zs=/^@|^v-on:/,Vs=/^v-|^@|^:/,Xs=/(.*?)\s+(?:in|of)\s+(.*)/,Ks=/\((\{[^}]*\}|[^,]*),([^,]*)(?:,([^,]*))?\)/,Js=/:(.*)$/,Qs=/^:|^v-bind:/,Gs=/\.[^.]+/g,Zs=v(mr),Ys=/^xmlns:NS\d+/,tu=/^NS\d+:/,eu=v(Br),nu=/^\s*([\w$_]+|\([^)]*?\))\s*=>|^function\s*\(/,ru=/^\s*[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['.*?']|\[".*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*\s*$/,iu={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},ou=function(t){return"if("+t+")return null;"},au={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:ou("$event.target !== $event.currentTarget"),ctrl:ou("!$event.ctrlKey"),shift:ou("!$event.shiftKey"),alt:ou("!$event.altKey"),meta:ou("!$event.metaKey"),left:ou("'button' in $event && $event.button !== 0"),middle:ou("'button' in $event && $event.button !== 1"),right:ou("'button' in $event && $event.button !== 2")},su={bind:Zr,cloak:_},uu=(new RegExp("\\b"+"do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments".split(",").join("\\b|\\b")+"\\b"),new RegExp("\\b"+"delete,typeof,void".split(",").join("\\s*\\([^\\)]*\\)|\\b")+"\\s*\\([^\\)]*\\)"),{staticKeys:["staticClass"],transformNode:Ti,genData:$i}),cu={staticKeys:["staticStyle"],transformNode:ki,genData:Ai},lu=[uu,cu],fu={model:Tn,text:Ei,html:Si},pu={expectHTML:!0,modules:lu,directives:fu,isPreTag:pa,isUnaryTag:as,mustUseProp:na,canBeLeftOpenTag:ss,isReservedTag:da,getTagNamespace:Ne,staticKeys:function(t){return t.reduce(function(t,e){return t.concat(e.staticKeys||[])},[]).join(",")}(lu)},du=function(t){function e(e,n){var r=Object.create(t),i=[],o=[];if(r.warn=function(t,e){(e?o:i).push(t)},n){n.modules&&(r.modules=(t.modules||[]).concat(n.modules)),n.directives&&(r.directives=y(Object.create(t.directives),n.directives));for(var a in n)"modules"!==a&&"directives"!==a&&(r[a]=n[a])}var s=xi(e,r);return s.errors=i,s.tips=o,s}function n(t,n,i){n=n||{};var o=n.delimiters?String(n.delimiters)+t:t;if(r[o])return r[o];var a=e(t,n),s={},u=[];s.render=Ci(a.render,u);var c=a.staticRenderFns.length;s.staticRenderFns=new Array(c);for(var l=0;l<c;l++)s.staticRenderFns[l]=Ci(a.staticRenderFns[l],u);return r[o]=s}var r=Object.create(null);return{compile:e,compileToFunctions:n}}(pu),hu=du.compileToFunctions,vu=v(function(t){var e=Ie(t);return e&&e.innerHTML}),gu=ge.prototype.$mount;ge.prototype.$mount=function(t,e){if((t=t&&Ie(t))===document.body||t===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if("string"==typeof r)"#"===r.charAt(0)&&(r=vu(r));else{if(!r.nodeType)return this;r=r.innerHTML}else t&&(r=Oi(t));if(r){var i=hu(r,{shouldDecodeNewlines:os,delimiters:n.delimiters},this),o=i.render,a=i.staticRenderFns;n.render=o,n.staticRenderFns=a}}return gu.call(this,t,e)},ge.compile=hu,t.exports=ge}).call(e,n(7))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e,n){n(8),t.exports=n(9)}]); \ No newline at end of file diff --git a/workspace/public/js/bootstrap.bundle.js b/workspace/public/js/bootstrap.bundle.js new file mode 100644 index 0000000..8849439 --- /dev/null +++ b/workspace/public/js/bootstrap.bundle.js @@ -0,0 +1,6287 @@ +/*! + * Bootstrap v4.0.0-beta.2 (https://getbootstrap.com) + * Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +var bootstrap = (function (exports,$) { +'use strict'; + +$ = $ && $.hasOwnProperty('default') ? $['default'] : $; + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-beta.2): util.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +var Util = function () { + /** + * ------------------------------------------------------------------------ + * Private TransitionEnd Helpers + * ------------------------------------------------------------------------ + */ + var transition = false; + var MAX_UID = 1000000; + var TransitionEndEvent = { + WebkitTransition: 'webkitTransitionEnd', + MozTransition: 'transitionend', + OTransition: 'oTransitionEnd otransitionend', + transition: 'transitionend' // shoutout AngusCroll (https://goo.gl/pxwQGp) + + }; + + function toType(obj) { + return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase(); + } + + function getSpecialTransitionEndEvent() { + return { + bindType: transition.end, + delegateType: transition.end, + handle: function handle(event) { + if ($(event.target).is(this)) { + return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params + } + + return undefined; // eslint-disable-line no-undefined + } + }; + } + + function transitionEndTest() { + if (window.QUnit) { + return false; + } + + var el = document.createElement('bootstrap'); + + for (var name in TransitionEndEvent) { + if (typeof el.style[name] !== 'undefined') { + return { + end: TransitionEndEvent[name] + }; + } + } + + return false; + } + + function transitionEndEmulator(duration) { + var _this = this; + + var called = false; + $(this).one(Util.TRANSITION_END, function () { + called = true; + }); + setTimeout(function () { + if (!called) { + Util.triggerTransitionEnd(_this); + } + }, duration); + return this; + } + + function setTransitionEndSupport() { + transition = transitionEndTest(); + $.fn.emulateTransitionEnd = transitionEndEmulator; + + if (Util.supportsTransitionEnd()) { + $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent(); + } + } + /** + * -------------------------------------------------------------------------- + * Public Util Api + * -------------------------------------------------------------------------- + */ + + + var Util = { + TRANSITION_END: 'bsTransitionEnd', + getUID: function getUID(prefix) { + do { + // eslint-disable-next-line no-bitwise + prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here + } while (document.getElementById(prefix)); + + return prefix; + }, + getSelectorFromElement: function getSelectorFromElement(element) { + var selector = element.getAttribute('data-target'); + + if (!selector || selector === '#') { + selector = element.getAttribute('href') || ''; + } + + try { + var $selector = $(document).find(selector); + return $selector.length > 0 ? selector : null; + } catch (error) { + return null; + } + }, + reflow: function reflow(element) { + return element.offsetHeight; + }, + triggerTransitionEnd: function triggerTransitionEnd(element) { + $(element).trigger(transition.end); + }, + supportsTransitionEnd: function supportsTransitionEnd() { + return Boolean(transition); + }, + isElement: function isElement(obj) { + return (obj[0] || obj).nodeType; + }, + typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) { + for (var property in configTypes) { + if (Object.prototype.hasOwnProperty.call(configTypes, property)) { + var expectedTypes = configTypes[property]; + var value = config[property]; + var valueType = value && Util.isElement(value) ? 'element' : toType(value); + + if (!new RegExp(expectedTypes).test(valueType)) { + throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\".")); + } + } + } + } + }; + setTransitionEndSupport(); + return Util; +}($); + +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; +} + +var createClass = _createClass; + +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + subClass.__proto__ = superClass; +} + +var inheritsLoose = _inheritsLoose; + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-beta.2): alert.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +var Alert = function () { + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + var NAME = 'alert'; + var VERSION = '4.0.0-beta.2'; + var DATA_KEY = 'bs.alert'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var TRANSITION_DURATION = 150; + var Selector = { + DISMISS: '[data-dismiss="alert"]' + }; + var Event = { + CLOSE: "close" + EVENT_KEY, + CLOSED: "closed" + EVENT_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + ALERT: 'alert', + FADE: 'fade', + SHOW: 'show' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Alert = + /*#__PURE__*/ + function () { + function Alert(element) { + this._element = element; + } // getters + + + var _proto = Alert.prototype; + + // public + _proto.close = function close(element) { + element = element || this._element; + + var rootElement = this._getRootElement(element); + + var customEvent = this._triggerCloseEvent(rootElement); + + if (customEvent.isDefaultPrevented()) { + return; + } + + this._removeElement(rootElement); + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY); + this._element = null; + }; // private + + + _proto._getRootElement = function _getRootElement(element) { + var selector = Util.getSelectorFromElement(element); + var parent = false; + + if (selector) { + parent = $(selector)[0]; + } + + if (!parent) { + parent = $(element).closest("." + ClassName.ALERT)[0]; + } + + return parent; + }; + + _proto._triggerCloseEvent = function _triggerCloseEvent(element) { + var closeEvent = $.Event(Event.CLOSE); + $(element).trigger(closeEvent); + return closeEvent; + }; + + _proto._removeElement = function _removeElement(element) { + var _this = this; + + $(element).removeClass(ClassName.SHOW); + + if (!Util.supportsTransitionEnd() || !$(element).hasClass(ClassName.FADE)) { + this._destroyElement(element); + + return; + } + + $(element).one(Util.TRANSITION_END, function (event) { + return _this._destroyElement(element, event); + }).emulateTransitionEnd(TRANSITION_DURATION); + }; + + _proto._destroyElement = function _destroyElement(element) { + $(element).detach().trigger(Event.CLOSED).remove(); + }; // static + + + Alert._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var $element = $(this); + var data = $element.data(DATA_KEY); + + if (!data) { + data = new Alert(this); + $element.data(DATA_KEY, data); + } + + if (config === 'close') { + data[config](this); + } + }); + }; + + Alert._handleDismiss = function _handleDismiss(alertInstance) { + return function (event) { + if (event) { + event.preventDefault(); + } + + alertInstance.close(this); + }; + }; + + createClass(Alert, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }]); + return Alert; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert())); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Alert._jQueryInterface; + $.fn[NAME].Constructor = Alert; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Alert._jQueryInterface; + }; + + return Alert; +}($); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-beta.2): button.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +var Button = function () { + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + var NAME = 'button'; + var VERSION = '4.0.0-beta.2'; + var DATA_KEY = 'bs.button'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var ClassName = { + ACTIVE: 'active', + BUTTON: 'btn', + FOCUS: 'focus' + }; + var Selector = { + DATA_TOGGLE_CARROT: '[data-toggle^="button"]', + DATA_TOGGLE: '[data-toggle="buttons"]', + INPUT: 'input', + ACTIVE: '.active', + BUTTON: '.btn' + }; + var Event = { + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY, + FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY + DATA_API_KEY + " " + ("blur" + EVENT_KEY + DATA_API_KEY) + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Button = + /*#__PURE__*/ + function () { + function Button(element) { + this._element = element; + } // getters + + + var _proto = Button.prototype; + + // public + _proto.toggle = function toggle() { + var triggerChangeEvent = true; + var addAriaPressed = true; + var rootElement = $(this._element).closest(Selector.DATA_TOGGLE)[0]; + + if (rootElement) { + var input = $(this._element).find(Selector.INPUT)[0]; + + if (input) { + if (input.type === 'radio') { + if (input.checked && $(this._element).hasClass(ClassName.ACTIVE)) { + triggerChangeEvent = false; + } else { + var activeElement = $(rootElement).find(Selector.ACTIVE)[0]; + + if (activeElement) { + $(activeElement).removeClass(ClassName.ACTIVE); + } + } + } + + if (triggerChangeEvent) { + if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) { + return; + } + + input.checked = !$(this._element).hasClass(ClassName.ACTIVE); + $(input).trigger('change'); + } + + input.focus(); + addAriaPressed = false; + } + } + + if (addAriaPressed) { + this._element.setAttribute('aria-pressed', !$(this._element).hasClass(ClassName.ACTIVE)); + } + + if (triggerChangeEvent) { + $(this._element).toggleClass(ClassName.ACTIVE); + } + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY); + this._element = null; + }; // static + + + Button._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + + if (!data) { + data = new Button(this); + $(this).data(DATA_KEY, data); + } + + if (config === 'toggle') { + data[config](); + } + }); + }; + + createClass(Button, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }]); + return Button; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) { + event.preventDefault(); + var button = event.target; + + if (!$(button).hasClass(ClassName.BUTTON)) { + button = $(button).closest(Selector.BUTTON); + } + + Button._jQueryInterface.call($(button), 'toggle'); + }).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) { + var button = $(event.target).closest(Selector.BUTTON)[0]; + $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type)); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Button._jQueryInterface; + $.fn[NAME].Constructor = Button; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Button._jQueryInterface; + }; + + return Button; +}($); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-beta.2): carousel.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +var Carousel = function () { + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + var NAME = 'carousel'; + var VERSION = '4.0.0-beta.2'; + var DATA_KEY = 'bs.carousel'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var TRANSITION_DURATION = 600; + var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key + + var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key + + var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch + + var Default = { + interval: 5000, + keyboard: true, + slide: false, + pause: 'hover', + wrap: true + }; + var DefaultType = { + interval: '(number|boolean)', + keyboard: 'boolean', + slide: '(boolean|string)', + pause: '(string|boolean)', + wrap: 'boolean' + }; + var Direction = { + NEXT: 'next', + PREV: 'prev', + LEFT: 'left', + RIGHT: 'right' + }; + var Event = { + SLIDE: "slide" + EVENT_KEY, + SLID: "slid" + EVENT_KEY, + KEYDOWN: "keydown" + EVENT_KEY, + MOUSEENTER: "mouseenter" + EVENT_KEY, + MOUSELEAVE: "mouseleave" + EVENT_KEY, + TOUCHEND: "touchend" + EVENT_KEY, + LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + CAROUSEL: 'carousel', + ACTIVE: 'active', + SLIDE: 'slide', + RIGHT: 'carousel-item-right', + LEFT: 'carousel-item-left', + NEXT: 'carousel-item-next', + PREV: 'carousel-item-prev', + ITEM: 'carousel-item' + }; + var Selector = { + ACTIVE: '.active', + ACTIVE_ITEM: '.active.carousel-item', + ITEM: '.carousel-item', + NEXT_PREV: '.carousel-item-next, .carousel-item-prev', + INDICATORS: '.carousel-indicators', + DATA_SLIDE: '[data-slide], [data-slide-to]', + DATA_RIDE: '[data-ride="carousel"]' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Carousel = + /*#__PURE__*/ + function () { + function Carousel(element, config) { + this._items = null; + this._interval = null; + this._activeElement = null; + this._isPaused = false; + this._isSliding = false; + this.touchTimeout = null; + this._config = this._getConfig(config); + this._element = $(element)[0]; + this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]; + + this._addEventListeners(); + } // getters + + + var _proto = Carousel.prototype; + + // public + _proto.next = function next() { + if (!this._isSliding) { + this._slide(Direction.NEXT); + } + }; + + _proto.nextWhenVisible = function nextWhenVisible() { + // Don't call next when the page isn't visible + // or the carousel or its parent isn't visible + if (!document.hidden && $(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden') { + this.next(); + } + }; + + _proto.prev = function prev() { + if (!this._isSliding) { + this._slide(Direction.PREV); + } + }; + + _proto.pause = function pause(event) { + if (!event) { + this._isPaused = true; + } + + if ($(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) { + Util.triggerTransitionEnd(this._element); + this.cycle(true); + } + + clearInterval(this._interval); + this._interval = null; + }; + + _proto.cycle = function cycle(event) { + if (!event) { + this._isPaused = false; + } + + if (this._interval) { + clearInterval(this._interval); + this._interval = null; + } + + if (this._config.interval && !this._isPaused) { + this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval); + } + }; + + _proto.to = function to(index) { + var _this = this; + + this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]; + + var activeIndex = this._getItemIndex(this._activeElement); + + if (index > this._items.length - 1 || index < 0) { + return; + } + + if (this._isSliding) { + $(this._element).one(Event.SLID, function () { + return _this.to(index); + }); + return; + } + + if (activeIndex === index) { + this.pause(); + this.cycle(); + return; + } + + var direction = index > activeIndex ? Direction.NEXT : Direction.PREV; + + this._slide(direction, this._items[index]); + }; + + _proto.dispose = function dispose() { + $(this._element).off(EVENT_KEY); + $.removeData(this._element, DATA_KEY); + this._items = null; + this._config = null; + this._element = null; + this._interval = null; + this._isPaused = null; + this._isSliding = null; + this._activeElement = null; + this._indicatorsElement = null; + }; // private + + + _proto._getConfig = function _getConfig(config) { + config = $.extend({}, Default, config); + Util.typeCheckConfig(NAME, config, DefaultType); + return config; + }; + + _proto._addEventListeners = function _addEventListeners() { + var _this2 = this; + + if (this._config.keyboard) { + $(this._element).on(Event.KEYDOWN, function (event) { + return _this2._keydown(event); + }); + } + + if (this._config.pause === 'hover') { + $(this._element).on(Event.MOUSEENTER, function (event) { + return _this2.pause(event); + }).on(Event.MOUSELEAVE, function (event) { + return _this2.cycle(event); + }); + + if ('ontouchstart' in document.documentElement) { + // if it's a touch-enabled device, mouseenter/leave are fired as + // part of the mouse compatibility events on first tap - the carousel + // would stop cycling until user tapped out of it; + // here, we listen for touchend, explicitly pause the carousel + // (as if it's the second time we tap on it, mouseenter compat event + // is NOT fired) and after a timeout (to allow for mouse compatibility + // events to fire) we explicitly restart cycling + $(this._element).on(Event.TOUCHEND, function () { + _this2.pause(); + + if (_this2.touchTimeout) { + clearTimeout(_this2.touchTimeout); + } + + _this2.touchTimeout = setTimeout(function (event) { + return _this2.cycle(event); + }, TOUCHEVENT_COMPAT_WAIT + _this2._config.interval); + }); + } + } + }; + + _proto._keydown = function _keydown(event) { + if (/input|textarea/i.test(event.target.tagName)) { + return; + } + + switch (event.which) { + case ARROW_LEFT_KEYCODE: + event.preventDefault(); + this.prev(); + break; + + case ARROW_RIGHT_KEYCODE: + event.preventDefault(); + this.next(); + break; + + default: + return; + } + }; + + _proto._getItemIndex = function _getItemIndex(element) { + this._items = $.makeArray($(element).parent().find(Selector.ITEM)); + return this._items.indexOf(element); + }; + + _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) { + var isNextDirection = direction === Direction.NEXT; + var isPrevDirection = direction === Direction.PREV; + + var activeIndex = this._getItemIndex(activeElement); + + var lastItemIndex = this._items.length - 1; + var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex; + + if (isGoingToWrap && !this._config.wrap) { + return activeElement; + } + + var delta = direction === Direction.PREV ? -1 : 1; + var itemIndex = (activeIndex + delta) % this._items.length; + return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex]; + }; + + _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) { + var targetIndex = this._getItemIndex(relatedTarget); + + var fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0]); + + var slideEvent = $.Event(Event.SLIDE, { + relatedTarget: relatedTarget, + direction: eventDirectionName, + from: fromIndex, + to: targetIndex + }); + $(this._element).trigger(slideEvent); + return slideEvent; + }; + + _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) { + if (this._indicatorsElement) { + $(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE); + + var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)]; + + if (nextIndicator) { + $(nextIndicator).addClass(ClassName.ACTIVE); + } + } + }; + + _proto._slide = function _slide(direction, element) { + var _this3 = this; + + var activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]; + + var activeElementIndex = this._getItemIndex(activeElement); + + var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement); + + var nextElementIndex = this._getItemIndex(nextElement); + + var isCycling = Boolean(this._interval); + var directionalClassName; + var orderClassName; + var eventDirectionName; + + if (direction === Direction.NEXT) { + directionalClassName = ClassName.LEFT; + orderClassName = ClassName.NEXT; + eventDirectionName = Direction.LEFT; + } else { + directionalClassName = ClassName.RIGHT; + orderClassName = ClassName.PREV; + eventDirectionName = Direction.RIGHT; + } + + if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) { + this._isSliding = false; + return; + } + + var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName); + + if (slideEvent.isDefaultPrevented()) { + return; + } + + if (!activeElement || !nextElement) { + // some weirdness is happening, so we bail + return; + } + + this._isSliding = true; + + if (isCycling) { + this.pause(); + } + + this._setActiveIndicatorElement(nextElement); + + var slidEvent = $.Event(Event.SLID, { + relatedTarget: nextElement, + direction: eventDirectionName, + from: activeElementIndex, + to: nextElementIndex + }); + + if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.SLIDE)) { + $(nextElement).addClass(orderClassName); + Util.reflow(nextElement); + $(activeElement).addClass(directionalClassName); + $(nextElement).addClass(directionalClassName); + $(activeElement).one(Util.TRANSITION_END, function () { + $(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE); + $(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName); + _this3._isSliding = false; + setTimeout(function () { + return $(_this3._element).trigger(slidEvent); + }, 0); + }).emulateTransitionEnd(TRANSITION_DURATION); + } else { + $(activeElement).removeClass(ClassName.ACTIVE); + $(nextElement).addClass(ClassName.ACTIVE); + this._isSliding = false; + $(this._element).trigger(slidEvent); + } + + if (isCycling) { + this.cycle(); + } + }; // static + + + Carousel._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + + var _config = $.extend({}, Default, $(this).data()); + + if (typeof config === 'object') { + $.extend(_config, config); + } + + var action = typeof config === 'string' ? config : _config.slide; + + if (!data) { + data = new Carousel(this, _config); + $(this).data(DATA_KEY, data); + } + + if (typeof config === 'number') { + data.to(config); + } else if (typeof action === 'string') { + if (typeof data[action] === 'undefined') { + throw new Error("No method named \"" + action + "\""); + } + + data[action](); + } else if (_config.interval) { + data.pause(); + data.cycle(); + } + }); + }; + + Carousel._dataApiClickHandler = function _dataApiClickHandler(event) { + var selector = Util.getSelectorFromElement(this); + + if (!selector) { + return; + } + + var target = $(selector)[0]; + + if (!target || !$(target).hasClass(ClassName.CAROUSEL)) { + return; + } + + var config = $.extend({}, $(target).data(), $(this).data()); + var slideIndex = this.getAttribute('data-slide-to'); + + if (slideIndex) { + config.interval = false; + } + + Carousel._jQueryInterface.call($(target), config); + + if (slideIndex) { + $(target).data(DATA_KEY).to(slideIndex); + } + + event.preventDefault(); + }; + + createClass(Carousel, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }]); + return Carousel; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler); + $(window).on(Event.LOAD_DATA_API, function () { + $(Selector.DATA_RIDE).each(function () { + var $carousel = $(this); + + Carousel._jQueryInterface.call($carousel, $carousel.data()); + }); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Carousel._jQueryInterface; + $.fn[NAME].Constructor = Carousel; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Carousel._jQueryInterface; + }; + + return Carousel; +}($); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-beta.2): collapse.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +var Collapse = function () { + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + var NAME = 'collapse'; + var VERSION = '4.0.0-beta.2'; + var DATA_KEY = 'bs.collapse'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var TRANSITION_DURATION = 600; + var Default = { + toggle: true, + parent: '' + }; + var DefaultType = { + toggle: 'boolean', + parent: '(string|element)' + }; + var Event = { + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY, + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + SHOW: 'show', + COLLAPSE: 'collapse', + COLLAPSING: 'collapsing', + COLLAPSED: 'collapsed' + }; + var Dimension = { + WIDTH: 'width', + HEIGHT: 'height' + }; + var Selector = { + ACTIVES: '.show, .collapsing', + DATA_TOGGLE: '[data-toggle="collapse"]' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Collapse = + /*#__PURE__*/ + function () { + function Collapse(element, config) { + this._isTransitioning = false; + this._element = element; + this._config = this._getConfig(config); + this._triggerArray = $.makeArray($("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]"))); + var tabToggles = $(Selector.DATA_TOGGLE); + + for (var i = 0; i < tabToggles.length; i++) { + var elem = tabToggles[i]; + var selector = Util.getSelectorFromElement(elem); + + if (selector !== null && $(selector).filter(element).length > 0) { + this._triggerArray.push(elem); + } + } + + this._parent = this._config.parent ? this._getParent() : null; + + if (!this._config.parent) { + this._addAriaAndCollapsedClass(this._element, this._triggerArray); + } + + if (this._config.toggle) { + this.toggle(); + } + } // getters + + + var _proto = Collapse.prototype; + + // public + _proto.toggle = function toggle() { + if ($(this._element).hasClass(ClassName.SHOW)) { + this.hide(); + } else { + this.show(); + } + }; + + _proto.show = function show() { + var _this = this; + + if (this._isTransitioning || $(this._element).hasClass(ClassName.SHOW)) { + return; + } + + var actives; + var activesData; + + if (this._parent) { + actives = $.makeArray($(this._parent).children().children(Selector.ACTIVES)); + + if (!actives.length) { + actives = null; + } + } + + if (actives) { + activesData = $(actives).data(DATA_KEY); + + if (activesData && activesData._isTransitioning) { + return; + } + } + + var startEvent = $.Event(Event.SHOW); + $(this._element).trigger(startEvent); + + if (startEvent.isDefaultPrevented()) { + return; + } + + if (actives) { + Collapse._jQueryInterface.call($(actives), 'hide'); + + if (!activesData) { + $(actives).data(DATA_KEY, null); + } + } + + var dimension = this._getDimension(); + + $(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING); + this._element.style[dimension] = 0; + + if (this._triggerArray.length) { + $(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true); + } + + this.setTransitioning(true); + + var complete = function complete() { + $(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW); + _this._element.style[dimension] = ''; + + _this.setTransitioning(false); + + $(_this._element).trigger(Event.SHOWN); + }; + + if (!Util.supportsTransitionEnd()) { + complete(); + return; + } + + var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); + var scrollSize = "scroll" + capitalizedDimension; + $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION); + this._element.style[dimension] = this._element[scrollSize] + "px"; + }; + + _proto.hide = function hide() { + var _this2 = this; + + if (this._isTransitioning || !$(this._element).hasClass(ClassName.SHOW)) { + return; + } + + var startEvent = $.Event(Event.HIDE); + $(this._element).trigger(startEvent); + + if (startEvent.isDefaultPrevented()) { + return; + } + + var dimension = this._getDimension(); + + this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px"; + Util.reflow(this._element); + $(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW); + + if (this._triggerArray.length) { + for (var i = 0; i < this._triggerArray.length; i++) { + var trigger = this._triggerArray[i]; + var selector = Util.getSelectorFromElement(trigger); + + if (selector !== null) { + var $elem = $(selector); + + if (!$elem.hasClass(ClassName.SHOW)) { + $(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false); + } + } + } + } + + this.setTransitioning(true); + + var complete = function complete() { + _this2.setTransitioning(false); + + $(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN); + }; + + this._element.style[dimension] = ''; + + if (!Util.supportsTransitionEnd()) { + complete(); + return; + } + + $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION); + }; + + _proto.setTransitioning = function setTransitioning(isTransitioning) { + this._isTransitioning = isTransitioning; + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY); + this._config = null; + this._parent = null; + this._element = null; + this._triggerArray = null; + this._isTransitioning = null; + }; // private + + + _proto._getConfig = function _getConfig(config) { + config = $.extend({}, Default, config); + config.toggle = Boolean(config.toggle); // coerce string values + + Util.typeCheckConfig(NAME, config, DefaultType); + return config; + }; + + _proto._getDimension = function _getDimension() { + var hasWidth = $(this._element).hasClass(Dimension.WIDTH); + return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT; + }; + + _proto._getParent = function _getParent() { + var _this3 = this; + + var parent = null; + + if (Util.isElement(this._config.parent)) { + parent = this._config.parent; // it's a jQuery object + + if (typeof this._config.parent.jquery !== 'undefined') { + parent = this._config.parent[0]; + } + } else { + parent = $(this._config.parent)[0]; + } + + var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]"; + $(parent).find(selector).each(function (i, element) { + _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]); + }); + return parent; + }; + + _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) { + if (element) { + var isOpen = $(element).hasClass(ClassName.SHOW); + + if (triggerArray.length) { + $(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen); + } + } + }; // static + + + Collapse._getTargetFromElement = function _getTargetFromElement(element) { + var selector = Util.getSelectorFromElement(element); + return selector ? $(selector)[0] : null; + }; + + Collapse._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var $this = $(this); + var data = $this.data(DATA_KEY); + + var _config = $.extend({}, Default, $this.data(), typeof config === 'object' && config); + + if (!data && _config.toggle && /show|hide/.test(config)) { + _config.toggle = false; + } + + if (!data) { + data = new Collapse(this, _config); + $this.data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new Error("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + createClass(Collapse, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }]); + return Collapse; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { + // preventDefault only for <a> elements (which change the URL) not inside the collapsible element + if (event.currentTarget.tagName === 'A') { + event.preventDefault(); + } + + var $trigger = $(this); + var selector = Util.getSelectorFromElement(this); + $(selector).each(function () { + var $target = $(this); + var data = $target.data(DATA_KEY); + var config = data ? 'toggle' : $trigger.data(); + + Collapse._jQueryInterface.call($target, config); + }); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Collapse._jQueryInterface; + $.fn[NAME].Constructor = Collapse; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Collapse._jQueryInterface; + }; + + return Collapse; +}($); + +/**! + * @fileOverview Kickass library to create and place poppers near their reference elements. + * @version 1.12.5 + * @license + * Copyright (c) 2016 Federico Zivolo and contributors + * + * 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. + */ +var nativeHints = ['native code', '[object MutationObserverConstructor]']; + +/** + * Determine if a function is implemented natively (as opposed to a polyfill). + * @method + * @memberof Popper.Utils + * @argument {Function | undefined} fn the function to check + * @returns {Boolean} + */ +var isNative = (function (fn) { + return nativeHints.some(function (hint) { + return (fn || '').toString().indexOf(hint) > -1; + }); +}); + +var isBrowser = typeof window !== 'undefined'; +var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox']; +var timeoutDuration = 0; +for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) { + if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) { + timeoutDuration = 1; + break; + } +} + +function microtaskDebounce(fn) { + var scheduled = false; + var i = 0; + var elem = document.createElement('span'); + + // MutationObserver provides a mechanism for scheduling microtasks, which + // are scheduled *before* the next task. This gives us a way to debounce + // a function but ensure it's called *before* the next paint. + var observer = new MutationObserver(function () { + fn(); + scheduled = false; + }); + + observer.observe(elem, { attributes: true }); + + return function () { + if (!scheduled) { + scheduled = true; + elem.setAttribute('x-index', i); + i = i + 1; // don't use compund (+=) because it doesn't get optimized in V8 + } + }; +} + +function taskDebounce(fn) { + var scheduled = false; + return function () { + if (!scheduled) { + scheduled = true; + setTimeout(function () { + scheduled = false; + fn(); + }, timeoutDuration); + } + }; +} + +// It's common for MutationObserver polyfills to be seen in the wild, however +// these rely on Mutation Events which only occur when an element is connected +// to the DOM. The algorithm used in this module does not use a connected element, +// and so we must ensure that a *native* MutationObserver is available. +var supportsNativeMutationObserver = isBrowser && isNative(window.MutationObserver); + +/** +* Create a debounced version of a method, that's asynchronously deferred +* but called in the minimum time possible. +* +* @method +* @memberof Popper.Utils +* @argument {Function} fn +* @returns {Function} +*/ +var debounce = supportsNativeMutationObserver ? microtaskDebounce : taskDebounce; + +/** + * Check if the given variable is a function + * @method + * @memberof Popper.Utils + * @argument {Any} functionToCheck - variable to check + * @returns {Boolean} answer to: is a function? + */ +function isFunction(functionToCheck) { + var getType = {}; + return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]'; +} + +/** + * Get CSS computed property of the given element + * @method + * @memberof Popper.Utils + * @argument {Eement} element + * @argument {String} property + */ +function getStyleComputedProperty(element, property) { + if (element.nodeType !== 1) { + return []; + } + // NOTE: 1 DOM access here + var css = window.getComputedStyle(element, null); + return property ? css[property] : css; +} + +/** + * Returns the parentNode or the host of the element + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Element} parent + */ +function getParentNode(element) { + if (element.nodeName === 'HTML') { + return element; + } + return element.parentNode || element.host; +} + +/** + * Returns the scrolling parent of the given element + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Element} scroll parent + */ +function getScrollParent(element) { + // Return body, `getScroll` will take care to get the correct `scrollTop` from it + if (!element || ['HTML', 'BODY', '#document'].indexOf(element.nodeName) !== -1) { + return window.document.body; + } + + // Firefox want us to check `-x` and `-y` variations as well + + var _getStyleComputedProp = getStyleComputedProperty(element), + overflow = _getStyleComputedProp.overflow, + overflowX = _getStyleComputedProp.overflowX, + overflowY = _getStyleComputedProp.overflowY; + + if (/(auto|scroll)/.test(overflow + overflowY + overflowX)) { + return element; + } + + return getScrollParent(getParentNode(element)); +} + +/** + * Returns the offset parent of the given element + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Element} offset parent + */ +function getOffsetParent(element) { + // NOTE: 1 DOM access here + var offsetParent = element && element.offsetParent; + var nodeName = offsetParent && offsetParent.nodeName; + + if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') { + return window.document.documentElement; + } + + // .offsetParent will return the closest TD or TABLE in case + // no offsetParent is present, I hate this job... + if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') { + return getOffsetParent(offsetParent); + } + + return offsetParent; +} + +function isOffsetContainer(element) { + var nodeName = element.nodeName; + + if (nodeName === 'BODY') { + return false; + } + return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element; +} + +/** + * Finds the root node (document, shadowDOM root) of the given element + * @method + * @memberof Popper.Utils + * @argument {Element} node + * @returns {Element} root node + */ +function getRoot(node) { + if (node.parentNode !== null) { + return getRoot(node.parentNode); + } + + return node; +} + +/** + * Finds the offset parent common to the two provided nodes + * @method + * @memberof Popper.Utils + * @argument {Element} element1 + * @argument {Element} element2 + * @returns {Element} common offset parent + */ +function findCommonOffsetParent(element1, element2) { + // This check is needed to avoid errors in case one of the elements isn't defined for any reason + if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) { + return window.document.documentElement; + } + + // Here we make sure to give as "start" the element that comes first in the DOM + var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING; + var start = order ? element1 : element2; + var end = order ? element2 : element1; + + // Get common ancestor container + var range = document.createRange(); + range.setStart(start, 0); + range.setEnd(end, 0); + var commonAncestorContainer = range.commonAncestorContainer; + + // Both nodes are inside #document + + if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) { + if (isOffsetContainer(commonAncestorContainer)) { + return commonAncestorContainer; + } + + return getOffsetParent(commonAncestorContainer); + } + + // one of the nodes is inside shadowDOM, find which one + var element1root = getRoot(element1); + if (element1root.host) { + return findCommonOffsetParent(element1root.host, element2); + } else { + return findCommonOffsetParent(element1, getRoot(element2).host); + } +} + +/** + * Gets the scroll value of the given element in the given side (top and left) + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @argument {String} side `top` or `left` + * @returns {number} amount of scrolled pixels + */ +function getScroll(element) { + var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top'; + + var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft'; + var nodeName = element.nodeName; + + if (nodeName === 'BODY' || nodeName === 'HTML') { + var html = window.document.documentElement; + var scrollingElement = window.document.scrollingElement || html; + return scrollingElement[upperSide]; + } + + return element[upperSide]; +} + +/* + * Sum or subtract the element scroll values (left and top) from a given rect object + * @method + * @memberof Popper.Utils + * @param {Object} rect - Rect object you want to change + * @param {HTMLElement} element - The element from the function reads the scroll values + * @param {Boolean} subtract - set to true if you want to subtract the scroll values + * @return {Object} rect - The modifier rect object + */ +function includeScroll(rect, element) { + var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + var scrollTop = getScroll(element, 'top'); + var scrollLeft = getScroll(element, 'left'); + var modifier = subtract ? -1 : 1; + rect.top += scrollTop * modifier; + rect.bottom += scrollTop * modifier; + rect.left += scrollLeft * modifier; + rect.right += scrollLeft * modifier; + return rect; +} + +/* + * Helper to detect borders of a given element + * @method + * @memberof Popper.Utils + * @param {CSSStyleDeclaration} styles + * Result of `getStyleComputedProperty` on the given element + * @param {String} axis - `x` or `y` + * @return {number} borders - The borders size of the given axis + */ + +function getBordersSize(styles, axis) { + var sideA = axis === 'x' ? 'Left' : 'Top'; + var sideB = sideA === 'Left' ? 'Right' : 'Bottom'; + + return +styles['border' + sideA + 'Width'].split('px')[0] + +styles['border' + sideB + 'Width'].split('px')[0]; +} + +/** + * Tells if you are running Internet Explorer 10 + * @method + * @memberof Popper.Utils + * @returns {Boolean} isIE10 + */ +var isIE10 = undefined; + +var isIE10$1 = function () { + if (isIE10 === undefined) { + isIE10 = navigator.appVersion.indexOf('MSIE 10') !== -1; + } + return isIE10; +}; + +function getSize(axis, body, html, computedStyle) { + return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE10$1() ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0); +} + +function getWindowSizes() { + var body = window.document.body; + var html = window.document.documentElement; + var computedStyle = isIE10$1() && window.getComputedStyle(html); + + return { + height: getSize('Height', body, html, computedStyle), + width: getSize('Width', body, html, computedStyle) + }; +} + +var classCallCheck = function (instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +}; + +var createClass$1 = function () { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + return function (Constructor, protoProps, staticProps) { + if (protoProps) defineProperties(Constructor.prototype, protoProps); + if (staticProps) defineProperties(Constructor, staticProps); + return Constructor; + }; +}(); + + + + + +var defineProperty = function (obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +}; + +var _extends$1 = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; +}; + +/** + * Given element offsets, generate an output similar to getBoundingClientRect + * @method + * @memberof Popper.Utils + * @argument {Object} offsets + * @returns {Object} ClientRect like output + */ +function getClientRect(offsets) { + return _extends$1({}, offsets, { + right: offsets.left + offsets.width, + bottom: offsets.top + offsets.height + }); +} + +/** + * Get bounding client rect of given element + * @method + * @memberof Popper.Utils + * @param {HTMLElement} element + * @return {Object} client rect + */ +function getBoundingClientRect(element) { + var rect = {}; + + // IE10 10 FIX: Please, don't ask, the element isn't + // considered in DOM in some circumstances... + // This isn't reproducible in IE10 compatibility mode of IE11 + if (isIE10$1()) { + try { + rect = element.getBoundingClientRect(); + var scrollTop = getScroll(element, 'top'); + var scrollLeft = getScroll(element, 'left'); + rect.top += scrollTop; + rect.left += scrollLeft; + rect.bottom += scrollTop; + rect.right += scrollLeft; + } catch (err) {} + } else { + rect = element.getBoundingClientRect(); + } + + var result = { + left: rect.left, + top: rect.top, + width: rect.right - rect.left, + height: rect.bottom - rect.top + }; + + // subtract scrollbar size from sizes + var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {}; + var width = sizes.width || element.clientWidth || result.right - result.left; + var height = sizes.height || element.clientHeight || result.bottom - result.top; + + var horizScrollbar = element.offsetWidth - width; + var vertScrollbar = element.offsetHeight - height; + + // if an hypothetical scrollbar is detected, we must be sure it's not a `border` + // we make this check conditional for performance reasons + if (horizScrollbar || vertScrollbar) { + var styles = getStyleComputedProperty(element); + horizScrollbar -= getBordersSize(styles, 'x'); + vertScrollbar -= getBordersSize(styles, 'y'); + + result.width -= horizScrollbar; + result.height -= vertScrollbar; + } + + return getClientRect(result); +} + +function getOffsetRectRelativeToArbitraryNode(children, parent) { + var isIE10 = isIE10$1(); + var isHTML = parent.nodeName === 'HTML'; + var childrenRect = getBoundingClientRect(children); + var parentRect = getBoundingClientRect(parent); + var scrollParent = getScrollParent(children); + + var styles = getStyleComputedProperty(parent); + var borderTopWidth = +styles.borderTopWidth.split('px')[0]; + var borderLeftWidth = +styles.borderLeftWidth.split('px')[0]; + + var offsets = getClientRect({ + top: childrenRect.top - parentRect.top - borderTopWidth, + left: childrenRect.left - parentRect.left - borderLeftWidth, + width: childrenRect.width, + height: childrenRect.height + }); + offsets.marginTop = 0; + offsets.marginLeft = 0; + + // Subtract margins of documentElement in case it's being used as parent + // we do this only on HTML because it's the only element that behaves + // differently when margins are applied to it. The margins are included in + // the box of the documentElement, in the other cases not. + if (!isIE10 && isHTML) { + var marginTop = +styles.marginTop.split('px')[0]; + var marginLeft = +styles.marginLeft.split('px')[0]; + + offsets.top -= borderTopWidth - marginTop; + offsets.bottom -= borderTopWidth - marginTop; + offsets.left -= borderLeftWidth - marginLeft; + offsets.right -= borderLeftWidth - marginLeft; + + // Attach marginTop and marginLeft because in some circumstances we may need them + offsets.marginTop = marginTop; + offsets.marginLeft = marginLeft; + } + + if (isIE10 ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') { + offsets = includeScroll(offsets, parent); + } + + return offsets; +} + +function getViewportOffsetRectRelativeToArtbitraryNode(element) { + var html = window.document.documentElement; + var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html); + var width = Math.max(html.clientWidth, window.innerWidth || 0); + var height = Math.max(html.clientHeight, window.innerHeight || 0); + + var scrollTop = getScroll(html); + var scrollLeft = getScroll(html, 'left'); + + var offset = { + top: scrollTop - relativeOffset.top + relativeOffset.marginTop, + left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft, + width: width, + height: height + }; + + return getClientRect(offset); +} + +/** + * Check if the given element is fixed or is inside a fixed parent + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @argument {Element} customContainer + * @returns {Boolean} answer to "isFixed?" + */ +function isFixed(element) { + var nodeName = element.nodeName; + if (nodeName === 'BODY' || nodeName === 'HTML') { + return false; + } + if (getStyleComputedProperty(element, 'position') === 'fixed') { + return true; + } + return isFixed(getParentNode(element)); +} + +/** + * Computed the boundaries limits and return them + * @method + * @memberof Popper.Utils + * @param {HTMLElement} popper + * @param {HTMLElement} reference + * @param {number} padding + * @param {HTMLElement} boundariesElement - Element used to define the boundaries + * @returns {Object} Coordinates of the boundaries + */ +function getBoundaries(popper, reference, padding, boundariesElement) { + // NOTE: 1 DOM access here + var boundaries = { top: 0, left: 0 }; + var offsetParent = findCommonOffsetParent(popper, reference); + + // Handle viewport case + if (boundariesElement === 'viewport') { + boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent); + } else { + // Handle other cases based on DOM element used as boundaries + var boundariesNode = void 0; + if (boundariesElement === 'scrollParent') { + boundariesNode = getScrollParent(getParentNode(popper)); + if (boundariesNode.nodeName === 'BODY') { + boundariesNode = window.document.documentElement; + } + } else if (boundariesElement === 'window') { + boundariesNode = window.document.documentElement; + } else { + boundariesNode = boundariesElement; + } + + var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent); + + // In case of HTML, we need a different computation + if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) { + var _getWindowSizes = getWindowSizes(), + height = _getWindowSizes.height, + width = _getWindowSizes.width; + + boundaries.top += offsets.top - offsets.marginTop; + boundaries.bottom = height + offsets.top; + boundaries.left += offsets.left - offsets.marginLeft; + boundaries.right = width + offsets.left; + } else { + // for all the other DOM elements, this one is good + boundaries = offsets; + } + } + + // Add paddings + boundaries.left += padding; + boundaries.top += padding; + boundaries.right -= padding; + boundaries.bottom -= padding; + + return boundaries; +} + +function getArea(_ref) { + var width = _ref.width, + height = _ref.height; + + return width * height; +} + +/** + * Utility used to transform the `auto` placement to the placement with more + * available space. + * @method + * @memberof Popper.Utils + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) { + var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0; + + if (placement.indexOf('auto') === -1) { + return placement; + } + + var boundaries = getBoundaries(popper, reference, padding, boundariesElement); + + var rects = { + top: { + width: boundaries.width, + height: refRect.top - boundaries.top + }, + right: { + width: boundaries.right - refRect.right, + height: boundaries.height + }, + bottom: { + width: boundaries.width, + height: boundaries.bottom - refRect.bottom + }, + left: { + width: refRect.left - boundaries.left, + height: boundaries.height + } + }; + + var sortedAreas = Object.keys(rects).map(function (key) { + return _extends$1({ + key: key + }, rects[key], { + area: getArea(rects[key]) + }); + }).sort(function (a, b) { + return b.area - a.area; + }); + + var filteredAreas = sortedAreas.filter(function (_ref2) { + var width = _ref2.width, + height = _ref2.height; + return width >= popper.clientWidth && height >= popper.clientHeight; + }); + + var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key; + + var variation = placement.split('-')[1]; + + return computedPlacement + (variation ? '-' + variation : ''); +} + +/** + * Get offsets to the reference element + * @method + * @memberof Popper.Utils + * @param {Object} state + * @param {Element} popper - the popper element + * @param {Element} reference - the reference element (the popper will be relative to this) + * @returns {Object} An object containing the offsets which will be applied to the popper + */ +function getReferenceOffsets(state, popper, reference) { + var commonOffsetParent = findCommonOffsetParent(popper, reference); + return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent); +} + +/** + * Get the outer sizes of the given element (offset size + margins) + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Object} object containing width and height properties + */ +function getOuterSizes(element) { + var styles = window.getComputedStyle(element); + var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom); + var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight); + var result = { + width: element.offsetWidth + y, + height: element.offsetHeight + x + }; + return result; +} + +/** + * Get the opposite placement of the given one + * @method + * @memberof Popper.Utils + * @argument {String} placement + * @returns {String} flipped placement + */ +function getOppositePlacement(placement) { + var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' }; + return placement.replace(/left|right|bottom|top/g, function (matched) { + return hash[matched]; + }); +} + +/** + * Get offsets to the popper + * @method + * @memberof Popper.Utils + * @param {Object} position - CSS position the Popper will get applied + * @param {HTMLElement} popper - the popper element + * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this) + * @param {String} placement - one of the valid placement options + * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper + */ +function getPopperOffsets(popper, referenceOffsets, placement) { + placement = placement.split('-')[0]; + + // Get popper node sizes + var popperRect = getOuterSizes(popper); + + // Add position, width and height to our offsets object + var popperOffsets = { + width: popperRect.width, + height: popperRect.height + }; + + // depending by the popper placement we have to compute its offsets slightly differently + var isHoriz = ['right', 'left'].indexOf(placement) !== -1; + var mainSide = isHoriz ? 'top' : 'left'; + var secondarySide = isHoriz ? 'left' : 'top'; + var measurement = isHoriz ? 'height' : 'width'; + var secondaryMeasurement = !isHoriz ? 'height' : 'width'; + + popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2; + if (placement === secondarySide) { + popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement]; + } else { + popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)]; + } + + return popperOffsets; +} + +/** + * Mimics the `find` method of Array + * @method + * @memberof Popper.Utils + * @argument {Array} arr + * @argument prop + * @argument value + * @returns index or -1 + */ +function find(arr, check) { + // use native find if supported + if (Array.prototype.find) { + return arr.find(check); + } + + // use `filter` to obtain the same behavior of `find` + return arr.filter(check)[0]; +} + +/** + * Return the index of the matching object + * @method + * @memberof Popper.Utils + * @argument {Array} arr + * @argument prop + * @argument value + * @returns index or -1 + */ +function findIndex(arr, prop, value) { + // use native findIndex if supported + if (Array.prototype.findIndex) { + return arr.findIndex(function (cur) { + return cur[prop] === value; + }); + } + + // use `find` + `indexOf` if `findIndex` isn't supported + var match = find(arr, function (obj) { + return obj[prop] === value; + }); + return arr.indexOf(match); +} + +/** + * Loop trough the list of modifiers and run them in order, + * each of them will then edit the data object. + * @method + * @memberof Popper.Utils + * @param {dataObject} data + * @param {Array} modifiers + * @param {String} ends - Optional modifier name used as stopper + * @returns {dataObject} + */ +function runModifiers(modifiers, data, ends) { + var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends)); + + modifiersToRun.forEach(function (modifier) { + if (modifier.function) { + console.warn('`modifier.function` is deprecated, use `modifier.fn`!'); + } + var fn = modifier.function || modifier.fn; + if (modifier.enabled && isFunction(fn)) { + // Add properties to offsets to make them a complete clientRect object + // we do this before each modifier to make sure the previous one doesn't + // mess with these values + data.offsets.popper = getClientRect(data.offsets.popper); + data.offsets.reference = getClientRect(data.offsets.reference); + + data = fn(data, modifier); + } + }); + + return data; +} + +/** + * Updates the position of the popper, computing the new offsets and applying + * the new style.<br /> + * Prefer `scheduleUpdate` over `update` because of performance reasons. + * @method + * @memberof Popper + */ +function update() { + // if popper is destroyed, don't perform any further update + if (this.state.isDestroyed) { + return; + } + + var data = { + instance: this, + styles: {}, + arrowStyles: {}, + attributes: {}, + flipped: false, + offsets: {} + }; + + // compute reference element offsets + data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference); + + // compute auto placement, store placement inside the data object, + // modifiers will be able to edit `placement` if needed + // and refer to originalPlacement to know the original value + data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding); + + // store the computed placement inside `originalPlacement` + data.originalPlacement = data.placement; + + // compute the popper offsets + data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement); + data.offsets.popper.position = 'absolute'; + + // run the modifiers + data = runModifiers(this.modifiers, data); + + // the first `update` will call `onCreate` callback + // the other ones will call `onUpdate` callback + if (!this.state.isCreated) { + this.state.isCreated = true; + this.options.onCreate(data); + } else { + this.options.onUpdate(data); + } +} + +/** + * Helper used to know if the given modifier is enabled. + * @method + * @memberof Popper.Utils + * @returns {Boolean} + */ +function isModifierEnabled(modifiers, modifierName) { + return modifiers.some(function (_ref) { + var name = _ref.name, + enabled = _ref.enabled; + return enabled && name === modifierName; + }); +} + +/** + * Get the prefixed supported property name + * @method + * @memberof Popper.Utils + * @argument {String} property (camelCase) + * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix) + */ +function getSupportedPropertyName(property) { + var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O']; + var upperProp = property.charAt(0).toUpperCase() + property.slice(1); + + for (var i = 0; i < prefixes.length - 1; i++) { + var prefix = prefixes[i]; + var toCheck = prefix ? '' + prefix + upperProp : property; + if (typeof window.document.body.style[toCheck] !== 'undefined') { + return toCheck; + } + } + return null; +} + +/** + * Destroy the popper + * @method + * @memberof Popper + */ +function destroy() { + this.state.isDestroyed = true; + + // touch DOM only if `applyStyle` modifier is enabled + if (isModifierEnabled(this.modifiers, 'applyStyle')) { + this.popper.removeAttribute('x-placement'); + this.popper.style.left = ''; + this.popper.style.position = ''; + this.popper.style.top = ''; + this.popper.style[getSupportedPropertyName('transform')] = ''; + } + + this.disableEventListeners(); + + // remove the popper if user explicity asked for the deletion on destroy + // do not use `remove` because IE11 doesn't support it + if (this.options.removeOnDestroy) { + this.popper.parentNode.removeChild(this.popper); + } + return this; +} + +function attachToScrollParents(scrollParent, event, callback, scrollParents) { + var isBody = scrollParent.nodeName === 'BODY'; + var target = isBody ? window : scrollParent; + target.addEventListener(event, callback, { passive: true }); + + if (!isBody) { + attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents); + } + scrollParents.push(target); +} + +/** + * Setup needed event listeners used to update the popper position + * @method + * @memberof Popper.Utils + * @private + */ +function setupEventListeners(reference, options, state, updateBound) { + // Resize event listener on window + state.updateBound = updateBound; + window.addEventListener('resize', state.updateBound, { passive: true }); + + // Scroll event listener on scroll parents + var scrollElement = getScrollParent(reference); + attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents); + state.scrollElement = scrollElement; + state.eventsEnabled = true; + + return state; +} + +/** + * It will add resize/scroll events and start recalculating + * position of the popper element when they are triggered. + * @method + * @memberof Popper + */ +function enableEventListeners() { + if (!this.state.eventsEnabled) { + this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate); + } +} + +/** + * Remove event listeners used to update the popper position + * @method + * @memberof Popper.Utils + * @private + */ +function removeEventListeners(reference, state) { + // Remove resize event listener on window + window.removeEventListener('resize', state.updateBound); + + // Remove scroll event listener on scroll parents + state.scrollParents.forEach(function (target) { + target.removeEventListener('scroll', state.updateBound); + }); + + // Reset state + state.updateBound = null; + state.scrollParents = []; + state.scrollElement = null; + state.eventsEnabled = false; + return state; +} + +/** + * It will remove resize/scroll events and won't recalculate popper position + * when they are triggered. It also won't trigger onUpdate callback anymore, + * unless you call `update` method manually. + * @method + * @memberof Popper + */ +function disableEventListeners() { + if (this.state.eventsEnabled) { + window.cancelAnimationFrame(this.scheduleUpdate); + this.state = removeEventListeners(this.reference, this.state); + } +} + +/** + * Tells if a given input is a number + * @method + * @memberof Popper.Utils + * @param {*} input to check + * @return {Boolean} + */ +function isNumeric(n) { + return n !== '' && !isNaN(parseFloat(n)) && isFinite(n); +} + +/** + * Set the style to the given popper + * @method + * @memberof Popper.Utils + * @argument {Element} element - Element to apply the style to + * @argument {Object} styles + * Object with a list of properties and values which will be applied to the element + */ +function setStyles(element, styles) { + Object.keys(styles).forEach(function (prop) { + var unit = ''; + // add unit if the value is numeric and is one of the following + if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) { + unit = 'px'; + } + element.style[prop] = styles[prop] + unit; + }); +} + +/** + * Set the attributes to the given popper + * @method + * @memberof Popper.Utils + * @argument {Element} element - Element to apply the attributes to + * @argument {Object} styles + * Object with a list of properties and values which will be applied to the element + */ +function setAttributes(element, attributes) { + Object.keys(attributes).forEach(function (prop) { + var value = attributes[prop]; + if (value !== false) { + element.setAttribute(prop, attributes[prop]); + } else { + element.removeAttribute(prop); + } + }); +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} data.styles - List of style properties - values to apply to popper element + * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The same data object + */ +function applyStyle(data) { + // any property present in `data.styles` will be applied to the popper, + // in this way we can make the 3rd party modifiers add custom styles to it + // Be aware, modifiers could override the properties defined in the previous + // lines of this modifier! + setStyles(data.instance.popper, data.styles); + + // any property present in `data.attributes` will be applied to the popper, + // they will be set as HTML attributes of the element + setAttributes(data.instance.popper, data.attributes); + + // if arrowElement is defined and arrowStyles has some properties + if (data.arrowElement && Object.keys(data.arrowStyles).length) { + setStyles(data.arrowElement, data.arrowStyles); + } + + return data; +} + +/** + * Set the x-placement attribute before everything else because it could be used + * to add margins to the popper margins needs to be calculated to get the + * correct popper offsets. + * @method + * @memberof Popper.modifiers + * @param {HTMLElement} reference - The reference element used to position the popper + * @param {HTMLElement} popper - The HTML element used as popper. + * @param {Object} options - Popper.js options + */ +function applyStyleOnLoad(reference, popper, options, modifierOptions, state) { + // compute reference element offsets + var referenceOffsets = getReferenceOffsets(state, popper, reference); + + // compute auto placement, store placement inside the data object, + // modifiers will be able to edit `placement` if needed + // and refer to originalPlacement to know the original value + var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding); + + popper.setAttribute('x-placement', placement); + + // Apply `position` to popper before anything else because + // without the position applied we can't guarantee correct computations + setStyles(popper, { position: 'absolute' }); + + return options; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function computeStyle(data, options) { + var x = options.x, + y = options.y; + var popper = data.offsets.popper; + + // Remove this legacy support in Popper.js v2 + + var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) { + return modifier.name === 'applyStyle'; + }).gpuAcceleration; + if (legacyGpuAccelerationOption !== undefined) { + console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'); + } + var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration; + + var offsetParent = getOffsetParent(data.instance.popper); + var offsetParentRect = getBoundingClientRect(offsetParent); + + // Styles + var styles = { + position: popper.position + }; + + // floor sides to avoid blurry text + var offsets = { + left: Math.floor(popper.left), + top: Math.floor(popper.top), + bottom: Math.floor(popper.bottom), + right: Math.floor(popper.right) + }; + + var sideA = x === 'bottom' ? 'top' : 'bottom'; + var sideB = y === 'right' ? 'left' : 'right'; + + // if gpuAcceleration is set to `true` and transform is supported, + // we use `translate3d` to apply the position to the popper we + // automatically use the supported prefixed version if needed + var prefixedProperty = getSupportedPropertyName('transform'); + + // now, let's make a step back and look at this code closely (wtf?) + // If the content of the popper grows once it's been positioned, it + // may happen that the popper gets misplaced because of the new content + // overflowing its reference element + // To avoid this problem, we provide two options (x and y), which allow + // the consumer to define the offset origin. + // If we position a popper on top of a reference element, we can set + // `x` to `top` to make the popper grow towards its top instead of + // its bottom. + var left = void 0, + top = void 0; + if (sideA === 'bottom') { + top = -offsetParentRect.height + offsets.bottom; + } else { + top = offsets.top; + } + if (sideB === 'right') { + left = -offsetParentRect.width + offsets.right; + } else { + left = offsets.left; + } + if (gpuAcceleration && prefixedProperty) { + styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)'; + styles[sideA] = 0; + styles[sideB] = 0; + styles.willChange = 'transform'; + } else { + // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties + var invertTop = sideA === 'bottom' ? -1 : 1; + var invertLeft = sideB === 'right' ? -1 : 1; + styles[sideA] = top * invertTop; + styles[sideB] = left * invertLeft; + styles.willChange = sideA + ', ' + sideB; + } + + // Attributes + var attributes = { + 'x-placement': data.placement + }; + + // Update `data` attributes, styles and arrowStyles + data.attributes = _extends$1({}, attributes, data.attributes); + data.styles = _extends$1({}, styles, data.styles); + data.arrowStyles = _extends$1({}, data.offsets.arrow, data.arrowStyles); + + return data; +} + +/** + * Helper used to know if the given modifier depends from another one.<br /> + * It checks if the needed modifier is listed and enabled. + * @method + * @memberof Popper.Utils + * @param {Array} modifiers - list of modifiers + * @param {String} requestingName - name of requesting modifier + * @param {String} requestedName - name of requested modifier + * @returns {Boolean} + */ +function isModifierRequired(modifiers, requestingName, requestedName) { + var requesting = find(modifiers, function (_ref) { + var name = _ref.name; + return name === requestingName; + }); + + var isRequired = !!requesting && modifiers.some(function (modifier) { + return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order; + }); + + if (!isRequired) { + var _requesting = '`' + requestingName + '`'; + var requested = '`' + requestedName + '`'; + console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!'); + } + return isRequired; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function arrow(data, options) { + // arrow depends on keepTogether in order to work + if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) { + return data; + } + + var arrowElement = options.element; + + // if arrowElement is a string, suppose it's a CSS selector + if (typeof arrowElement === 'string') { + arrowElement = data.instance.popper.querySelector(arrowElement); + + // if arrowElement is not found, don't run the modifier + if (!arrowElement) { + return data; + } + } else { + // if the arrowElement isn't a query selector we must check that the + // provided DOM node is child of its popper node + if (!data.instance.popper.contains(arrowElement)) { + console.warn('WARNING: `arrow.element` must be child of its popper element!'); + return data; + } + } + + var placement = data.placement.split('-')[0]; + var _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + + var isVertical = ['left', 'right'].indexOf(placement) !== -1; + + var len = isVertical ? 'height' : 'width'; + var sideCapitalized = isVertical ? 'Top' : 'Left'; + var side = sideCapitalized.toLowerCase(); + var altSide = isVertical ? 'left' : 'top'; + var opSide = isVertical ? 'bottom' : 'right'; + var arrowElementSize = getOuterSizes(arrowElement)[len]; + + // + // extends keepTogether behavior making sure the popper and its + // reference have enough pixels in conjuction + // + + // top/left side + if (reference[opSide] - arrowElementSize < popper[side]) { + data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize); + } + // bottom/right side + if (reference[side] + arrowElementSize > popper[opSide]) { + data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide]; + } + + // compute center of the popper + var center = reference[side] + reference[len] / 2 - arrowElementSize / 2; + + // Compute the sideValue using the updated popper offsets + // take popper margin in account because we don't have this info available + var popperMarginSide = getStyleComputedProperty(data.instance.popper, 'margin' + sideCapitalized).replace('px', ''); + var sideValue = center - getClientRect(data.offsets.popper)[side] - popperMarginSide; + + // prevent arrowElement from being placed not contiguously to its popper + sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0); + + data.arrowElement = arrowElement; + data.offsets.arrow = {}; + data.offsets.arrow[side] = Math.round(sideValue); + data.offsets.arrow[altSide] = ''; // make sure to unset any eventual altSide value from the DOM node + + return data; +} + +/** + * Get the opposite placement variation of the given one + * @method + * @memberof Popper.Utils + * @argument {String} placement variation + * @returns {String} flipped placement variation + */ +function getOppositeVariation(variation) { + if (variation === 'end') { + return 'start'; + } else if (variation === 'start') { + return 'end'; + } + return variation; +} + +/** + * List of accepted placements to use as values of the `placement` option.<br /> + * Valid placements are: + * - `auto` + * - `top` + * - `right` + * - `bottom` + * - `left` + * + * Each placement can have a variation from this list: + * - `-start` + * - `-end` + * + * Variations are interpreted easily if you think of them as the left to right + * written languages. Horizontally (`top` and `bottom`), `start` is left and `end` + * is right.<br /> + * Vertically (`left` and `right`), `start` is top and `end` is bottom. + * + * Some valid examples are: + * - `top-end` (on top of reference, right aligned) + * - `right-start` (on right of reference, top aligned) + * - `bottom` (on bottom, centered) + * - `auto-right` (on the side with more space available, alignment depends by placement) + * + * @static + * @type {Array} + * @enum {String} + * @readonly + * @method placements + * @memberof Popper + */ +var placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start']; + +// Get rid of `auto` `auto-start` and `auto-end` +var validPlacements = placements.slice(3); + +/** + * Given an initial placement, returns all the subsequent placements + * clockwise (or counter-clockwise). + * + * @method + * @memberof Popper.Utils + * @argument {String} placement - A valid placement (it accepts variations) + * @argument {Boolean} counter - Set to true to walk the placements counterclockwise + * @returns {Array} placements including their variations + */ +function clockwise(placement) { + var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + var index = validPlacements.indexOf(placement); + var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index)); + return counter ? arr.reverse() : arr; +} + +var BEHAVIORS = { + FLIP: 'flip', + CLOCKWISE: 'clockwise', + COUNTERCLOCKWISE: 'counterclockwise' +}; + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function flip(data, options) { + // if `inner` modifier is enabled, we can't use the `flip` modifier + if (isModifierEnabled(data.instance.modifiers, 'inner')) { + return data; + } + + if (data.flipped && data.placement === data.originalPlacement) { + // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides + return data; + } + + var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement); + + var placement = data.placement.split('-')[0]; + var placementOpposite = getOppositePlacement(placement); + var variation = data.placement.split('-')[1] || ''; + + var flipOrder = []; + + switch (options.behavior) { + case BEHAVIORS.FLIP: + flipOrder = [placement, placementOpposite]; + break; + case BEHAVIORS.CLOCKWISE: + flipOrder = clockwise(placement); + break; + case BEHAVIORS.COUNTERCLOCKWISE: + flipOrder = clockwise(placement, true); + break; + default: + flipOrder = options.behavior; + } + + flipOrder.forEach(function (step, index) { + if (placement !== step || flipOrder.length === index + 1) { + return data; + } + + placement = data.placement.split('-')[0]; + placementOpposite = getOppositePlacement(placement); + + var popperOffsets = data.offsets.popper; + var refOffsets = data.offsets.reference; + + // using floor because the reference offsets may contain decimals we are not going to consider here + var floor = Math.floor; + var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom); + + var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left); + var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right); + var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top); + var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom); + + var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom; + + // flip the variation if required + var isVertical = ['top', 'bottom'].indexOf(placement) !== -1; + var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom); + + if (overlapsRef || overflowsBoundaries || flippedVariation) { + // this boolean to detect any flip loop + data.flipped = true; + + if (overlapsRef || overflowsBoundaries) { + placement = flipOrder[index + 1]; + } + + if (flippedVariation) { + variation = getOppositeVariation(variation); + } + + data.placement = placement + (variation ? '-' + variation : ''); + + // this object contains `position`, we want to preserve it along with + // any additional property we may add in the future + data.offsets.popper = _extends$1({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement)); + + data = runModifiers(data.instance.modifiers, data, 'flip'); + } + }); + return data; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function keepTogether(data) { + var _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + + var placement = data.placement.split('-')[0]; + var floor = Math.floor; + var isVertical = ['top', 'bottom'].indexOf(placement) !== -1; + var side = isVertical ? 'right' : 'bottom'; + var opSide = isVertical ? 'left' : 'top'; + var measurement = isVertical ? 'width' : 'height'; + + if (popper[side] < floor(reference[opSide])) { + data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement]; + } + if (popper[opSide] > floor(reference[side])) { + data.offsets.popper[opSide] = floor(reference[side]); + } + + return data; +} + +/** + * Converts a string containing value + unit into a px value number + * @function + * @memberof {modifiers~offset} + * @private + * @argument {String} str - Value + unit string + * @argument {String} measurement - `height` or `width` + * @argument {Object} popperOffsets + * @argument {Object} referenceOffsets + * @returns {Number|String} + * Value in pixels, or original string if no values were extracted + */ +function toValue(str, measurement, popperOffsets, referenceOffsets) { + // separate value from unit + var split = str.match(/((?:\-|\+)?\d*\.?\d*)(.*)/); + var value = +split[1]; + var unit = split[2]; + + // If it's not a number it's an operator, I guess + if (!value) { + return str; + } + + if (unit.indexOf('%') === 0) { + var element = void 0; + switch (unit) { + case '%p': + element = popperOffsets; + break; + case '%': + case '%r': + default: + element = referenceOffsets; + } + + var rect = getClientRect(element); + return rect[measurement] / 100 * value; + } else if (unit === 'vh' || unit === 'vw') { + // if is a vh or vw, we calculate the size based on the viewport + var size = void 0; + if (unit === 'vh') { + size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0); + } else { + size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0); + } + return size / 100 * value; + } else { + // if is an explicit pixel unit, we get rid of the unit and keep the value + // if is an implicit unit, it's px, and we return just the value + return value; + } +} + +/** + * Parse an `offset` string to extrapolate `x` and `y` numeric offsets. + * @function + * @memberof {modifiers~offset} + * @private + * @argument {String} offset + * @argument {Object} popperOffsets + * @argument {Object} referenceOffsets + * @argument {String} basePlacement + * @returns {Array} a two cells array with x and y offsets in numbers + */ +function parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) { + var offsets = [0, 0]; + + // Use height if placement is left or right and index is 0 otherwise use width + // in this way the first offset will use an axis and the second one + // will use the other one + var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1; + + // Split the offset string to obtain a list of values and operands + // The regex addresses values with the plus or minus sign in front (+10, -20, etc) + var fragments = offset.split(/(\+|\-)/).map(function (frag) { + return frag.trim(); + }); + + // Detect if the offset string contains a pair of values or a single one + // they could be separated by comma or space + var divider = fragments.indexOf(find(fragments, function (frag) { + return frag.search(/,|\s/) !== -1; + })); + + if (fragments[divider] && fragments[divider].indexOf(',') === -1) { + console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.'); + } + + // If divider is found, we divide the list of values and operands to divide + // them by ofset X and Y. + var splitRegex = /\s*,\s*|\s+/; + var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments]; + + // Convert the values with units to absolute pixels to allow our computations + ops = ops.map(function (op, index) { + // Most of the units rely on the orientation of the popper + var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width'; + var mergeWithPrevious = false; + return op + // This aggregates any `+` or `-` sign that aren't considered operators + // e.g.: 10 + +5 => [10, +, +5] + .reduce(function (a, b) { + if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) { + a[a.length - 1] = b; + mergeWithPrevious = true; + return a; + } else if (mergeWithPrevious) { + a[a.length - 1] += b; + mergeWithPrevious = false; + return a; + } else { + return a.concat(b); + } + }, []) + // Here we convert the string values into number values (in px) + .map(function (str) { + return toValue(str, measurement, popperOffsets, referenceOffsets); + }); + }); + + // Loop trough the offsets arrays and execute the operations + ops.forEach(function (op, index) { + op.forEach(function (frag, index2) { + if (isNumeric(frag)) { + offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1); + } + }); + }); + return offsets; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @argument {Number|String} options.offset=0 + * The offset value as described in the modifier description + * @returns {Object} The data object, properly modified + */ +function offset(data, _ref) { + var offset = _ref.offset; + var placement = data.placement, + _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + + var basePlacement = placement.split('-')[0]; + + var offsets = void 0; + if (isNumeric(+offset)) { + offsets = [+offset, 0]; + } else { + offsets = parseOffset(offset, popper, reference, basePlacement); + } + + if (basePlacement === 'left') { + popper.top += offsets[0]; + popper.left -= offsets[1]; + } else if (basePlacement === 'right') { + popper.top += offsets[0]; + popper.left += offsets[1]; + } else if (basePlacement === 'top') { + popper.left += offsets[0]; + popper.top -= offsets[1]; + } else if (basePlacement === 'bottom') { + popper.left += offsets[0]; + popper.top += offsets[1]; + } + + data.popper = popper; + return data; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function preventOverflow(data, options) { + var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper); + + // If offsetParent is the reference element, we really want to + // go one step up and use the next offsetParent as reference to + // avoid to make this modifier completely useless and look like broken + if (data.instance.reference === boundariesElement) { + boundariesElement = getOffsetParent(boundariesElement); + } + + var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement); + options.boundaries = boundaries; + + var order = options.priority; + var popper = data.offsets.popper; + + var check = { + primary: function primary(placement) { + var value = popper[placement]; + if (popper[placement] < boundaries[placement] && !options.escapeWithReference) { + value = Math.max(popper[placement], boundaries[placement]); + } + return defineProperty({}, placement, value); + }, + secondary: function secondary(placement) { + var mainSide = placement === 'right' ? 'left' : 'top'; + var value = popper[mainSide]; + if (popper[placement] > boundaries[placement] && !options.escapeWithReference) { + value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height)); + } + return defineProperty({}, mainSide, value); + } + }; + + order.forEach(function (placement) { + var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary'; + popper = _extends$1({}, popper, check[side](placement)); + }); + + data.offsets.popper = popper; + + return data; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function shift(data) { + var placement = data.placement; + var basePlacement = placement.split('-')[0]; + var shiftvariation = placement.split('-')[1]; + + // if shift shiftvariation is specified, run the modifier + if (shiftvariation) { + var _data$offsets = data.offsets, + reference = _data$offsets.reference, + popper = _data$offsets.popper; + + var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1; + var side = isVertical ? 'left' : 'top'; + var measurement = isVertical ? 'width' : 'height'; + + var shiftOffsets = { + start: defineProperty({}, side, reference[side]), + end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement]) + }; + + data.offsets.popper = _extends$1({}, popper, shiftOffsets[shiftvariation]); + } + + return data; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function hide(data) { + if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) { + return data; + } + + var refRect = data.offsets.reference; + var bound = find(data.instance.modifiers, function (modifier) { + return modifier.name === 'preventOverflow'; + }).boundaries; + + if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) { + // Avoid unnecessary DOM access if visibility hasn't changed + if (data.hide === true) { + return data; + } + + data.hide = true; + data.attributes['x-out-of-boundaries'] = ''; + } else { + // Avoid unnecessary DOM access if visibility hasn't changed + if (data.hide === false) { + return data; + } + + data.hide = false; + data.attributes['x-out-of-boundaries'] = false; + } + + return data; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function inner(data) { + var placement = data.placement; + var basePlacement = placement.split('-')[0]; + var _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + + var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1; + + var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1; + + popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0); + + data.placement = getOppositePlacement(placement); + data.offsets.popper = getClientRect(popper); + + return data; +} + +/** + * Modifier function, each modifier can have a function of this type assigned + * to its `fn` property.<br /> + * These functions will be called on each update, this means that you must + * make sure they are performant enough to avoid performance bottlenecks. + * + * @function ModifierFn + * @argument {dataObject} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {dataObject} The data object, properly modified + */ + +/** + * Modifiers are plugins used to alter the behavior of your poppers.<br /> + * Popper.js uses a set of 9 modifiers to provide all the basic functionalities + * needed by the library. + * + * Usually you don't want to override the `order`, `fn` and `onLoad` props. + * All the other properties are configurations that could be tweaked. + * @namespace modifiers + */ +var modifiers = { + /** + * Modifier used to shift the popper on the start or end of its reference + * element.<br /> + * It will read the variation of the `placement` property.<br /> + * It can be one either `-end` or `-start`. + * @memberof modifiers + * @inner + */ + shift: { + /** @prop {number} order=100 - Index used to define the order of execution */ + order: 100, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: shift + }, + + /** + * The `offset` modifier can shift your popper on both its axis. + * + * It accepts the following units: + * - `px` or unitless, interpreted as pixels + * - `%` or `%r`, percentage relative to the length of the reference element + * - `%p`, percentage relative to the length of the popper element + * - `vw`, CSS viewport width unit + * - `vh`, CSS viewport height unit + * + * For length is intended the main axis relative to the placement of the popper.<br /> + * This means that if the placement is `top` or `bottom`, the length will be the + * `width`. In case of `left` or `right`, it will be the height. + * + * You can provide a single value (as `Number` or `String`), or a pair of values + * as `String` divided by a comma or one (or more) white spaces.<br /> + * The latter is a deprecated method because it leads to confusion and will be + * removed in v2.<br /> + * Additionally, it accepts additions and subtractions between different units. + * Note that multiplications and divisions aren't supported. + * + * Valid examples are: + * ``` + * 10 + * '10%' + * '10, 10' + * '10%, 10' + * '10 + 10%' + * '10 - 5vh + 3%' + * '-10px + 5vh, 5px - 6%' + * ``` + * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap + * > with their reference element, unfortunately, you will have to disable the `flip` modifier. + * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373) + * + * @memberof modifiers + * @inner + */ + offset: { + /** @prop {number} order=200 - Index used to define the order of execution */ + order: 200, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: offset, + /** @prop {Number|String} offset=0 + * The offset value as described in the modifier description + */ + offset: 0 + }, + + /** + * Modifier used to prevent the popper from being positioned outside the boundary. + * + * An scenario exists where the reference itself is not within the boundaries.<br /> + * We can say it has "escaped the boundaries" — or just "escaped".<br /> + * In this case we need to decide whether the popper should either: + * + * - detach from the reference and remain "trapped" in the boundaries, or + * - if it should ignore the boundary and "escape with its reference" + * + * When `escapeWithReference` is set to`true` and reference is completely + * outside its boundaries, the popper will overflow (or completely leave) + * the boundaries in order to remain attached to the edge of the reference. + * + * @memberof modifiers + * @inner + */ + preventOverflow: { + /** @prop {number} order=300 - Index used to define the order of execution */ + order: 300, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: preventOverflow, + /** + * @prop {Array} [priority=['left','right','top','bottom']] + * Popper will try to prevent overflow following these priorities by default, + * then, it could overflow on the left and on top of the `boundariesElement` + */ + priority: ['left', 'right', 'top', 'bottom'], + /** + * @prop {number} padding=5 + * Amount of pixel used to define a minimum distance between the boundaries + * and the popper this makes sure the popper has always a little padding + * between the edges of its container + */ + padding: 5, + /** + * @prop {String|HTMLElement} boundariesElement='scrollParent' + * Boundaries used by the modifier, can be `scrollParent`, `window`, + * `viewport` or any DOM element. + */ + boundariesElement: 'scrollParent' + }, + + /** + * Modifier used to make sure the reference and its popper stay near eachothers + * without leaving any gap between the two. Expecially useful when the arrow is + * enabled and you want to assure it to point to its reference element. + * It cares only about the first axis, you can still have poppers with margin + * between the popper and its reference element. + * @memberof modifiers + * @inner + */ + keepTogether: { + /** @prop {number} order=400 - Index used to define the order of execution */ + order: 400, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: keepTogether + }, + + /** + * This modifier is used to move the `arrowElement` of the popper to make + * sure it is positioned between the reference element and its popper element. + * It will read the outer size of the `arrowElement` node to detect how many + * pixels of conjuction are needed. + * + * It has no effect if no `arrowElement` is provided. + * @memberof modifiers + * @inner + */ + arrow: { + /** @prop {number} order=500 - Index used to define the order of execution */ + order: 500, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: arrow, + /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */ + element: '[x-arrow]' + }, + + /** + * Modifier used to flip the popper's placement when it starts to overlap its + * reference element. + * + * Requires the `preventOverflow` modifier before it in order to work. + * + * **NOTE:** this modifier will interrupt the current update cycle and will + * restart it if it detects the need to flip the placement. + * @memberof modifiers + * @inner + */ + flip: { + /** @prop {number} order=600 - Index used to define the order of execution */ + order: 600, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: flip, + /** + * @prop {String|Array} behavior='flip' + * The behavior used to change the popper's placement. It can be one of + * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid + * placements (with optional variations). + */ + behavior: 'flip', + /** + * @prop {number} padding=5 + * The popper will flip if it hits the edges of the `boundariesElement` + */ + padding: 5, + /** + * @prop {String|HTMLElement} boundariesElement='viewport' + * The element which will define the boundaries of the popper position, + * the popper will never be placed outside of the defined boundaries + * (except if keepTogether is enabled) + */ + boundariesElement: 'viewport' + }, + + /** + * Modifier used to make the popper flow toward the inner of the reference element. + * By default, when this modifier is disabled, the popper will be placed outside + * the reference element. + * @memberof modifiers + * @inner + */ + inner: { + /** @prop {number} order=700 - Index used to define the order of execution */ + order: 700, + /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */ + enabled: false, + /** @prop {ModifierFn} */ + fn: inner + }, + + /** + * Modifier used to hide the popper when its reference element is outside of the + * popper boundaries. It will set a `x-out-of-boundaries` attribute which can + * be used to hide with a CSS selector the popper when its reference is + * out of boundaries. + * + * Requires the `preventOverflow` modifier before it in order to work. + * @memberof modifiers + * @inner + */ + hide: { + /** @prop {number} order=800 - Index used to define the order of execution */ + order: 800, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: hide + }, + + /** + * Computes the style that will be applied to the popper element to gets + * properly positioned. + * + * Note that this modifier will not touch the DOM, it just prepares the styles + * so that `applyStyle` modifier can apply it. This separation is useful + * in case you need to replace `applyStyle` with a custom implementation. + * + * This modifier has `850` as `order` value to maintain backward compatibility + * with previous versions of Popper.js. Expect the modifiers ordering method + * to change in future major versions of the library. + * + * @memberof modifiers + * @inner + */ + computeStyle: { + /** @prop {number} order=850 - Index used to define the order of execution */ + order: 850, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: computeStyle, + /** + * @prop {Boolean} gpuAcceleration=true + * If true, it uses the CSS 3d transformation to position the popper. + * Otherwise, it will use the `top` and `left` properties. + */ + gpuAcceleration: true, + /** + * @prop {string} [x='bottom'] + * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin. + * Change this if your popper should grow in a direction different from `bottom` + */ + x: 'bottom', + /** + * @prop {string} [x='left'] + * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin. + * Change this if your popper should grow in a direction different from `right` + */ + y: 'right' + }, + + /** + * Applies the computed styles to the popper element. + * + * All the DOM manipulations are limited to this modifier. This is useful in case + * you want to integrate Popper.js inside a framework or view library and you + * want to delegate all the DOM manipulations to it. + * + * Note that if you disable this modifier, you must make sure the popper element + * has its position set to `absolute` before Popper.js can do its work! + * + * Just disable this modifier and define you own to achieve the desired effect. + * + * @memberof modifiers + * @inner + */ + applyStyle: { + /** @prop {number} order=900 - Index used to define the order of execution */ + order: 900, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: applyStyle, + /** @prop {Function} */ + onLoad: applyStyleOnLoad, + /** + * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier + * @prop {Boolean} gpuAcceleration=true + * If true, it uses the CSS 3d transformation to position the popper. + * Otherwise, it will use the `top` and `left` properties. + */ + gpuAcceleration: undefined + } +}; + +/** + * The `dataObject` is an object containing all the informations used by Popper.js + * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks. + * @name dataObject + * @property {Object} data.instance The Popper.js instance + * @property {String} data.placement Placement applied to popper + * @property {String} data.originalPlacement Placement originally defined on init + * @property {Boolean} data.flipped True if popper has been flipped by flip modifier + * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper. + * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier + * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`) + * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`) + * @property {Object} data.boundaries Offsets of the popper boundaries + * @property {Object} data.offsets The measurements of popper, reference and arrow elements. + * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values + * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values + * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0 + */ + +/** + * Default options provided to Popper.js constructor.<br /> + * These can be overriden using the `options` argument of Popper.js.<br /> + * To override an option, simply pass as 3rd argument an object with the same + * structure of this object, example: + * ``` + * new Popper(ref, pop, { + * modifiers: { + * preventOverflow: { enabled: false } + * } + * }) + * ``` + * @type {Object} + * @static + * @memberof Popper + */ +var Defaults = { + /** + * Popper's placement + * @prop {Popper.placements} placement='bottom' + */ + placement: 'bottom', + + /** + * Whether events (resize, scroll) are initially enabled + * @prop {Boolean} eventsEnabled=true + */ + eventsEnabled: true, + + /** + * Set to true if you want to automatically remove the popper when + * you call the `destroy` method. + * @prop {Boolean} removeOnDestroy=false + */ + removeOnDestroy: false, + + /** + * Callback called when the popper is created.<br /> + * By default, is set to no-op.<br /> + * Access Popper.js instance with `data.instance`. + * @prop {onCreate} + */ + onCreate: function onCreate() {}, + + /** + * Callback called when the popper is updated, this callback is not called + * on the initialization/creation of the popper, but only on subsequent + * updates.<br /> + * By default, is set to no-op.<br /> + * Access Popper.js instance with `data.instance`. + * @prop {onUpdate} + */ + onUpdate: function onUpdate() {}, + + /** + * List of modifiers used to modify the offsets before they are applied to the popper. + * They provide most of the functionalities of Popper.js + * @prop {modifiers} + */ + modifiers: modifiers +}; + +/** + * @callback onCreate + * @param {dataObject} data + */ + +/** + * @callback onUpdate + * @param {dataObject} data + */ + +// Utils +// Methods +var Popper = function () { + /** + * Create a new Popper.js instance + * @class Popper + * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper + * @param {HTMLElement} popper - The HTML element used as popper. + * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults) + * @return {Object} instance - The generated Popper.js instance + */ + function Popper(reference, popper) { + var _this = this; + + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + classCallCheck(this, Popper); + + this.scheduleUpdate = function () { + return requestAnimationFrame(_this.update); + }; + + // make update() debounced, so that it only runs at most once-per-tick + this.update = debounce(this.update.bind(this)); + + // with {} we create a new object with the options inside it + this.options = _extends$1({}, Popper.Defaults, options); + + // init state + this.state = { + isDestroyed: false, + isCreated: false, + scrollParents: [] + }; + + // get reference and popper elements (allow jQuery wrappers) + this.reference = reference.jquery ? reference[0] : reference; + this.popper = popper.jquery ? popper[0] : popper; + + // Deep merge modifiers options + this.options.modifiers = {}; + Object.keys(_extends$1({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) { + _this.options.modifiers[name] = _extends$1({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {}); + }); + + // Refactoring modifiers' list (Object => Array) + this.modifiers = Object.keys(this.options.modifiers).map(function (name) { + return _extends$1({ + name: name + }, _this.options.modifiers[name]); + }) + // sort the modifiers by order + .sort(function (a, b) { + return a.order - b.order; + }); + + // modifiers have the ability to execute arbitrary code when Popper.js get inited + // such code is executed in the same order of its modifier + // they could add new properties to their options configuration + // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`! + this.modifiers.forEach(function (modifierOptions) { + if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) { + modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state); + } + }); + + // fire the first update to position the popper in the right place + this.update(); + + var eventsEnabled = this.options.eventsEnabled; + if (eventsEnabled) { + // setup event listeners, they will take care of update the position in specific situations + this.enableEventListeners(); + } + + this.state.eventsEnabled = eventsEnabled; + } + + // We can't use class properties because they don't get listed in the + // class prototype and break stuff like Sinon stubs + + + createClass$1(Popper, [{ + key: 'update', + value: function update$$1() { + return update.call(this); + } + }, { + key: 'destroy', + value: function destroy$$1() { + return destroy.call(this); + } + }, { + key: 'enableEventListeners', + value: function enableEventListeners$$1() { + return enableEventListeners.call(this); + } + }, { + key: 'disableEventListeners', + value: function disableEventListeners$$1() { + return disableEventListeners.call(this); + } + + /** + * Schedule an update, it will run on the next UI update available + * @method scheduleUpdate + * @memberof Popper + */ + + + /** + * Collection of utilities useful when writing custom modifiers. + * Starting from version 1.7, this method is available only if you + * include `popper-utils.js` before `popper.js`. + * + * **DEPRECATION**: This way to access PopperUtils is deprecated + * and will be removed in v2! Use the PopperUtils module directly instead. + * Due to the high instability of the methods contained in Utils, we can't + * guarantee them to follow semver. Use them at your own risk! + * @static + * @private + * @type {Object} + * @deprecated since version 1.8 + * @member Utils + * @memberof Popper + */ + + }]); + return Popper; +}(); + +/** + * The `referenceObject` is an object that provides an interface compatible with Popper.js + * and lets you use it as replacement of a real DOM node.<br /> + * You can use this method to position a popper relatively to a set of coordinates + * in case you don't have a DOM node to use as reference. + * + * ``` + * new Popper(referenceObject, popperNode); + * ``` + * + * NB: This feature isn't supported in Internet Explorer 10 + * @name referenceObject + * @property {Function} data.getBoundingClientRect + * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method. + * @property {number} data.clientWidth + * An ES6 getter that will return the width of the virtual reference element. + * @property {number} data.clientHeight + * An ES6 getter that will return the height of the virtual reference element. + */ + + +Popper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils; +Popper.placements = placements; +Popper.Defaults = Defaults; + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-beta.2): dropdown.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +var Dropdown = function () { + /** + * Check for Popper dependency + * Popper - https://popper.js.org + */ + if (typeof Popper === 'undefined') { + throw new Error('Bootstrap dropdown require Popper.js (https://popper.js.org)'); + } + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + + var NAME = 'dropdown'; + var VERSION = '4.0.0-beta.2'; + var DATA_KEY = 'bs.dropdown'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key + + var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key + + var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key + + var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key + + var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key + + var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse) + + var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE); + var Event = { + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY, + CLICK: "click" + EVENT_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY, + KEYDOWN_DATA_API: "keydown" + EVENT_KEY + DATA_API_KEY, + KEYUP_DATA_API: "keyup" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + DISABLED: 'disabled', + SHOW: 'show', + DROPUP: 'dropup', + MENURIGHT: 'dropdown-menu-right', + MENULEFT: 'dropdown-menu-left' + }; + var Selector = { + DATA_TOGGLE: '[data-toggle="dropdown"]', + FORM_CHILD: '.dropdown form', + MENU: '.dropdown-menu', + NAVBAR_NAV: '.navbar-nav', + VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled)' + }; + var AttachmentMap = { + TOP: 'top-start', + TOPEND: 'top-end', + BOTTOM: 'bottom-start', + BOTTOMEND: 'bottom-end' + }; + var Default = { + offset: 0, + flip: true + }; + var DefaultType = { + offset: '(number|string|function)', + flip: 'boolean' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Dropdown = + /*#__PURE__*/ + function () { + function Dropdown(element, config) { + this._element = element; + this._popper = null; + this._config = this._getConfig(config); + this._menu = this._getMenuElement(); + this._inNavbar = this._detectNavbar(); + + this._addEventListeners(); + } // getters + + + var _proto = Dropdown.prototype; + + // public + _proto.toggle = function toggle() { + if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) { + return; + } + + var parent = Dropdown._getParentFromElement(this._element); + + var isActive = $(this._menu).hasClass(ClassName.SHOW); + + Dropdown._clearMenus(); + + if (isActive) { + return; + } + + var relatedTarget = { + relatedTarget: this._element + }; + var showEvent = $.Event(Event.SHOW, relatedTarget); + $(parent).trigger(showEvent); + + if (showEvent.isDefaultPrevented()) { + return; + } + + var element = this._element; // for dropup with alignment we use the parent as popper container + + if ($(parent).hasClass(ClassName.DROPUP)) { + if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) { + element = parent; + } + } + + this._popper = new Popper(element, this._menu, this._getPopperConfig()); // if this is a touch-enabled device we add extra + // empty mouseover listeners to the body's immediate children; + // only needed because of broken event delegation on iOS + // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html + + if ('ontouchstart' in document.documentElement && !$(parent).closest(Selector.NAVBAR_NAV).length) { + $('body').children().on('mouseover', null, $.noop); + } + + this._element.focus(); + + this._element.setAttribute('aria-expanded', true); + + $(this._menu).toggleClass(ClassName.SHOW); + $(parent).toggleClass(ClassName.SHOW).trigger($.Event(Event.SHOWN, relatedTarget)); + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY); + $(this._element).off(EVENT_KEY); + this._element = null; + this._menu = null; + + if (this._popper !== null) { + this._popper.destroy(); + } + + this._popper = null; + }; + + _proto.update = function update() { + this._inNavbar = this._detectNavbar(); + + if (this._popper !== null) { + this._popper.scheduleUpdate(); + } + }; // private + + + _proto._addEventListeners = function _addEventListeners() { + var _this = this; + + $(this._element).on(Event.CLICK, function (event) { + event.preventDefault(); + event.stopPropagation(); + + _this.toggle(); + }); + }; + + _proto._getConfig = function _getConfig(config) { + config = $.extend({}, this.constructor.Default, $(this._element).data(), config); + Util.typeCheckConfig(NAME, config, this.constructor.DefaultType); + return config; + }; + + _proto._getMenuElement = function _getMenuElement() { + if (!this._menu) { + var parent = Dropdown._getParentFromElement(this._element); + + this._menu = $(parent).find(Selector.MENU)[0]; + } + + return this._menu; + }; + + _proto._getPlacement = function _getPlacement() { + var $parentDropdown = $(this._element).parent(); + var placement = AttachmentMap.BOTTOM; // Handle dropup + + if ($parentDropdown.hasClass(ClassName.DROPUP)) { + placement = AttachmentMap.TOP; + + if ($(this._menu).hasClass(ClassName.MENURIGHT)) { + placement = AttachmentMap.TOPEND; + } + } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) { + placement = AttachmentMap.BOTTOMEND; + } + + return placement; + }; + + _proto._detectNavbar = function _detectNavbar() { + return $(this._element).closest('.navbar').length > 0; + }; + + _proto._getPopperConfig = function _getPopperConfig() { + var _this2 = this; + + var offsetConf = {}; + + if (typeof this._config.offset === 'function') { + offsetConf.fn = function (data) { + data.offsets = $.extend({}, data.offsets, _this2._config.offset(data.offsets) || {}); + return data; + }; + } else { + offsetConf.offset = this._config.offset; + } + + var popperConfig = { + placement: this._getPlacement(), + modifiers: { + offset: offsetConf, + flip: { + enabled: this._config.flip + } + } // Disable Popper.js for Dropdown in Navbar + + }; + + if (this._inNavbar) { + popperConfig.modifiers.applyStyle = { + enabled: !this._inNavbar + }; + } + + return popperConfig; + }; // static + + + Dropdown._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + + var _config = typeof config === 'object' ? config : null; + + if (!data) { + data = new Dropdown(this, _config); + $(this).data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new Error("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + Dropdown._clearMenus = function _clearMenus(event) { + if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) { + return; + } + + var toggles = $.makeArray($(Selector.DATA_TOGGLE)); + + for (var i = 0; i < toggles.length; i++) { + var parent = Dropdown._getParentFromElement(toggles[i]); + + var context = $(toggles[i]).data(DATA_KEY); + var relatedTarget = { + relatedTarget: toggles[i] + }; + + if (!context) { + continue; + } + + var dropdownMenu = context._menu; + + if (!$(parent).hasClass(ClassName.SHOW)) { + continue; + } + + if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $.contains(parent, event.target)) { + continue; + } + + var hideEvent = $.Event(Event.HIDE, relatedTarget); + $(parent).trigger(hideEvent); + + if (hideEvent.isDefaultPrevented()) { + continue; + } // if this is a touch-enabled device we remove the extra + // empty mouseover listeners we added for iOS support + + + if ('ontouchstart' in document.documentElement) { + $('body').children().off('mouseover', null, $.noop); + } + + toggles[i].setAttribute('aria-expanded', 'false'); + $(dropdownMenu).removeClass(ClassName.SHOW); + $(parent).removeClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget)); + } + }; + + Dropdown._getParentFromElement = function _getParentFromElement(element) { + var parent; + var selector = Util.getSelectorFromElement(element); + + if (selector) { + parent = $(selector)[0]; + } + + return parent || element.parentNode; + }; + + Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) { + if (!REGEXP_KEYDOWN.test(event.which) || /button/i.test(event.target.tagName) && event.which === SPACE_KEYCODE || /input|textarea/i.test(event.target.tagName)) { + return; + } + + event.preventDefault(); + event.stopPropagation(); + + if (this.disabled || $(this).hasClass(ClassName.DISABLED)) { + return; + } + + var parent = Dropdown._getParentFromElement(this); + + var isActive = $(parent).hasClass(ClassName.SHOW); + + if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) { + if (event.which === ESCAPE_KEYCODE) { + var toggle = $(parent).find(Selector.DATA_TOGGLE)[0]; + $(toggle).trigger('focus'); + } + + $(this).trigger('click'); + return; + } + + var items = $(parent).find(Selector.VISIBLE_ITEMS).get(); + + if (!items.length) { + return; + } + + var index = items.indexOf(event.target); + + if (event.which === ARROW_UP_KEYCODE && index > 0) { + // up + index--; + } + + if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { + // down + index++; + } + + if (index < 0) { + index = 0; + } + + items[index].focus(); + }; + + createClass(Dropdown, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }, { + key: "DefaultType", + get: function get() { + return DefaultType; + } + }]); + return Dropdown; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + " " + Event.KEYUP_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { + event.preventDefault(); + event.stopPropagation(); + + Dropdown._jQueryInterface.call($(this), 'toggle'); + }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) { + e.stopPropagation(); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Dropdown._jQueryInterface; + $.fn[NAME].Constructor = Dropdown; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Dropdown._jQueryInterface; + }; + + return Dropdown; +}($, Popper); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-beta.2): modal.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +var Modal = function () { + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + var NAME = 'modal'; + var VERSION = '4.0.0-beta.2'; + var DATA_KEY = 'bs.modal'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var TRANSITION_DURATION = 300; + var BACKDROP_TRANSITION_DURATION = 150; + var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key + + var Default = { + backdrop: true, + keyboard: true, + focus: true, + show: true + }; + var DefaultType = { + backdrop: '(boolean|string)', + keyboard: 'boolean', + focus: 'boolean', + show: 'boolean' + }; + var Event = { + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY, + FOCUSIN: "focusin" + EVENT_KEY, + RESIZE: "resize" + EVENT_KEY, + CLICK_DISMISS: "click.dismiss" + EVENT_KEY, + KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY, + MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY, + MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + SCROLLBAR_MEASURER: 'modal-scrollbar-measure', + BACKDROP: 'modal-backdrop', + OPEN: 'modal-open', + FADE: 'fade', + SHOW: 'show' + }; + var Selector = { + DIALOG: '.modal-dialog', + DATA_TOGGLE: '[data-toggle="modal"]', + DATA_DISMISS: '[data-dismiss="modal"]', + FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top', + STICKY_CONTENT: '.sticky-top', + NAVBAR_TOGGLER: '.navbar-toggler' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Modal = + /*#__PURE__*/ + function () { + function Modal(element, config) { + this._config = this._getConfig(config); + this._element = element; + this._dialog = $(element).find(Selector.DIALOG)[0]; + this._backdrop = null; + this._isShown = false; + this._isBodyOverflowing = false; + this._ignoreBackdropClick = false; + this._originalBodyPadding = 0; + this._scrollbarWidth = 0; + } // getters + + + var _proto = Modal.prototype; + + // public + _proto.toggle = function toggle(relatedTarget) { + return this._isShown ? this.hide() : this.show(relatedTarget); + }; + + _proto.show = function show(relatedTarget) { + var _this = this; + + if (this._isTransitioning || this._isShown) { + return; + } + + if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) { + this._isTransitioning = true; + } + + var showEvent = $.Event(Event.SHOW, { + relatedTarget: relatedTarget + }); + $(this._element).trigger(showEvent); + + if (this._isShown || showEvent.isDefaultPrevented()) { + return; + } + + this._isShown = true; + + this._checkScrollbar(); + + this._setScrollbar(); + + this._adjustDialog(); + + $(document.body).addClass(ClassName.OPEN); + + this._setEscapeEvent(); + + this._setResizeEvent(); + + $(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) { + return _this.hide(event); + }); + $(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () { + $(_this._element).one(Event.MOUSEUP_DISMISS, function (event) { + if ($(event.target).is(_this._element)) { + _this._ignoreBackdropClick = true; + } + }); + }); + + this._showBackdrop(function () { + return _this._showElement(relatedTarget); + }); + }; + + _proto.hide = function hide(event) { + var _this2 = this; + + if (event) { + event.preventDefault(); + } + + if (this._isTransitioning || !this._isShown) { + return; + } + + var hideEvent = $.Event(Event.HIDE); + $(this._element).trigger(hideEvent); + + if (!this._isShown || hideEvent.isDefaultPrevented()) { + return; + } + + this._isShown = false; + var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE); + + if (transition) { + this._isTransitioning = true; + } + + this._setEscapeEvent(); + + this._setResizeEvent(); + + $(document).off(Event.FOCUSIN); + $(this._element).removeClass(ClassName.SHOW); + $(this._element).off(Event.CLICK_DISMISS); + $(this._dialog).off(Event.MOUSEDOWN_DISMISS); + + if (transition) { + $(this._element).one(Util.TRANSITION_END, function (event) { + return _this2._hideModal(event); + }).emulateTransitionEnd(TRANSITION_DURATION); + } else { + this._hideModal(); + } + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY); + $(window, document, this._element, this._backdrop).off(EVENT_KEY); + this._config = null; + this._element = null; + this._dialog = null; + this._backdrop = null; + this._isShown = null; + this._isBodyOverflowing = null; + this._ignoreBackdropClick = null; + this._scrollbarWidth = null; + }; + + _proto.handleUpdate = function handleUpdate() { + this._adjustDialog(); + }; // private + + + _proto._getConfig = function _getConfig(config) { + config = $.extend({}, Default, config); + Util.typeCheckConfig(NAME, config, DefaultType); + return config; + }; + + _proto._showElement = function _showElement(relatedTarget) { + var _this3 = this; + + var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE); + + if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) { + // don't move modals dom position + document.body.appendChild(this._element); + } + + this._element.style.display = 'block'; + + this._element.removeAttribute('aria-hidden'); + + this._element.scrollTop = 0; + + if (transition) { + Util.reflow(this._element); + } + + $(this._element).addClass(ClassName.SHOW); + + if (this._config.focus) { + this._enforceFocus(); + } + + var shownEvent = $.Event(Event.SHOWN, { + relatedTarget: relatedTarget + }); + + var transitionComplete = function transitionComplete() { + if (_this3._config.focus) { + _this3._element.focus(); + } + + _this3._isTransitioning = false; + $(_this3._element).trigger(shownEvent); + }; + + if (transition) { + $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION); + } else { + transitionComplete(); + } + }; + + _proto._enforceFocus = function _enforceFocus() { + var _this4 = this; + + $(document).off(Event.FOCUSIN) // guard against infinite focus loop + .on(Event.FOCUSIN, function (event) { + if (document !== event.target && _this4._element !== event.target && !$(_this4._element).has(event.target).length) { + _this4._element.focus(); + } + }); + }; + + _proto._setEscapeEvent = function _setEscapeEvent() { + var _this5 = this; + + if (this._isShown && this._config.keyboard) { + $(this._element).on(Event.KEYDOWN_DISMISS, function (event) { + if (event.which === ESCAPE_KEYCODE) { + event.preventDefault(); + + _this5.hide(); + } + }); + } else if (!this._isShown) { + $(this._element).off(Event.KEYDOWN_DISMISS); + } + }; + + _proto._setResizeEvent = function _setResizeEvent() { + var _this6 = this; + + if (this._isShown) { + $(window).on(Event.RESIZE, function (event) { + return _this6.handleUpdate(event); + }); + } else { + $(window).off(Event.RESIZE); + } + }; + + _proto._hideModal = function _hideModal() { + var _this7 = this; + + this._element.style.display = 'none'; + + this._element.setAttribute('aria-hidden', true); + + this._isTransitioning = false; + + this._showBackdrop(function () { + $(document.body).removeClass(ClassName.OPEN); + + _this7._resetAdjustments(); + + _this7._resetScrollbar(); + + $(_this7._element).trigger(Event.HIDDEN); + }); + }; + + _proto._removeBackdrop = function _removeBackdrop() { + if (this._backdrop) { + $(this._backdrop).remove(); + this._backdrop = null; + } + }; + + _proto._showBackdrop = function _showBackdrop(callback) { + var _this8 = this; + + var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : ''; + + if (this._isShown && this._config.backdrop) { + var doAnimate = Util.supportsTransitionEnd() && animate; + this._backdrop = document.createElement('div'); + this._backdrop.className = ClassName.BACKDROP; + + if (animate) { + $(this._backdrop).addClass(animate); + } + + $(this._backdrop).appendTo(document.body); + $(this._element).on(Event.CLICK_DISMISS, function (event) { + if (_this8._ignoreBackdropClick) { + _this8._ignoreBackdropClick = false; + return; + } + + if (event.target !== event.currentTarget) { + return; + } + + if (_this8._config.backdrop === 'static') { + _this8._element.focus(); + } else { + _this8.hide(); + } + }); + + if (doAnimate) { + Util.reflow(this._backdrop); + } + + $(this._backdrop).addClass(ClassName.SHOW); + + if (!callback) { + return; + } + + if (!doAnimate) { + callback(); + return; + } + + $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION); + } else if (!this._isShown && this._backdrop) { + $(this._backdrop).removeClass(ClassName.SHOW); + + var callbackRemove = function callbackRemove() { + _this8._removeBackdrop(); + + if (callback) { + callback(); + } + }; + + if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) { + $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION); + } else { + callbackRemove(); + } + } else if (callback) { + callback(); + } + }; // ---------------------------------------------------------------------- + // the following methods are used to handle overflowing modals + // todo (fat): these should probably be refactored out of modal.js + // ---------------------------------------------------------------------- + + + _proto._adjustDialog = function _adjustDialog() { + var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; + + if (!this._isBodyOverflowing && isModalOverflowing) { + this._element.style.paddingLeft = this._scrollbarWidth + "px"; + } + + if (this._isBodyOverflowing && !isModalOverflowing) { + this._element.style.paddingRight = this._scrollbarWidth + "px"; + } + }; + + _proto._resetAdjustments = function _resetAdjustments() { + this._element.style.paddingLeft = ''; + this._element.style.paddingRight = ''; + }; + + _proto._checkScrollbar = function _checkScrollbar() { + var rect = document.body.getBoundingClientRect(); + this._isBodyOverflowing = rect.left + rect.right < window.innerWidth; + this._scrollbarWidth = this._getScrollbarWidth(); + }; + + _proto._setScrollbar = function _setScrollbar() { + var _this9 = this; + + if (this._isBodyOverflowing) { + // Note: DOMNode.style.paddingRight returns the actual value or '' if not set + // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set + // Adjust fixed content padding + $(Selector.FIXED_CONTENT).each(function (index, element) { + var actualPadding = $(element)[0].style.paddingRight; + var calculatedPadding = $(element).css('padding-right'); + $(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px"); + }); // Adjust sticky content margin + + $(Selector.STICKY_CONTENT).each(function (index, element) { + var actualMargin = $(element)[0].style.marginRight; + var calculatedMargin = $(element).css('margin-right'); + $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px"); + }); // Adjust navbar-toggler margin + + $(Selector.NAVBAR_TOGGLER).each(function (index, element) { + var actualMargin = $(element)[0].style.marginRight; + var calculatedMargin = $(element).css('margin-right'); + $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) + _this9._scrollbarWidth + "px"); + }); // Adjust body padding + + var actualPadding = document.body.style.paddingRight; + var calculatedPadding = $('body').css('padding-right'); + $('body').data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px"); + } + }; + + _proto._resetScrollbar = function _resetScrollbar() { + // Restore fixed content padding + $(Selector.FIXED_CONTENT).each(function (index, element) { + var padding = $(element).data('padding-right'); + + if (typeof padding !== 'undefined') { + $(element).css('padding-right', padding).removeData('padding-right'); + } + }); // Restore sticky content and navbar-toggler margin + + $(Selector.STICKY_CONTENT + ", " + Selector.NAVBAR_TOGGLER).each(function (index, element) { + var margin = $(element).data('margin-right'); + + if (typeof margin !== 'undefined') { + $(element).css('margin-right', margin).removeData('margin-right'); + } + }); // Restore body padding + + var padding = $('body').data('padding-right'); + + if (typeof padding !== 'undefined') { + $('body').css('padding-right', padding).removeData('padding-right'); + } + }; + + _proto._getScrollbarWidth = function _getScrollbarWidth() { + // thx d.walsh + var scrollDiv = document.createElement('div'); + scrollDiv.className = ClassName.SCROLLBAR_MEASURER; + document.body.appendChild(scrollDiv); + var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth; + document.body.removeChild(scrollDiv); + return scrollbarWidth; + }; // static + + + Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + + var _config = $.extend({}, Modal.Default, $(this).data(), typeof config === 'object' && config); + + if (!data) { + data = new Modal(this, _config); + $(this).data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new Error("No method named \"" + config + "\""); + } + + data[config](relatedTarget); + } else if (_config.show) { + data.show(relatedTarget); + } + }); + }; + + createClass(Modal, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }]); + return Modal; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { + var _this10 = this; + + var target; + var selector = Util.getSelectorFromElement(this); + + if (selector) { + target = $(selector)[0]; + } + + var config = $(target).data(DATA_KEY) ? 'toggle' : $.extend({}, $(target).data(), $(this).data()); + + if (this.tagName === 'A' || this.tagName === 'AREA') { + event.preventDefault(); + } + + var $target = $(target).one(Event.SHOW, function (showEvent) { + if (showEvent.isDefaultPrevented()) { + // only register focus restorer if modal will actually get shown + return; + } + + $target.one(Event.HIDDEN, function () { + if ($(_this10).is(':visible')) { + _this10.focus(); + } + }); + }); + + Modal._jQueryInterface.call($(target), config, this); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Modal._jQueryInterface; + $.fn[NAME].Constructor = Modal; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Modal._jQueryInterface; + }; + + return Modal; +}($); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-beta.2): tooltip.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +var Tooltip = function () { + /** + * Check for Popper dependency + * Popper - https://popper.js.org + */ + if (typeof Popper === 'undefined') { + throw new Error('Bootstrap tooltips require Popper.js (https://popper.js.org)'); + } + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + + var NAME = 'tooltip'; + var VERSION = '4.0.0-beta.2'; + var DATA_KEY = 'bs.tooltip'; + var EVENT_KEY = "." + DATA_KEY; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var TRANSITION_DURATION = 150; + var CLASS_PREFIX = 'bs-tooltip'; + var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g'); + var DefaultType = { + animation: 'boolean', + template: 'string', + title: '(string|element|function)', + trigger: 'string', + delay: '(number|object)', + html: 'boolean', + selector: '(string|boolean)', + placement: '(string|function)', + offset: '(number|string)', + container: '(string|element|boolean)', + fallbackPlacement: '(string|array)' + }; + var AttachmentMap = { + AUTO: 'auto', + TOP: 'top', + RIGHT: 'right', + BOTTOM: 'bottom', + LEFT: 'left' + }; + var Default = { + animation: true, + template: '<div class="tooltip" role="tooltip">' + '<div class="arrow"></div>' + '<div class="tooltip-inner"></div></div>', + trigger: 'hover focus', + title: '', + delay: 0, + html: false, + selector: false, + placement: 'top', + offset: 0, + container: false, + fallbackPlacement: 'flip' + }; + var HoverState = { + SHOW: 'show', + OUT: 'out' + }; + var Event = { + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY, + INSERTED: "inserted" + EVENT_KEY, + CLICK: "click" + EVENT_KEY, + FOCUSIN: "focusin" + EVENT_KEY, + FOCUSOUT: "focusout" + EVENT_KEY, + MOUSEENTER: "mouseenter" + EVENT_KEY, + MOUSELEAVE: "mouseleave" + EVENT_KEY + }; + var ClassName = { + FADE: 'fade', + SHOW: 'show' + }; + var Selector = { + TOOLTIP: '.tooltip', + TOOLTIP_INNER: '.tooltip-inner', + ARROW: '.arrow' + }; + var Trigger = { + HOVER: 'hover', + FOCUS: 'focus', + CLICK: 'click', + MANUAL: 'manual' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Tooltip = + /*#__PURE__*/ + function () { + function Tooltip(element, config) { + // private + this._isEnabled = true; + this._timeout = 0; + this._hoverState = ''; + this._activeTrigger = {}; + this._popper = null; // protected + + this.element = element; + this.config = this._getConfig(config); + this.tip = null; + + this._setListeners(); + } // getters + + + var _proto = Tooltip.prototype; + + // public + _proto.enable = function enable() { + this._isEnabled = true; + }; + + _proto.disable = function disable() { + this._isEnabled = false; + }; + + _proto.toggleEnabled = function toggleEnabled() { + this._isEnabled = !this._isEnabled; + }; + + _proto.toggle = function toggle(event) { + if (!this._isEnabled) { + return; + } + + if (event) { + var dataKey = this.constructor.DATA_KEY; + var context = $(event.currentTarget).data(dataKey); + + if (!context) { + context = new this.constructor(event.currentTarget, this._getDelegateConfig()); + $(event.currentTarget).data(dataKey, context); + } + + context._activeTrigger.click = !context._activeTrigger.click; + + if (context._isWithActiveTrigger()) { + context._enter(null, context); + } else { + context._leave(null, context); + } + } else { + if ($(this.getTipElement()).hasClass(ClassName.SHOW)) { + this._leave(null, this); + + return; + } + + this._enter(null, this); + } + }; + + _proto.dispose = function dispose() { + clearTimeout(this._timeout); + $.removeData(this.element, this.constructor.DATA_KEY); + $(this.element).off(this.constructor.EVENT_KEY); + $(this.element).closest('.modal').off('hide.bs.modal'); + + if (this.tip) { + $(this.tip).remove(); + } + + this._isEnabled = null; + this._timeout = null; + this._hoverState = null; + this._activeTrigger = null; + + if (this._popper !== null) { + this._popper.destroy(); + } + + this._popper = null; + this.element = null; + this.config = null; + this.tip = null; + }; + + _proto.show = function show() { + var _this = this; + + if ($(this.element).css('display') === 'none') { + throw new Error('Please use show on visible elements'); + } + + var showEvent = $.Event(this.constructor.Event.SHOW); + + if (this.isWithContent() && this._isEnabled) { + $(this.element).trigger(showEvent); + var isInTheDom = $.contains(this.element.ownerDocument.documentElement, this.element); + + if (showEvent.isDefaultPrevented() || !isInTheDom) { + return; + } + + var tip = this.getTipElement(); + var tipId = Util.getUID(this.constructor.NAME); + tip.setAttribute('id', tipId); + this.element.setAttribute('aria-describedby', tipId); + this.setContent(); + + if (this.config.animation) { + $(tip).addClass(ClassName.FADE); + } + + var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement; + + var attachment = this._getAttachment(placement); + + this.addAttachmentClass(attachment); + var container = this.config.container === false ? document.body : $(this.config.container); + $(tip).data(this.constructor.DATA_KEY, this); + + if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) { + $(tip).appendTo(container); + } + + $(this.element).trigger(this.constructor.Event.INSERTED); + this._popper = new Popper(this.element, tip, { + placement: attachment, + modifiers: { + offset: { + offset: this.config.offset + }, + flip: { + behavior: this.config.fallbackPlacement + }, + arrow: { + element: Selector.ARROW + } + }, + onCreate: function onCreate(data) { + if (data.originalPlacement !== data.placement) { + _this._handlePopperPlacementChange(data); + } + }, + onUpdate: function onUpdate(data) { + _this._handlePopperPlacementChange(data); + } + }); + $(tip).addClass(ClassName.SHOW); // if this is a touch-enabled device we add extra + // empty mouseover listeners to the body's immediate children; + // only needed because of broken event delegation on iOS + // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html + + if ('ontouchstart' in document.documentElement) { + $('body').children().on('mouseover', null, $.noop); + } + + var complete = function complete() { + if (_this.config.animation) { + _this._fixTransition(); + } + + var prevHoverState = _this._hoverState; + _this._hoverState = null; + $(_this.element).trigger(_this.constructor.Event.SHOWN); + + if (prevHoverState === HoverState.OUT) { + _this._leave(null, _this); + } + }; + + if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) { + $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION); + } else { + complete(); + } + } + }; + + _proto.hide = function hide(callback) { + var _this2 = this; + + var tip = this.getTipElement(); + var hideEvent = $.Event(this.constructor.Event.HIDE); + + var complete = function complete() { + if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) { + tip.parentNode.removeChild(tip); + } + + _this2._cleanTipClass(); + + _this2.element.removeAttribute('aria-describedby'); + + $(_this2.element).trigger(_this2.constructor.Event.HIDDEN); + + if (_this2._popper !== null) { + _this2._popper.destroy(); + } + + if (callback) { + callback(); + } + }; + + $(this.element).trigger(hideEvent); + + if (hideEvent.isDefaultPrevented()) { + return; + } + + $(tip).removeClass(ClassName.SHOW); // if this is a touch-enabled device we remove the extra + // empty mouseover listeners we added for iOS support + + if ('ontouchstart' in document.documentElement) { + $('body').children().off('mouseover', null, $.noop); + } + + this._activeTrigger[Trigger.CLICK] = false; + this._activeTrigger[Trigger.FOCUS] = false; + this._activeTrigger[Trigger.HOVER] = false; + + if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) { + $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION); + } else { + complete(); + } + + this._hoverState = ''; + }; + + _proto.update = function update() { + if (this._popper !== null) { + this._popper.scheduleUpdate(); + } + }; // protected + + + _proto.isWithContent = function isWithContent() { + return Boolean(this.getTitle()); + }; + + _proto.addAttachmentClass = function addAttachmentClass(attachment) { + $(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment); + }; + + _proto.getTipElement = function getTipElement() { + this.tip = this.tip || $(this.config.template)[0]; + return this.tip; + }; + + _proto.setContent = function setContent() { + var $tip = $(this.getTipElement()); + this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle()); + $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW); + }; + + _proto.setElementContent = function setElementContent($element, content) { + var html = this.config.html; + + if (typeof content === 'object' && (content.nodeType || content.jquery)) { + // content is a DOM node or a jQuery + if (html) { + if (!$(content).parent().is($element)) { + $element.empty().append(content); + } + } else { + $element.text($(content).text()); + } + } else { + $element[html ? 'html' : 'text'](content); + } + }; + + _proto.getTitle = function getTitle() { + var title = this.element.getAttribute('data-original-title'); + + if (!title) { + title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title; + } + + return title; + }; // private + + + _proto._getAttachment = function _getAttachment(placement) { + return AttachmentMap[placement.toUpperCase()]; + }; + + _proto._setListeners = function _setListeners() { + var _this3 = this; + + var triggers = this.config.trigger.split(' '); + triggers.forEach(function (trigger) { + if (trigger === 'click') { + $(_this3.element).on(_this3.constructor.Event.CLICK, _this3.config.selector, function (event) { + return _this3.toggle(event); + }); + } else if (trigger !== Trigger.MANUAL) { + var eventIn = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSEENTER : _this3.constructor.Event.FOCUSIN; + var eventOut = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSELEAVE : _this3.constructor.Event.FOCUSOUT; + $(_this3.element).on(eventIn, _this3.config.selector, function (event) { + return _this3._enter(event); + }).on(eventOut, _this3.config.selector, function (event) { + return _this3._leave(event); + }); + } + + $(_this3.element).closest('.modal').on('hide.bs.modal', function () { + return _this3.hide(); + }); + }); + + if (this.config.selector) { + this.config = $.extend({}, this.config, { + trigger: 'manual', + selector: '' + }); + } else { + this._fixTitle(); + } + }; + + _proto._fixTitle = function _fixTitle() { + var titleType = typeof this.element.getAttribute('data-original-title'); + + if (this.element.getAttribute('title') || titleType !== 'string') { + this.element.setAttribute('data-original-title', this.element.getAttribute('title') || ''); + this.element.setAttribute('title', ''); + } + }; + + _proto._enter = function _enter(event, context) { + var dataKey = this.constructor.DATA_KEY; + context = context || $(event.currentTarget).data(dataKey); + + if (!context) { + context = new this.constructor(event.currentTarget, this._getDelegateConfig()); + $(event.currentTarget).data(dataKey, context); + } + + if (event) { + context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true; + } + + if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) { + context._hoverState = HoverState.SHOW; + return; + } + + clearTimeout(context._timeout); + context._hoverState = HoverState.SHOW; + + if (!context.config.delay || !context.config.delay.show) { + context.show(); + return; + } + + context._timeout = setTimeout(function () { + if (context._hoverState === HoverState.SHOW) { + context.show(); + } + }, context.config.delay.show); + }; + + _proto._leave = function _leave(event, context) { + var dataKey = this.constructor.DATA_KEY; + context = context || $(event.currentTarget).data(dataKey); + + if (!context) { + context = new this.constructor(event.currentTarget, this._getDelegateConfig()); + $(event.currentTarget).data(dataKey, context); + } + + if (event) { + context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false; + } + + if (context._isWithActiveTrigger()) { + return; + } + + clearTimeout(context._timeout); + context._hoverState = HoverState.OUT; + + if (!context.config.delay || !context.config.delay.hide) { + context.hide(); + return; + } + + context._timeout = setTimeout(function () { + if (context._hoverState === HoverState.OUT) { + context.hide(); + } + }, context.config.delay.hide); + }; + + _proto._isWithActiveTrigger = function _isWithActiveTrigger() { + for (var trigger in this._activeTrigger) { + if (this._activeTrigger[trigger]) { + return true; + } + } + + return false; + }; + + _proto._getConfig = function _getConfig(config) { + config = $.extend({}, this.constructor.Default, $(this.element).data(), config); + + if (typeof config.delay === 'number') { + config.delay = { + show: config.delay, + hide: config.delay + }; + } + + if (typeof config.title === 'number') { + config.title = config.title.toString(); + } + + if (typeof config.content === 'number') { + config.content = config.content.toString(); + } + + Util.typeCheckConfig(NAME, config, this.constructor.DefaultType); + return config; + }; + + _proto._getDelegateConfig = function _getDelegateConfig() { + var config = {}; + + if (this.config) { + for (var key in this.config) { + if (this.constructor.Default[key] !== this.config[key]) { + config[key] = this.config[key]; + } + } + } + + return config; + }; + + _proto._cleanTipClass = function _cleanTipClass() { + var $tip = $(this.getTipElement()); + var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX); + + if (tabClass !== null && tabClass.length > 0) { + $tip.removeClass(tabClass.join('')); + } + }; + + _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(data) { + this._cleanTipClass(); + + this.addAttachmentClass(this._getAttachment(data.placement)); + }; + + _proto._fixTransition = function _fixTransition() { + var tip = this.getTipElement(); + var initConfigAnimation = this.config.animation; + + if (tip.getAttribute('x-placement') !== null) { + return; + } + + $(tip).removeClass(ClassName.FADE); + this.config.animation = false; + this.hide(); + this.show(); + this.config.animation = initConfigAnimation; + }; // static + + + Tooltip._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + + var _config = typeof config === 'object' && config; + + if (!data && /dispose|hide/.test(config)) { + return; + } + + if (!data) { + data = new Tooltip(this, _config); + $(this).data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new Error("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + createClass(Tooltip, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }, { + key: "NAME", + get: function get() { + return NAME; + } + }, { + key: "DATA_KEY", + get: function get() { + return DATA_KEY; + } + }, { + key: "Event", + get: function get() { + return Event; + } + }, { + key: "EVENT_KEY", + get: function get() { + return EVENT_KEY; + } + }, { + key: "DefaultType", + get: function get() { + return DefaultType; + } + }]); + return Tooltip; + }(); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + + $.fn[NAME] = Tooltip._jQueryInterface; + $.fn[NAME].Constructor = Tooltip; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Tooltip._jQueryInterface; + }; + + return Tooltip; +}($, Popper); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-beta.2): popover.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +var Popover = function () { + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + var NAME = 'popover'; + var VERSION = '4.0.0-beta.2'; + var DATA_KEY = 'bs.popover'; + var EVENT_KEY = "." + DATA_KEY; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var CLASS_PREFIX = 'bs-popover'; + var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g'); + var Default = $.extend({}, Tooltip.Default, { + placement: 'right', + trigger: 'click', + content: '', + template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>' + }); + var DefaultType = $.extend({}, Tooltip.DefaultType, { + content: '(string|element|function)' + }); + var ClassName = { + FADE: 'fade', + SHOW: 'show' + }; + var Selector = { + TITLE: '.popover-header', + CONTENT: '.popover-body' + }; + var Event = { + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY, + INSERTED: "inserted" + EVENT_KEY, + CLICK: "click" + EVENT_KEY, + FOCUSIN: "focusin" + EVENT_KEY, + FOCUSOUT: "focusout" + EVENT_KEY, + MOUSEENTER: "mouseenter" + EVENT_KEY, + MOUSELEAVE: "mouseleave" + EVENT_KEY + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Popover = + /*#__PURE__*/ + function (_Tooltip) { + inheritsLoose(Popover, _Tooltip); + + function Popover() { + return _Tooltip.apply(this, arguments) || this; + } + + var _proto = Popover.prototype; + + // overrides + _proto.isWithContent = function isWithContent() { + return this.getTitle() || this._getContent(); + }; + + _proto.addAttachmentClass = function addAttachmentClass(attachment) { + $(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment); + }; + + _proto.getTipElement = function getTipElement() { + this.tip = this.tip || $(this.config.template)[0]; + return this.tip; + }; + + _proto.setContent = function setContent() { + var $tip = $(this.getTipElement()); // we use append for html objects to maintain js events + + this.setElementContent($tip.find(Selector.TITLE), this.getTitle()); + this.setElementContent($tip.find(Selector.CONTENT), this._getContent()); + $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW); + }; // private + + + _proto._getContent = function _getContent() { + return this.element.getAttribute('data-content') || (typeof this.config.content === 'function' ? this.config.content.call(this.element) : this.config.content); + }; + + _proto._cleanTipClass = function _cleanTipClass() { + var $tip = $(this.getTipElement()); + var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX); + + if (tabClass !== null && tabClass.length > 0) { + $tip.removeClass(tabClass.join('')); + } + }; // static + + + Popover._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + + var _config = typeof config === 'object' ? config : null; + + if (!data && /destroy|hide/.test(config)) { + return; + } + + if (!data) { + data = new Popover(this, _config); + $(this).data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new Error("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + createClass(Popover, null, [{ + key: "VERSION", + // getters + get: function get() { + return VERSION; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }, { + key: "NAME", + get: function get() { + return NAME; + } + }, { + key: "DATA_KEY", + get: function get() { + return DATA_KEY; + } + }, { + key: "Event", + get: function get() { + return Event; + } + }, { + key: "EVENT_KEY", + get: function get() { + return EVENT_KEY; + } + }, { + key: "DefaultType", + get: function get() { + return DefaultType; + } + }]); + return Popover; + }(Tooltip); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + + $.fn[NAME] = Popover._jQueryInterface; + $.fn[NAME].Constructor = Popover; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Popover._jQueryInterface; + }; + + return Popover; +}($); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-beta.2): scrollspy.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +var ScrollSpy = function () { + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + var NAME = 'scrollspy'; + var VERSION = '4.0.0-beta.2'; + var DATA_KEY = 'bs.scrollspy'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var Default = { + offset: 10, + method: 'auto', + target: '' + }; + var DefaultType = { + offset: 'number', + method: 'string', + target: '(string|element)' + }; + var Event = { + ACTIVATE: "activate" + EVENT_KEY, + SCROLL: "scroll" + EVENT_KEY, + LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + DROPDOWN_ITEM: 'dropdown-item', + DROPDOWN_MENU: 'dropdown-menu', + ACTIVE: 'active' + }; + var Selector = { + DATA_SPY: '[data-spy="scroll"]', + ACTIVE: '.active', + NAV_LIST_GROUP: '.nav, .list-group', + NAV_LINKS: '.nav-link', + NAV_ITEMS: '.nav-item', + LIST_ITEMS: '.list-group-item', + DROPDOWN: '.dropdown', + DROPDOWN_ITEMS: '.dropdown-item', + DROPDOWN_TOGGLE: '.dropdown-toggle' + }; + var OffsetMethod = { + OFFSET: 'offset', + POSITION: 'position' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var ScrollSpy = + /*#__PURE__*/ + function () { + function ScrollSpy(element, config) { + var _this = this; + + this._element = element; + this._scrollElement = element.tagName === 'BODY' ? window : element; + this._config = this._getConfig(config); + this._selector = this._config.target + " " + Selector.NAV_LINKS + "," + (this._config.target + " " + Selector.LIST_ITEMS + ",") + (this._config.target + " " + Selector.DROPDOWN_ITEMS); + this._offsets = []; + this._targets = []; + this._activeTarget = null; + this._scrollHeight = 0; + $(this._scrollElement).on(Event.SCROLL, function (event) { + return _this._process(event); + }); + this.refresh(); + + this._process(); + } // getters + + + var _proto = ScrollSpy.prototype; + + // public + _proto.refresh = function refresh() { + var _this2 = this; + + var autoMethod = this._scrollElement !== this._scrollElement.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET; + var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method; + var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0; + this._offsets = []; + this._targets = []; + this._scrollHeight = this._getScrollHeight(); + var targets = $.makeArray($(this._selector)); + targets.map(function (element) { + var target; + var targetSelector = Util.getSelectorFromElement(element); + + if (targetSelector) { + target = $(targetSelector)[0]; + } + + if (target) { + var targetBCR = target.getBoundingClientRect(); + + if (targetBCR.width || targetBCR.height) { + // todo (fat): remove sketch reliance on jQuery position/offset + return [$(target)[offsetMethod]().top + offsetBase, targetSelector]; + } + } + + return null; + }).filter(function (item) { + return item; + }).sort(function (a, b) { + return a[0] - b[0]; + }).forEach(function (item) { + _this2._offsets.push(item[0]); + + _this2._targets.push(item[1]); + }); + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY); + $(this._scrollElement).off(EVENT_KEY); + this._element = null; + this._scrollElement = null; + this._config = null; + this._selector = null; + this._offsets = null; + this._targets = null; + this._activeTarget = null; + this._scrollHeight = null; + }; // private + + + _proto._getConfig = function _getConfig(config) { + config = $.extend({}, Default, config); + + if (typeof config.target !== 'string') { + var id = $(config.target).attr('id'); + + if (!id) { + id = Util.getUID(NAME); + $(config.target).attr('id', id); + } + + config.target = "#" + id; + } + + Util.typeCheckConfig(NAME, config, DefaultType); + return config; + }; + + _proto._getScrollTop = function _getScrollTop() { + return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop; + }; + + _proto._getScrollHeight = function _getScrollHeight() { + return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight); + }; + + _proto._getOffsetHeight = function _getOffsetHeight() { + return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height; + }; + + _proto._process = function _process() { + var scrollTop = this._getScrollTop() + this._config.offset; + + var scrollHeight = this._getScrollHeight(); + + var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight(); + + if (this._scrollHeight !== scrollHeight) { + this.refresh(); + } + + if (scrollTop >= maxScroll) { + var target = this._targets[this._targets.length - 1]; + + if (this._activeTarget !== target) { + this._activate(target); + } + + return; + } + + if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) { + this._activeTarget = null; + + this._clear(); + + return; + } + + for (var i = this._offsets.length; i--;) { + var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]); + + if (isActiveTarget) { + this._activate(this._targets[i]); + } + } + }; + + _proto._activate = function _activate(target) { + this._activeTarget = target; + + this._clear(); + + var queries = this._selector.split(','); // eslint-disable-next-line arrow-body-style + + + queries = queries.map(function (selector) { + return selector + "[data-target=\"" + target + "\"]," + (selector + "[href=\"" + target + "\"]"); + }); + var $link = $(queries.join(',')); + + if ($link.hasClass(ClassName.DROPDOWN_ITEM)) { + $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE); + $link.addClass(ClassName.ACTIVE); + } else { + // Set triggered link as active + $link.addClass(ClassName.ACTIVE); // Set triggered links parents as active + // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor + + $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_LINKS + ", " + Selector.LIST_ITEMS).addClass(ClassName.ACTIVE); // Handle special case when .nav-link is inside .nav-item + + $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE); + } + + $(this._scrollElement).trigger(Event.ACTIVATE, { + relatedTarget: target + }); + }; + + _proto._clear = function _clear() { + $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE); + }; // static + + + ScrollSpy._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + + var _config = typeof config === 'object' && config; + + if (!data) { + data = new ScrollSpy(this, _config); + $(this).data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new Error("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + createClass(ScrollSpy, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }]); + return ScrollSpy; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(window).on(Event.LOAD_DATA_API, function () { + var scrollSpys = $.makeArray($(Selector.DATA_SPY)); + + for (var i = scrollSpys.length; i--;) { + var $spy = $(scrollSpys[i]); + + ScrollSpy._jQueryInterface.call($spy, $spy.data()); + } + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = ScrollSpy._jQueryInterface; + $.fn[NAME].Constructor = ScrollSpy; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return ScrollSpy._jQueryInterface; + }; + + return ScrollSpy; +}($); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-beta.2): tab.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +var Tab = function () { + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + var NAME = 'tab'; + var VERSION = '4.0.0-beta.2'; + var DATA_KEY = 'bs.tab'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var TRANSITION_DURATION = 150; + var Event = { + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + DROPDOWN_MENU: 'dropdown-menu', + ACTIVE: 'active', + DISABLED: 'disabled', + FADE: 'fade', + SHOW: 'show' + }; + var Selector = { + DROPDOWN: '.dropdown', + NAV_LIST_GROUP: '.nav, .list-group', + ACTIVE: '.active', + ACTIVE_UL: '> li > .active', + DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]', + DROPDOWN_TOGGLE: '.dropdown-toggle', + DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Tab = + /*#__PURE__*/ + function () { + function Tab(element) { + this._element = element; + } // getters + + + var _proto = Tab.prototype; + + // public + _proto.show = function show() { + var _this = this; + + if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE) || $(this._element).hasClass(ClassName.DISABLED)) { + return; + } + + var target; + var previous; + var listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]; + var selector = Util.getSelectorFromElement(this._element); + + if (listElement) { + var itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE; + previous = $.makeArray($(listElement).find(itemSelector)); + previous = previous[previous.length - 1]; + } + + var hideEvent = $.Event(Event.HIDE, { + relatedTarget: this._element + }); + var showEvent = $.Event(Event.SHOW, { + relatedTarget: previous + }); + + if (previous) { + $(previous).trigger(hideEvent); + } + + $(this._element).trigger(showEvent); + + if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) { + return; + } + + if (selector) { + target = $(selector)[0]; + } + + this._activate(this._element, listElement); + + var complete = function complete() { + var hiddenEvent = $.Event(Event.HIDDEN, { + relatedTarget: _this._element + }); + var shownEvent = $.Event(Event.SHOWN, { + relatedTarget: previous + }); + $(previous).trigger(hiddenEvent); + $(_this._element).trigger(shownEvent); + }; + + if (target) { + this._activate(target, target.parentNode, complete); + } else { + complete(); + } + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY); + this._element = null; + }; // private + + + _proto._activate = function _activate(element, container, callback) { + var _this2 = this; + + var activeElements; + + if (container.nodeName === 'UL') { + activeElements = $(container).find(Selector.ACTIVE_UL); + } else { + activeElements = $(container).children(Selector.ACTIVE); + } + + var active = activeElements[0]; + var isTransitioning = callback && Util.supportsTransitionEnd() && active && $(active).hasClass(ClassName.FADE); + + var complete = function complete() { + return _this2._transitionComplete(element, active, isTransitioning, callback); + }; + + if (active && isTransitioning) { + $(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION); + } else { + complete(); + } + + if (active) { + $(active).removeClass(ClassName.SHOW); + } + }; + + _proto._transitionComplete = function _transitionComplete(element, active, isTransitioning, callback) { + if (active) { + $(active).removeClass(ClassName.ACTIVE); + var dropdownChild = $(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0]; + + if (dropdownChild) { + $(dropdownChild).removeClass(ClassName.ACTIVE); + } + + if (active.getAttribute('role') === 'tab') { + active.setAttribute('aria-selected', false); + } + } + + $(element).addClass(ClassName.ACTIVE); + + if (element.getAttribute('role') === 'tab') { + element.setAttribute('aria-selected', true); + } + + if (isTransitioning) { + Util.reflow(element); + $(element).addClass(ClassName.SHOW); + } else { + $(element).removeClass(ClassName.FADE); + } + + if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) { + var dropdownElement = $(element).closest(Selector.DROPDOWN)[0]; + + if (dropdownElement) { + $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE); + } + + element.setAttribute('aria-expanded', true); + } + + if (callback) { + callback(); + } + }; // static + + + Tab._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var $this = $(this); + var data = $this.data(DATA_KEY); + + if (!data) { + data = new Tab(this); + $this.data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new Error("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + createClass(Tab, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }]); + return Tab; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { + event.preventDefault(); + + Tab._jQueryInterface.call($(this), 'show'); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Tab._jQueryInterface; + $.fn[NAME].Constructor = Tab; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Tab._jQueryInterface; + }; + + return Tab; +}($); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-alpha.6): index.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +(function () { + if (typeof $ === 'undefined') { + throw new Error('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.'); + } + + var version = $.fn.jquery.split(' ')[0].split('.'); + var minMajor = 1; + var ltMajor = 2; + var minMinor = 9; + var minPatch = 1; + var maxMajor = 4; + + if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) { + throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0'); + } +})($); + +exports.Util = Util; +exports.Alert = Alert; +exports.Button = Button; +exports.Carousel = Carousel; +exports.Collapse = Collapse; +exports.Dropdown = Dropdown; +exports.Modal = Modal; +exports.Popover = Popover; +exports.Scrollspy = ScrollSpy; +exports.Tab = Tab; +exports.Tooltip = Tooltip; + +return exports; + +}({},$)); +//# sourceMappingURL=bootstrap.bundle.js.map diff --git a/workspace/public/js/bootstrap.bundle.js.map b/workspace/public/js/bootstrap.bundle.js.map new file mode 100644 index 0000000..53c66d2 --- /dev/null +++ b/workspace/public/js/bootstrap.bundle.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bootstrap.bundle.js","sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/index.js"],"sourcesContent":["import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n let transition = false\n\n const MAX_UID = 1000000\n\n const TransitionEndEvent = {\n WebkitTransition : 'webkitTransitionEnd',\n MozTransition : 'transitionend',\n OTransition : 'oTransitionEnd otransitionend',\n transition : 'transitionend'\n }\n\n // shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-zA-Z]+)/)[1].toLowerCase()\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: transition.end,\n delegateType: transition.end,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n }\n\n function transitionEndTest() {\n if (window.QUnit) {\n return false\n }\n\n const el = document.createElement('bootstrap')\n\n for (const name in TransitionEndEvent) {\n if (typeof el.style[name] !== 'undefined') {\n return {\n end: TransitionEndEvent[name]\n }\n }\n }\n\n return false\n }\n\n function transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n }\n\n function setTransitionEndSupport() {\n transition = transitionEndTest()\n\n $.fn.emulateTransitionEnd = transitionEndEmulator\n\n if (Util.supportsTransitionEnd()) {\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n }\n }\n\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n const Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n if (!selector || selector === '#') {\n selector = element.getAttribute('href') || ''\n }\n\n try {\n const $selector = $(document).find(selector)\n return $selector.length > 0 ? selector : null\n } catch (error) {\n return null\n }\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(transition.end)\n },\n\n supportsTransitionEnd() {\n return Boolean(transition)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value) ?\n 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n }\n\n setTransitionEndSupport()\n\n return Util\n\n})($)\n\nexport default Util\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'alert'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.alert'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n\n const Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n }\n\n const Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Alert {\n\n constructor(element) {\n this._element = element\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n\n // public\n\n close(element) {\n element = element || this._element\n\n const rootElement = this._getRootElement(element)\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n\n // private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!Util.supportsTransitionEnd() ||\n !$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n )\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n }\n\n return Alert\n\n})($)\n\nexport default Alert\n","import $ from 'jquery'\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'button'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.button'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n }\n\n const Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n }\n\n const Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} `\n + `blur${EVENT_KEY}${DATA_API_KEY}`\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Button {\n\n constructor(element) {\n this._element = element\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n\n // public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = $(this._element).find(Selector.INPUT)[0]\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n $(this._element).hasClass(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n\n } else {\n const activeElement = $(rootElement).find(Selector.ACTIVE)[0]\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !$(this._element).hasClass(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !$(this._element).hasClass(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Button._jQueryInterface\n $.fn[NAME].Constructor = Button\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n }\n\n return Button\n\n})($)\n\nexport default Button\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.carousel'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 600\n const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\n const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\n const TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\n const Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true\n }\n\n const DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean'\n }\n\n const Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n }\n\n const Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item'\n }\n\n const Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n\n this._isPaused = false\n this._isSliding = false\n\n this.touchTimeout = null\n\n this._config = this._getConfig(config)\n this._element = $(element)[0]\n this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]\n\n this._addEventListeners()\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n\n // public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if ($(this._element).find(Selector.NEXT_PREV)[0] &&\n Util.supportsTransitionEnd()) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n Direction.NEXT :\n Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n if ('ontouchstart' in document.documentElement) {\n // if it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n $(this._element).on(Event.TOUCHEND, () => {\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n })\n }\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n return\n }\n }\n\n _getItemIndex(element) {\n this._items = $.makeArray($(element).parent().find(Selector.ITEM))\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0])\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n $(this._indicatorsElement)\n .find(Selector.ACTIVE)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.SLIDE)) {\n\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n\n })\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = $.extend({}, Default, $(this).data())\n\n if (typeof config === 'object') {\n $.extend(_config, config)\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new Error(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = $.extend({}, $(target).data(), $(this).data())\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n $(window).on(Event.LOAD_DATA_API, () => {\n $(Selector.DATA_RIDE).each(function () {\n const $carousel = $(this)\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n })\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n }\n\n return Carousel\n\n})($)\n\nexport default Carousel\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'collapse'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.collapse'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 600\n\n const Default = {\n toggle : true,\n parent : ''\n }\n\n const DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n }\n\n const Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n }\n\n const Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n }\n\n const Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Collapse {\n\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray($(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n const tabToggles = $(Selector.DATA_TOGGLE)\n for (let i = 0; i < tabToggles.length; i++) {\n const elem = tabToggles[i]\n const selector = Util.getSelectorFromElement(elem)\n if (selector !== null && $(selector).filter(element).length > 0) {\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n\n // public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = $.makeArray($(this._parent).children().children(Selector.ACTIVES))\n if (!actives.length) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n if (this._triggerArray.length) {\n for (let i = 0; i < this._triggerArray.length; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n if (selector !== null) {\n const $elem = $(selector)\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n config.toggle = Boolean(config.toggle) // coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent = null\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // it's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = $(this._config.parent)[0]\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n $(parent).find(selector).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n }\n\n\n // static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? $(selector)[0] : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = $.extend(\n {},\n Default,\n $this.data(),\n typeof config === 'object' && config\n )\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n $(selector).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Collapse._jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n }\n\n return Collapse\n\n})($)\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.12.5\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar nativeHints = ['native code', '[object MutationObserverConstructor]'];\n\n/**\n * Determine if a function is implemented natively (as opposed to a polyfill).\n * @method\n * @memberof Popper.Utils\n * @argument {Function | undefined} fn the function to check\n * @returns {Boolean}\n */\nvar isNative = (function (fn) {\n return nativeHints.some(function (hint) {\n return (fn || '').toString().indexOf(hint) > -1;\n });\n});\n\nvar isBrowser = typeof window !== 'undefined';\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var scheduled = false;\n var i = 0;\n var elem = document.createElement('span');\n\n // MutationObserver provides a mechanism for scheduling microtasks, which\n // are scheduled *before* the next task. This gives us a way to debounce\n // a function but ensure it's called *before* the next paint.\n var observer = new MutationObserver(function () {\n fn();\n scheduled = false;\n });\n\n observer.observe(elem, { attributes: true });\n\n return function () {\n if (!scheduled) {\n scheduled = true;\n elem.setAttribute('x-index', i);\n i = i + 1; // don't use compund (+=) because it doesn't get optimized in V8\n }\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\n// It's common for MutationObserver polyfills to be seen in the wild, however\n// these rely on Mutation Events which only occur when an element is connected\n// to the DOM. The algorithm used in this module does not use a connected element,\n// and so we must ensure that a *native* MutationObserver is available.\nvar supportsNativeMutationObserver = isBrowser && isNative(window.MutationObserver);\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsNativeMutationObserver ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element || ['HTML', 'BODY', '#document'].indexOf(element.nodeName) !== -1) {\n return window.document.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n // NOTE: 1 DOM access here\n var offsetParent = element && element.offsetParent;\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return window.document.documentElement;\n }\n\n // .offsetParent will return the closest TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return window.document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = window.document.documentElement;\n var scrollingElement = window.document.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return +styles['border' + sideA + 'Width'].split('px')[0] + +styles['border' + sideB + 'Width'].split('px')[0];\n}\n\n/**\n * Tells if you are running Internet Explorer 10\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean} isIE10\n */\nvar isIE10 = undefined;\n\nvar isIE10$1 = function () {\n if (isIE10 === undefined) {\n isIE10 = navigator.appVersion.indexOf('MSIE 10') !== -1;\n }\n return isIE10;\n};\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE10$1() ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);\n}\n\nfunction getWindowSizes() {\n var body = window.document.body;\n var html = window.document.documentElement;\n var computedStyle = isIE10$1() && window.getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n if (isIE10$1()) {\n try {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } catch (err) {}\n } else {\n rect = element.getBoundingClientRect();\n }\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var isIE10 = isIE10$1();\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = +styles.borderTopWidth.split('px')[0];\n var borderLeftWidth = +styles.borderLeftWidth.split('px')[0];\n\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = +styles.marginTop.split('px')[0];\n var marginLeft = +styles.marginLeft.split('px')[0];\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var html = window.document.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = getScroll(html);\n var scrollLeft = getScroll(html, 'left');\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n // NOTE: 1 DOM access here\n var boundaries = { top: 0, left: 0 };\n var offsetParent = findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(popper));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = window.document.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = window.document.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n boundaries.left += padding;\n boundaries.top += padding;\n boundaries.right -= padding;\n boundaries.bottom -= padding;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var commonOffsetParent = findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier.function) {\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier.function || modifier.fn;\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n data.offsets.popper.position = 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length - 1; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof window.document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.left = '';\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? window : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n window.addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n window.removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger onUpdate callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n window.cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n // floor sides to avoid blurry text\n var offsets = {\n left: Math.floor(popper.left),\n top: Math.floor(popper.top),\n bottom: Math.floor(popper.bottom),\n right: Math.floor(popper.right)\n };\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n top = -offsetParentRect.height + offsets.bottom;\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n left = -offsetParentRect.width + offsets.right;\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjuction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var popperMarginSide = getStyleComputedProperty(data.instance.popper, 'margin' + sideCapitalized).replace('px', '');\n var sideValue = center - getClientRect(data.offsets.popper)[side] - popperMarginSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = {};\n data.offsets.arrow[side] = Math.round(sideValue);\n data.offsets.arrow[altSide] = ''; // make sure to unset any eventual altSide value from the DOM node\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-right` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement);\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unitless, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the height.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * An scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper this makes sure the popper has always a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier, can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near eachothers\n * without leaving any gap between the two. Expecially useful when the arrow is\n * enabled and you want to assure it to point to its reference element.\n * It cares only about the first axis, you can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjuction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations).\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position,\n * the popper will never be placed outside of the defined boundaries\n * (except if keepTogether is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define you own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the informations used by Popper.js\n * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements.\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overriden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass as 3rd argument an object with the same\n * structure of this object, example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Whether events (resize, scroll) are initially enabled\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated, this callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Create a new Popper.js instance\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference.jquery ? reference[0] : reference;\n this.popper = popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedule an update, it will run on the next UI update available\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (() => {\n\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new Error('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n }\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\n const TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\n const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\n const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\n const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left'\n }\n\n const Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled)'\n }\n\n const AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end'\n }\n\n const Default = {\n offset : 0,\n flip : true\n }\n\n const DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Dropdown {\n\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget : this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n let element = this._element\n // for dropup with alignment we use the parent as popper container\n if ($(parent).hasClass(ClassName.DROPUP)) {\n if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {\n element = parent\n }\n }\n this._popper = new Popper(element, this._menu, this._getPopperConfig())\n\n // if this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !$(parent).closest(Selector.NAVBAR_NAV).length) {\n $('body').children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n this._popper = null\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = $.extend(\n {},\n this.constructor.Default,\n $(this._element).data(),\n config\n )\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n this._menu = $(parent).find(Selector.MENU)[0]\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element).parent()\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = $.extend({}, data.offsets, this._config.offset(data.offsets) || {})\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n const popperConfig = {\n placement : this._getPlacement(),\n modifiers : {\n offset : offsetConf,\n flip : {\n enabled : this._config.flip\n }\n }\n }\n\n // Disable Popper.js for Dropdown in Navbar\n if (this._inNavbar) {\n popperConfig.modifiers.applyStyle = {\n enabled: !this._inNavbar\n }\n }\n return popperConfig\n }\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = $.makeArray($(Selector.DATA_TOGGLE))\n for (let i = 0; i < toggles.length; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget : toggles[i]\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE)\n && $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // if this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $('body').children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n return parent || element.parentNode\n }\n\n static _dataApiKeydownHandler(event) {\n if (!REGEXP_KEYDOWN.test(event.which) || /button/i.test(event.target.tagName) && event.which === SPACE_KEYCODE ||\n /input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = $(parent).find(Selector.DATA_TOGGLE)[0]\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = $(parent).find(Selector.VISIBLE_ITEMS).get()\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n }\n\n return Dropdown\n\n})($, Popper)\n\nexport default Dropdown\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'modal'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.modal'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 300\n const BACKDROP_TRANSITION_DURATION = 150\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\n const Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n }\n\n const DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top',\n NAVBAR_TOGGLER : '.navbar-toggler'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Modal {\n\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = $(element).find(Selector.DIALOG)[0]\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._originalBodyPadding = 0\n this._scrollbarWidth = 0\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n\n // public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isTransitioning || this._isShown) {\n return\n }\n\n if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n $(document.body).addClass(ClassName.OPEN)\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (this._isTransitioning || !this._isShown) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n\n const transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n $(window, document, this._element, this._backdrop).off(EVENT_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // don't move modals dom position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n !$(this._element).has(event.target).length) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE) ?\n ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n const doAnimate = Util.supportsTransitionEnd() && animate\n\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n $(this._backdrop).addClass(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (doAnimate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!doAnimate) {\n callback()\n return\n }\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)) {\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n } else {\n callbackRemove()\n }\n\n } else if (callback) {\n callback()\n }\n }\n\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const actualPadding = $(element)[0].style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element).data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(Selector.STICKY_CONTENT).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust navbar-toggler margin\n $(Selector.NAVBAR_TOGGLER).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) + this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $('body').css('padding-right')\n $('body').data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const padding = $(element).data('padding-right')\n if (typeof padding !== 'undefined') {\n $(element).css('padding-right', padding).removeData('padding-right')\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n $(`${Selector.STICKY_CONTENT}, ${Selector.NAVBAR_TOGGLER}`).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $('body').data('padding-right')\n if (typeof padding !== 'undefined') {\n $('body').css('padding-right', padding).removeData('padding-right')\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n\n // static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = $.extend(\n {},\n Modal.Default,\n $(this).data(),\n typeof config === 'object' && config\n )\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = $(selector)[0]\n }\n\n const config = $(target).data(DATA_KEY) ?\n 'toggle' : $.extend({}, $(target).data(), $(this).data())\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Modal._jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n }\n\n return Modal\n\n})($)\n\nexport default Modal\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tooltip = (() => {\n\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new Error('Bootstrap tooltips require Popper.js (https://popper.js.org)')\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tooltip'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.tooltip'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n const CLASS_PREFIX = 'bs-tooltip'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)'\n }\n\n const AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n }\n\n const Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">'\n + '<div class=\"arrow\"></div>'\n + '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip'\n }\n\n const HoverState = {\n SHOW : 'show',\n OUT : 'out'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n }\n\n const Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tooltip {\n\n constructor(element, config) {\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n\n // public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n\n } else {\n\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate : (data) => {\n this._handlePopperPlacementChange(data)\n }\n })\n\n $(tip).addClass(ClassName.SHOW)\n\n // if this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $('body').children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(Tooltip._TRANSITION_DURATION)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // if this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $('body').children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (Util.supportsTransitionEnd() &&\n $(this.tip).hasClass(ClassName.FADE)) {\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n } else {\n complete()\n }\n\n this._hoverState = ''\n\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle())\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n\n // private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => this.hide()\n )\n })\n\n if (this.config.selector) {\n this.config = $.extend({}, this.config, {\n trigger : 'manual',\n selector : ''\n })\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n if (this.element.getAttribute('title') ||\n titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = $.extend(\n {},\n this.constructor.Default,\n $(this.element).data(),\n config\n )\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show : config.delay,\n hide : config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(data) {\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(data.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tooltip._jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n }\n\n return Tooltip\n\n})($, Popper)\n\nexport default Tooltip\n","import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'popover'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.popover'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-popover'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const Default = $.extend({}, Tooltip.Default, {\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">'\n + '<div class=\"arrow\"></div>'\n + '<h3 class=\"popover-header\"></h3>'\n + '<div class=\"popover-body\"></div></div>'\n })\n\n const DefaultType = $.extend({}, Tooltip.DefaultType, {\n content : '(string|element|function)'\n })\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Popover extends Tooltip {\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n\n // overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // we use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n this.setElementContent($tip.find(Selector.CONTENT), this._getContent())\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // private\n\n _getContent() {\n return this.element.getAttribute('data-content')\n || (typeof this.config.content === 'function' ?\n this.config.content.call(this.element) :\n this.config.content)\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /destroy|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Popover._jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n }\n\n return Popover\n\n})($)\n\nexport default Popover\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst ScrollSpy = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'scrollspy'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.scrollspy'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n offset : 10,\n method : 'auto',\n target : ''\n }\n\n const DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n }\n\n const Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n }\n\n const Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n }\n\n const OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class ScrollSpy {\n\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},`\n + `${this._config.target} ${Selector.LIST_ITEMS},`\n + `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n\n // public\n\n refresh() {\n const autoMethod = this._scrollElement !== this._scrollElement.window ?\n OffsetMethod.POSITION : OffsetMethod.OFFSET\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = $.makeArray($(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = $(targetSelector)[0]\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // todo (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset\n + scrollHeight\n - this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i]\n && scrollTop >= this._offsets[i]\n && (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n let queries = this._selector.split(',')\n // eslint-disable-next-line arrow-body-style\n queries = queries.map((selector) => {\n return `${selector}[data-target=\"${target}\"],` +\n `${selector}[href=\"${target}\"]`\n })\n\n const $link = $(queries.join(','))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE)\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = $.makeArray($(Selector.DATA_SPY))\n\n for (let i = scrollSpys.length; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = ScrollSpy._jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n }\n\n return ScrollSpy\n\n})($)\n\nexport default ScrollSpy\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tab = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tab'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.tab'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DROPDOWN : '.dropdown',\n NAV_LIST_GROUP : '.nav, .list-group',\n ACTIVE : '.active',\n ACTIVE_UL : '> li > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tab {\n\n constructor(element) {\n this._element = element\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n\n // public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = $(selector)[0]\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n\n // private\n\n _activate(element, container, callback) {\n let activeElements\n if (container.nodeName === 'UL') {\n activeElements = $(container).find(Selector.ACTIVE_UL)\n } else {\n activeElements = $(container).children(Selector.ACTIVE)\n }\n\n const active = activeElements[0]\n const isTransitioning = callback\n && Util.supportsTransitionEnd()\n && (active && $(active).hasClass(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n isTransitioning,\n callback\n )\n\n if (active && isTransitioning) {\n $(active)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n } else {\n complete()\n }\n\n if (active) {\n $(active).removeClass(ClassName.SHOW)\n }\n }\n\n _transitionComplete(element, active, isTransitioning, callback) {\n if (active) {\n $(active).removeClass(ClassName.ACTIVE)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n if (isTransitioning) {\n Util.reflow(element)\n $(element).addClass(ClassName.SHOW)\n } else {\n $(element).removeClass(ClassName.FADE)\n }\n\n if (element.parentNode &&\n $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n if (dropdownElement) {\n $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tab._jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n }\n\n return Tab\n\n})($)\n\nexport default Tab\n","import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(() => {\n if (typeof $ === 'undefined') {\n throw new Error('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n})($)\n\nexport {\n Util,\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n Scrollspy,\n Tab,\n Tooltip\n}\n"],"names":["Util","transition","MAX_UID","TransitionEndEvent","toType","obj","toString","call","match","toLowerCase","getSpecialTransitionEndEvent","end","event","$","target","is","handleObj","handler","apply","arguments","undefined","transitionEndTest","window","QUnit","el","document","createElement","name","style","transitionEndEmulator","duration","called","one","TRANSITION_END","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","supportsTransitionEnd","special","prefix","Math","random","getElementById","element","selector","getAttribute","$selector","find","length","error","offsetHeight","trigger","Boolean","nodeType","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","isElement","RegExp","test","Error","toUpperCase","Alert","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","TRANSITION_DURATION","Selector","Event","ClassName","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","getSelectorFromElement","parent","closest","ALERT","closeEvent","CLOSE","removeClass","SHOW","hasClass","FADE","_destroyElement","detach","CLOSED","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","CLICK_DATA_API","DISMISS","Constructor","noConflict","Button","toggle","triggerChangeEvent","addAriaPressed","DATA_TOGGLE","input","INPUT","type","checked","ACTIVE","activeElement","hasAttribute","classList","contains","focus","setAttribute","toggleClass","DATA_TOGGLE_CARROT","button","BUTTON","FOCUS_BLUR_DATA_API","FOCUS","Carousel","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","Default","DefaultType","Direction","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","_config","_getConfig","_indicatorsElement","INDICATORS","_addEventListeners","next","_slide","NEXT","nextWhenVisible","hidden","css","prev","PREV","pause","NEXT_PREV","cycle","interval","setInterval","visibilityState","bind","to","index","ACTIVE_ITEM","activeIndex","_getItemIndex","SLID","direction","off","extend","typeCheckConfig","keyboard","KEYDOWN","_keydown","MOUSEENTER","MOUSELEAVE","documentElement","TOUCHEND","setTimeout","tagName","which","makeArray","ITEM","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","wrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","SLIDE","_setActiveIndicatorElement","nextIndicator","children","addClass","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","LEFT","RIGHT","slidEvent","reflow","action","slide","_dataApiClickHandler","CAROUSEL","slideIndex","DATA_SLIDE","LOAD_DATA_API","DATA_RIDE","$carousel","Collapse","Dimension","_isTransitioning","_triggerArray","id","tabToggles","i","elem","filter","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","ACTIVES","startEvent","dimension","_getDimension","COLLAPSE","COLLAPSING","COLLAPSED","attr","setTransitioning","complete","SHOWN","capitalizedDimension","slice","scrollSize","HIDE","getBoundingClientRect","$elem","HIDDEN","isTransitioning","hasWidth","WIDTH","HEIGHT","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","$target","createClass","_extends","Dropdown","Popper","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","AttachmentMap","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","DISABLED","_getParentFromElement","isActive","_clearMenus","showEvent","DROPUP","MENULEFT","MENURIGHT","_getPopperConfig","NAVBAR_NAV","noop","destroy","update","scheduleUpdate","CLICK","stopPropagation","constructor","MENU","_getPlacement","$parentDropdown","placement","BOTTOM","TOP","TOPEND","BOTTOMEND","offsetConf","offset","offsets","popperConfig","flip","modifiers","applyStyle","toggles","context","dropdownMenu","hideEvent","parentNode","_dataApiKeydownHandler","items","VISIBLE_ITEMS","get","KEYDOWN_DATA_API","KEYUP_DATA_API","FORM_CHILD","e","Modal","BACKDROP_TRANSITION_DURATION","_dialog","DIALOG","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_originalBodyPadding","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","body","OPEN","_setEscapeEvent","_setResizeEvent","CLICK_DISMISS","DATA_DISMISS","MOUSEDOWN_DISMISS","MOUSEUP_DISMISS","_showBackdrop","_showElement","FOCUSIN","_hideModal","handleUpdate","Node","ELEMENT_NODE","appendChild","display","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","has","KEYDOWN_DISMISS","RESIZE","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","backdrop","doAnimate","className","BACKDROP","appendTo","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","left","right","innerWidth","_getScrollbarWidth","FIXED_CONTENT","actualPadding","calculatedPadding","parseFloat","STICKY_CONTENT","actualMargin","marginRight","calculatedMargin","NAVBAR_TOGGLER","padding","margin","scrollDiv","SCROLLBAR_MEASURER","scrollbarWidth","width","clientWidth","removeChild","Tooltip","CLASS_PREFIX","BSCLS_PREFIX_REGEX","HoverState","Trigger","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","isInTheDom","ownerDocument","tipId","getUID","setContent","animation","attachment","_getAttachment","addAttachmentClass","container","INSERTED","fallbackPlacement","ARROW","originalPlacement","_handlePopperPlacementChange","_fixTransition","prevHoverState","OUT","_TRANSITION_DURATION","_cleanTipClass","HOVER","getTitle","template","$tip","setElementContent","TOOLTIP_INNER","content","html","empty","append","text","title","triggers","split","forEach","MANUAL","eventIn","eventOut","FOCUSOUT","_fixTitle","titleType","delay","key","tabClass","join","initConfigAnimation","Popover","_getContent","TITLE","CONTENT","ScrollSpy","OffsetMethod","_scrollElement","_selector","NAV_LINKS","LIST_ITEMS","DROPDOWN_ITEMS","_offsets","_targets","_activeTarget","_scrollHeight","SCROLL","_process","refresh","autoMethod","POSITION","OFFSET","offsetMethod","method","offsetBase","_getScrollTop","_getScrollHeight","targets","map","targetSelector","targetBCR","height","top","item","sort","a","b","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","isActiveTarget","queries","$link","DROPDOWN_ITEM","DROPDOWN","DROPDOWN_TOGGLE","parents","NAV_LIST_GROUP","NAV_ITEMS","ACTIVATE","scrollSpys","DATA_SPY","$spy","Tab","previous","listElement","itemSelector","nodeName","ACTIVE_UL","hiddenEvent","activeElements","active","_transitionComplete","dropdownChild","DROPDOWN_ACTIVE_CHILD","DROPDOWN_MENU","dropdownElement","version","minMajor","ltMajor","minMinor","minPatch","maxMajor"],"mappings":"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"} \ No newline at end of file diff --git a/workspace/public/js/bootstrap.bundle.min.js b/workspace/public/js/bootstrap.bundle.min.js new file mode 100644 index 0000000..6342466 --- /dev/null +++ b/workspace/public/js/bootstrap.bundle.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v4.0.0-beta.2 (https://getbootstrap.com) + * Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +var bootstrap=function(t,e){"use strict";function n(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function i(t){return t&&"[object Function]"==={}.toString.call(t)}function r(t,e){if(1!==t.nodeType)return[];var n=window.getComputedStyle(t,null);return e?n[e]:n}function o(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function s(t){if(!t||-1!==["HTML","BODY","#document"].indexOf(t.nodeName))return window.document.body;var e=r(t),n=e.overflow,i=e.overflowX;return/(auto|scroll)/.test(n+e.overflowY+i)?t:s(o(t))}function a(t){var e=t&&t.offsetParent,n=e&&e.nodeName;return n&&"BODY"!==n&&"HTML"!==n?-1!==["TD","TABLE"].indexOf(e.nodeName)&&"static"===r(e,"position")?a(e):e:window.document.documentElement}function l(t){var e=t.nodeName;return"BODY"!==e&&("HTML"===e||a(t.firstElementChild)===t)}function c(t){return null!==t.parentNode?c(t.parentNode):t}function f(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return window.document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?t:e,r=n?e:t,o=document.createRange();o.setStart(i,0),o.setEnd(r,0);var s=o.commonAncestorContainer;if(t!==s&&e!==s||i.contains(r))return l(s)?s:a(s);var h=c(t);return h.host?f(h.host,e):f(t,c(e).host)}function h(t){var e="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=t.nodeName;if("BODY"===n||"HTML"===n){var i=window.document.documentElement;return(window.document.scrollingElement||i)[e]}return t[e]}function u(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=h(e,"top"),r=h(e,"left"),o=n?-1:1;return t.top+=i*o,t.bottom+=i*o,t.left+=r*o,t.right+=r*o,t}function d(t,e){var n="x"===e?"Left":"Top",i="Left"===n?"Right":"Bottom";return+t["border"+n+"Width"].split("px")[0]+ +t["border"+i+"Width"].split("px")[0]}function p(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],lt()?n["offset"+t]+i["margin"+("Height"===t?"Top":"Left")]+i["margin"+("Height"===t?"Bottom":"Right")]:0)}function g(){var t=window.document.body,e=window.document.documentElement,n=lt()&&window.getComputedStyle(e);return{height:p("Height",t,e,n),width:p("Width",t,e,n)}}function m(t){return ut({},t,{right:t.left+t.width,bottom:t.top+t.height})}function _(t){var e={};if(lt())try{e=t.getBoundingClientRect();var n=h(t,"top"),i=h(t,"left");e.top+=n,e.left+=i,e.bottom+=n,e.right+=i}catch(t){}else e=t.getBoundingClientRect();var o={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},s="HTML"===t.nodeName?g():{},a=s.width||t.clientWidth||o.right-o.left,l=s.height||t.clientHeight||o.bottom-o.top,c=t.offsetWidth-a,f=t.offsetHeight-l;if(c||f){var u=r(t);c-=d(u,"x"),f-=d(u,"y"),o.width-=c,o.height-=f}return m(o)}function v(t,e){var n=lt(),i="HTML"===e.nodeName,o=_(t),a=_(e),l=s(t),c=r(e),f=+c.borderTopWidth.split("px")[0],h=+c.borderLeftWidth.split("px")[0],d=m({top:o.top-a.top-f,left:o.left-a.left-h,width:o.width,height:o.height});if(d.marginTop=0,d.marginLeft=0,!n&&i){var p=+c.marginTop.split("px")[0],g=+c.marginLeft.split("px")[0];d.top-=f-p,d.bottom-=f-p,d.left-=h-g,d.right-=h-g,d.marginTop=p,d.marginLeft=g}return(n?e.contains(l):e===l&&"BODY"!==l.nodeName)&&(d=u(d,e)),d}function E(t){var e=window.document.documentElement,n=v(t,e),i=Math.max(e.clientWidth,window.innerWidth||0),r=Math.max(e.clientHeight,window.innerHeight||0),o=h(e),s=h(e,"left");return m({top:o-n.top+n.marginTop,left:s-n.left+n.marginLeft,width:i,height:r})}function T(t){var e=t.nodeName;return"BODY"!==e&&"HTML"!==e&&("fixed"===r(t,"position")||T(o(t)))}function b(t,e,n,i){var r={top:0,left:0},a=f(t,e);if("viewport"===i)r=E(a);else{var l=void 0;"scrollParent"===i?"BODY"===(l=s(o(t))).nodeName&&(l=window.document.documentElement):l="window"===i?window.document.documentElement:i;var c=v(l,a);if("HTML"!==l.nodeName||T(a))r=c;else{var h=g(),u=h.height,d=h.width;r.top+=c.top-c.marginTop,r.bottom=u+c.top,r.left+=c.left-c.marginLeft,r.right=d+c.left}}return r.left+=n,r.top+=n,r.right-=n,r.bottom-=n,r}function C(t){return t.width*t.height}function A(t,e,n,i,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var s=b(n,i,o,r),a={top:{width:s.width,height:e.top-s.top},right:{width:s.right-e.right,height:s.height},bottom:{width:s.width,height:s.bottom-e.bottom},left:{width:e.left-s.left,height:s.height}},l=Object.keys(a).map(function(t){return ut({key:t},a[t],{area:C(a[t])})}).sort(function(t,e){return e.area-t.area}),c=l.filter(function(t){var e=t.width,i=t.height;return e>=n.clientWidth&&i>=n.clientHeight}),f=c.length>0?c[0].key:l[0].key,h=t.split("-")[1];return f+(h?"-"+h:"")}function I(t,e,n){return v(n,f(e,n))}function O(t){var e=window.getComputedStyle(t),n=parseFloat(e.marginTop)+parseFloat(e.marginBottom),i=parseFloat(e.marginLeft)+parseFloat(e.marginRight);return{width:t.offsetWidth+i,height:t.offsetHeight+n}}function y(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,function(t){return e[t]})}function D(t,e,n){n=n.split("-")[0];var i=O(t),r={width:i.width,height:i.height},o=-1!==["right","left"].indexOf(n),s=o?"top":"left",a=o?"left":"top",l=o?"height":"width",c=o?"width":"height";return r[s]=e[s]+e[l]/2-i[l]/2,r[a]=n===a?e[a]-i[c]:e[y(a)],r}function S(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function w(t,e,n){if(Array.prototype.findIndex)return t.findIndex(function(t){return t[e]===n});var i=S(t,function(t){return t[e]===n});return t.indexOf(i)}function N(t,e,n){return(void 0===n?t:t.slice(0,w(t,"name",n))).forEach(function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=t.function||t.fn;t.enabled&&i(n)&&(e.offsets.popper=m(e.offsets.popper),e.offsets.reference=m(e.offsets.reference),e=n(e,t))}),e}function L(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=I(this.state,this.popper,this.reference),t.placement=A(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.offsets.popper=D(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position="absolute",t=N(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}function P(t,e){return t.some(function(t){var n=t.name;return t.enabled&&n===e})}function R(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),i=0;i<e.length-1;i++){var r=e[i],o=r?""+r+n:t;if("undefined"!=typeof window.document.body.style[o])return o}return null}function H(){return this.state.isDestroyed=!0,P(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.left="",this.popper.style.position="",this.popper.style.top="",this.popper.style[R("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function k(t,e,n,i){var r="BODY"===t.nodeName,o=r?window:t;o.addEventListener(e,n,{passive:!0}),r||k(s(o.parentNode),e,n,i),i.push(o)}function W(t,e,n,i){n.updateBound=i,window.addEventListener("resize",n.updateBound,{passive:!0});var r=s(t);return k(r,"scroll",n.updateBound,n.scrollParents),n.scrollElement=r,n.eventsEnabled=!0,n}function x(){this.state.eventsEnabled||(this.state=W(this.reference,this.options,this.state,this.scheduleUpdate))}function M(t,e){return window.removeEventListener("resize",e.updateBound),e.scrollParents.forEach(function(t){t.removeEventListener("scroll",e.updateBound)}),e.updateBound=null,e.scrollParents=[],e.scrollElement=null,e.eventsEnabled=!1,e}function U(){this.state.eventsEnabled&&(window.cancelAnimationFrame(this.scheduleUpdate),this.state=M(this.reference,this.state))}function V(t){return""!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function F(t,e){Object.keys(e).forEach(function(n){var i="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&V(e[n])&&(i="px"),t.style[n]=e[n]+i})}function j(t,e){Object.keys(e).forEach(function(n){!1!==e[n]?t.setAttribute(n,e[n]):t.removeAttribute(n)})}function B(t,e,n){var i=S(t,function(t){return t.name===e}),r=!!i&&t.some(function(t){return t.name===n&&t.enabled&&t.order<i.order});if(!r){var o="`"+e+"`",s="`"+n+"`";console.warn(s+" modifier is required by "+o+" modifier in order to work, be sure to include it before "+o+"!")}return r}function G(t){return"end"===t?"start":"start"===t?"end":t}function K(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=pt.indexOf(t),i=pt.slice(n+1).concat(pt.slice(0,n));return e?i.reverse():i}function Q(t,e,n,i){var r=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),o=+r[1],s=r[2];if(!o)return t;if(0===s.indexOf("%")){var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=i}return m(a)[e]/100*o}if("vh"===s||"vw"===s){return("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*o}return o}function Y(t,e,n,i){var r=[0,0],o=-1!==["right","left"].indexOf(i),s=t.split(/(\+|\-)/).map(function(t){return t.trim()}),a=s.indexOf(S(s,function(t){return-1!==t.search(/,|\s/)}));s[a]&&-1===s[a].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==a?[s.slice(0,a).concat([s[a].split(l)[0]]),[s[a].split(l)[1]].concat(s.slice(a+1))]:[s];return(c=c.map(function(t,i){var r=(1===i?!o:o)?"height":"width",s=!1;return t.reduce(function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,s=!0,t):s?(t[t.length-1]+=e,s=!1,t):t.concat(e)},[]).map(function(t){return Q(t,r,e,n)})})).forEach(function(t,e){t.forEach(function(n,i){V(n)&&(r[e]+=n*("-"===t[i-1]?-1:1))})}),r}e=e&&e.hasOwnProperty("default")?e.default:e;for(var X=function(){function t(t){return{}.toString.call(t).match(/\s([a-zA-Z]+)/)[1].toLowerCase()}function n(){return{bindType:o.end,delegateType:o.end,handle:function(t){if(e(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}}}function i(){if(window.QUnit)return!1;var t=document.createElement("bootstrap");for(var e in s)if("undefined"!=typeof t.style[e])return{end:s[e]};return!1}function r(t){var n=this,i=!1;return e(this).one(a.TRANSITION_END,function(){i=!0}),setTimeout(function(){i||a.triggerTransitionEnd(n)},t),this}var o=!1,s={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},a={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},getSelectorFromElement:function(t){var n=t.getAttribute("data-target");n&&"#"!==n||(n=t.getAttribute("href")||"");try{return e(document).find(n).length>0?n:null}catch(t){return null}},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){e(t).trigger(o.end)},supportsTransitionEnd:function(){return Boolean(o)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(e,n,i){for(var r in i)if(Object.prototype.hasOwnProperty.call(i,r)){var o=i[r],s=n[r],l=s&&a.isElement(s)?"element":t(s);if(!new RegExp(o).test(l))throw new Error(e.toUpperCase()+': Option "'+r+'" provided type "'+l+'" but expected type "'+o+'".')}}};return o=i(),e.fn.emulateTransitionEnd=r,a.supportsTransitionEnd()&&(e.event.special[a.TRANSITION_END]=n()),a}(),q=function(t,e,i){return e&&n(t.prototype,e),i&&n(t,i),t},z=function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e},Z=function(){var t="alert",n=e.fn[t],i={CLOSE:"close.bs.alert",CLOSED:"closed.bs.alert",CLICK_DATA_API:"click.bs.alert.data-api"},r={ALERT:"alert",FADE:"fade",SHOW:"show"},o=function(){function t(t){this._element=t}var n=t.prototype;return n.close=function(t){t=t||this._element;var e=this._getRootElement(t);this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},n.dispose=function(){e.removeData(this._element,"bs.alert"),this._element=null},n._getRootElement=function(t){var n=X.getSelectorFromElement(t),i=!1;return n&&(i=e(n)[0]),i||(i=e(t).closest("."+r.ALERT)[0]),i},n._triggerCloseEvent=function(t){var n=e.Event(i.CLOSE);return e(t).trigger(n),n},n._removeElement=function(t){var n=this;e(t).removeClass(r.SHOW),X.supportsTransitionEnd()&&e(t).hasClass(r.FADE)?e(t).one(X.TRANSITION_END,function(e){return n._destroyElement(t,e)}).emulateTransitionEnd(150):this._destroyElement(t)},n._destroyElement=function(t){e(t).detach().trigger(i.CLOSED).remove()},t._jQueryInterface=function(n){return this.each(function(){var i=e(this),r=i.data("bs.alert");r||(r=new t(this),i.data("bs.alert",r)),"close"===n&&r[n](this)})},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},q(t,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}}]),t}();return e(document).on(i.CLICK_DATA_API,{DISMISS:'[data-dismiss="alert"]'}.DISMISS,o._handleDismiss(new o)),e.fn[t]=o._jQueryInterface,e.fn[t].Constructor=o,e.fn[t].noConflict=function(){return e.fn[t]=n,o._jQueryInterface},o}(),J=function(){var t="button",n=e.fn[t],i={ACTIVE:"active",BUTTON:"btn",FOCUS:"focus"},r={DATA_TOGGLE_CARROT:'[data-toggle^="button"]',DATA_TOGGLE:'[data-toggle="buttons"]',INPUT:"input",ACTIVE:".active",BUTTON:".btn"},o={CLICK_DATA_API:"click.bs.button.data-api",FOCUS_BLUR_DATA_API:"focus.bs.button.data-api blur.bs.button.data-api"},s=function(){function t(t){this._element=t}var n=t.prototype;return n.toggle=function(){var t=!0,n=!0,o=e(this._element).closest(r.DATA_TOGGLE)[0];if(o){var s=e(this._element).find(r.INPUT)[0];if(s){if("radio"===s.type)if(s.checked&&e(this._element).hasClass(i.ACTIVE))t=!1;else{var a=e(o).find(r.ACTIVE)[0];a&&e(a).removeClass(i.ACTIVE)}if(t){if(s.hasAttribute("disabled")||o.hasAttribute("disabled")||s.classList.contains("disabled")||o.classList.contains("disabled"))return;s.checked=!e(this._element).hasClass(i.ACTIVE),e(s).trigger("change")}s.focus(),n=!1}}n&&this._element.setAttribute("aria-pressed",!e(this._element).hasClass(i.ACTIVE)),t&&e(this._element).toggleClass(i.ACTIVE)},n.dispose=function(){e.removeData(this._element,"bs.button"),this._element=null},t._jQueryInterface=function(n){return this.each(function(){var i=e(this).data("bs.button");i||(i=new t(this),e(this).data("bs.button",i)),"toggle"===n&&i[n]()})},q(t,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}}]),t}();return e(document).on(o.CLICK_DATA_API,r.DATA_TOGGLE_CARROT,function(t){t.preventDefault();var n=t.target;e(n).hasClass(i.BUTTON)||(n=e(n).closest(r.BUTTON)),s._jQueryInterface.call(e(n),"toggle")}).on(o.FOCUS_BLUR_DATA_API,r.DATA_TOGGLE_CARROT,function(t){var n=e(t.target).closest(r.BUTTON)[0];e(n).toggleClass(i.FOCUS,/^focus(in)?$/.test(t.type))}),e.fn[t]=s._jQueryInterface,e.fn[t].Constructor=s,e.fn[t].noConflict=function(){return e.fn[t]=n,s._jQueryInterface},s}(),$=function(){var t="carousel",n="bs.carousel",i="."+n,r=e.fn[t],o={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},s={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},a={NEXT:"next",PREV:"prev",LEFT:"left",RIGHT:"right"},l={SLIDE:"slide"+i,SLID:"slid"+i,KEYDOWN:"keydown"+i,MOUSEENTER:"mouseenter"+i,MOUSELEAVE:"mouseleave"+i,TOUCHEND:"touchend"+i,LOAD_DATA_API:"load.bs.carousel.data-api",CLICK_DATA_API:"click.bs.carousel.data-api"},c={CAROUSEL:"carousel",ACTIVE:"active",SLIDE:"slide",RIGHT:"carousel-item-right",LEFT:"carousel-item-left",NEXT:"carousel-item-next",PREV:"carousel-item-prev",ITEM:"carousel-item"},f={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},h=function(){function r(t,n){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this._config=this._getConfig(n),this._element=e(t)[0],this._indicatorsElement=e(this._element).find(f.INDICATORS)[0],this._addEventListeners()}var h=r.prototype;return h.next=function(){this._isSliding||this._slide(a.NEXT)},h.nextWhenVisible=function(){!document.hidden&&e(this._element).is(":visible")&&"hidden"!==e(this._element).css("visibility")&&this.next()},h.prev=function(){this._isSliding||this._slide(a.PREV)},h.pause=function(t){t||(this._isPaused=!0),e(this._element).find(f.NEXT_PREV)[0]&&X.supportsTransitionEnd()&&(X.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},h.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},h.to=function(t){var n=this;this._activeElement=e(this._element).find(f.ACTIVE_ITEM)[0];var i=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)e(this._element).one(l.SLID,function(){return n.to(t)});else{if(i===t)return this.pause(),void this.cycle();var r=t>i?a.NEXT:a.PREV;this._slide(r,this._items[t])}},h.dispose=function(){e(this._element).off(i),e.removeData(this._element,n),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},h._getConfig=function(n){return n=e.extend({},o,n),X.typeCheckConfig(t,n,s),n},h._addEventListeners=function(){var t=this;this._config.keyboard&&e(this._element).on(l.KEYDOWN,function(e){return t._keydown(e)}),"hover"===this._config.pause&&(e(this._element).on(l.MOUSEENTER,function(e){return t.pause(e)}).on(l.MOUSELEAVE,function(e){return t.cycle(e)}),"ontouchstart"in document.documentElement&&e(this._element).on(l.TOUCHEND,function(){t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout(function(e){return t.cycle(e)},500+t._config.interval)}))},h._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next();break;default:return}},h._getItemIndex=function(t){return this._items=e.makeArray(e(t).parent().find(f.ITEM)),this._items.indexOf(t)},h._getItemByDirection=function(t,e){var n=t===a.NEXT,i=t===a.PREV,r=this._getItemIndex(e),o=this._items.length-1;if((i&&0===r||n&&r===o)&&!this._config.wrap)return e;var s=(r+(t===a.PREV?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},h._triggerSlideEvent=function(t,n){var i=this._getItemIndex(t),r=this._getItemIndex(e(this._element).find(f.ACTIVE_ITEM)[0]),o=e.Event(l.SLIDE,{relatedTarget:t,direction:n,from:r,to:i});return e(this._element).trigger(o),o},h._setActiveIndicatorElement=function(t){if(this._indicatorsElement){e(this._indicatorsElement).find(f.ACTIVE).removeClass(c.ACTIVE);var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&e(n).addClass(c.ACTIVE)}},h._slide=function(t,n){var i,r,o,s=this,h=e(this._element).find(f.ACTIVE_ITEM)[0],u=this._getItemIndex(h),d=n||h&&this._getItemByDirection(t,h),p=this._getItemIndex(d),g=Boolean(this._interval);if(t===a.NEXT?(i=c.LEFT,r=c.NEXT,o=a.LEFT):(i=c.RIGHT,r=c.PREV,o=a.RIGHT),d&&e(d).hasClass(c.ACTIVE))this._isSliding=!1;else if(!this._triggerSlideEvent(d,o).isDefaultPrevented()&&h&&d){this._isSliding=!0,g&&this.pause(),this._setActiveIndicatorElement(d);var m=e.Event(l.SLID,{relatedTarget:d,direction:o,from:u,to:p});X.supportsTransitionEnd()&&e(this._element).hasClass(c.SLIDE)?(e(d).addClass(r),X.reflow(d),e(h).addClass(i),e(d).addClass(i),e(h).one(X.TRANSITION_END,function(){e(d).removeClass(i+" "+r).addClass(c.ACTIVE),e(h).removeClass(c.ACTIVE+" "+r+" "+i),s._isSliding=!1,setTimeout(function(){return e(s._element).trigger(m)},0)}).emulateTransitionEnd(600)):(e(h).removeClass(c.ACTIVE),e(d).addClass(c.ACTIVE),this._isSliding=!1,e(this._element).trigger(m)),g&&this.cycle()}},r._jQueryInterface=function(t){return this.each(function(){var i=e(this).data(n),s=e.extend({},o,e(this).data());"object"==typeof t&&e.extend(s,t);var a="string"==typeof t?t:s.slide;if(i||(i=new r(this,s),e(this).data(n,i)),"number"==typeof t)i.to(t);else if("string"==typeof a){if("undefined"==typeof i[a])throw new Error('No method named "'+a+'"');i[a]()}else s.interval&&(i.pause(),i.cycle())})},r._dataApiClickHandler=function(t){var i=X.getSelectorFromElement(this);if(i){var o=e(i)[0];if(o&&e(o).hasClass(c.CAROUSEL)){var s=e.extend({},e(o).data(),e(this).data()),a=this.getAttribute("data-slide-to");a&&(s.interval=!1),r._jQueryInterface.call(e(o),s),a&&e(o).data(n).to(a),t.preventDefault()}}},q(r,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}},{key:"Default",get:function(){return o}}]),r}();return e(document).on(l.CLICK_DATA_API,f.DATA_SLIDE,h._dataApiClickHandler),e(window).on(l.LOAD_DATA_API,function(){e(f.DATA_RIDE).each(function(){var t=e(this);h._jQueryInterface.call(t,t.data())})}),e.fn[t]=h._jQueryInterface,e.fn[t].Constructor=h,e.fn[t].noConflict=function(){return e.fn[t]=r,h._jQueryInterface},h}(),tt=function(){var t="collapse",n="bs.collapse",i=e.fn[t],r={toggle:!0,parent:""},o={toggle:"boolean",parent:"(string|element)"},s={SHOW:"show.bs.collapse",SHOWN:"shown.bs.collapse",HIDE:"hide.bs.collapse",HIDDEN:"hidden.bs.collapse",CLICK_DATA_API:"click.bs.collapse.data-api"},a={SHOW:"show",COLLAPSE:"collapse",COLLAPSING:"collapsing",COLLAPSED:"collapsed"},l={WIDTH:"width",HEIGHT:"height"},c={ACTIVES:".show, .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},f=function(){function i(t,n){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(n),this._triggerArray=e.makeArray(e('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'));for(var i=e(c.DATA_TOGGLE),r=0;r<i.length;r++){var o=i[r],s=X.getSelectorFromElement(o);null!==s&&e(s).filter(t).length>0&&this._triggerArray.push(o)}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var f=i.prototype;return f.toggle=function(){e(this._element).hasClass(a.SHOW)?this.hide():this.show()},f.show=function(){var t=this;if(!this._isTransitioning&&!e(this._element).hasClass(a.SHOW)){var r,o;if(this._parent&&((r=e.makeArray(e(this._parent).children().children(c.ACTIVES))).length||(r=null)),!(r&&(o=e(r).data(n))&&o._isTransitioning)){var l=e.Event(s.SHOW);if(e(this._element).trigger(l),!l.isDefaultPrevented()){r&&(i._jQueryInterface.call(e(r),"hide"),o||e(r).data(n,null));var f=this._getDimension();e(this._element).removeClass(a.COLLAPSE).addClass(a.COLLAPSING),this._element.style[f]=0,this._triggerArray.length&&e(this._triggerArray).removeClass(a.COLLAPSED).attr("aria-expanded",!0),this.setTransitioning(!0);var h=function(){e(t._element).removeClass(a.COLLAPSING).addClass(a.COLLAPSE).addClass(a.SHOW),t._element.style[f]="",t.setTransitioning(!1),e(t._element).trigger(s.SHOWN)};if(X.supportsTransitionEnd()){var u="scroll"+(f[0].toUpperCase()+f.slice(1));e(this._element).one(X.TRANSITION_END,h).emulateTransitionEnd(600),this._element.style[f]=this._element[u]+"px"}else h()}}}},f.hide=function(){var t=this;if(!this._isTransitioning&&e(this._element).hasClass(a.SHOW)){var n=e.Event(s.HIDE);if(e(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension();if(this._element.style[i]=this._element.getBoundingClientRect()[i]+"px",X.reflow(this._element),e(this._element).addClass(a.COLLAPSING).removeClass(a.COLLAPSE).removeClass(a.SHOW),this._triggerArray.length)for(var r=0;r<this._triggerArray.length;r++){var o=this._triggerArray[r],l=X.getSelectorFromElement(o);null!==l&&(e(l).hasClass(a.SHOW)||e(o).addClass(a.COLLAPSED).attr("aria-expanded",!1))}this.setTransitioning(!0);var c=function(){t.setTransitioning(!1),e(t._element).removeClass(a.COLLAPSING).addClass(a.COLLAPSE).trigger(s.HIDDEN)};this._element.style[i]="",X.supportsTransitionEnd()?e(this._element).one(X.TRANSITION_END,c).emulateTransitionEnd(600):c()}}},f.setTransitioning=function(t){this._isTransitioning=t},f.dispose=function(){e.removeData(this._element,n),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},f._getConfig=function(n){return n=e.extend({},r,n),n.toggle=Boolean(n.toggle),X.typeCheckConfig(t,n,o),n},f._getDimension=function(){return e(this._element).hasClass(l.WIDTH)?l.WIDTH:l.HEIGHT},f._getParent=function(){var t=this,n=null;X.isElement(this._config.parent)?(n=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(n=this._config.parent[0])):n=e(this._config.parent)[0];var r='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';return e(n).find(r).each(function(e,n){t._addAriaAndCollapsedClass(i._getTargetFromElement(n),[n])}),n},f._addAriaAndCollapsedClass=function(t,n){if(t){var i=e(t).hasClass(a.SHOW);n.length&&e(n).toggleClass(a.COLLAPSED,!i).attr("aria-expanded",i)}},i._getTargetFromElement=function(t){var n=X.getSelectorFromElement(t);return n?e(n)[0]:null},i._jQueryInterface=function(t){return this.each(function(){var o=e(this),s=o.data(n),a=e.extend({},r,o.data(),"object"==typeof t&&t);if(!s&&a.toggle&&/show|hide/.test(t)&&(a.toggle=!1),s||(s=new i(this,a),o.data(n,s)),"string"==typeof t){if("undefined"==typeof s[t])throw new Error('No method named "'+t+'"');s[t]()}})},q(i,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}},{key:"Default",get:function(){return r}}]),i}();return e(document).on(s.CLICK_DATA_API,c.DATA_TOGGLE,function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var i=e(this),r=X.getSelectorFromElement(this);e(r).each(function(){var t=e(this),r=t.data(n)?"toggle":i.data();f._jQueryInterface.call(t,r)})}),e.fn[t]=f._jQueryInterface,e.fn[t].Constructor=f,e.fn[t].noConflict=function(){return e.fn[t]=i,f._jQueryInterface},f}(),et=["native code","[object MutationObserverConstructor]"],nt="undefined"!=typeof window,it=["Edge","Trident","Firefox"],rt=0,ot=0;ot<it.length;ot+=1)if(nt&&navigator.userAgent.indexOf(it[ot])>=0){rt=1;break}var st=nt&&function(t){return et.some(function(e){return(t||"").toString().indexOf(e)>-1})}(window.MutationObserver)?function(t){var e=!1,n=0,i=document.createElement("span");return new MutationObserver(function(){t(),e=!1}).observe(i,{attributes:!0}),function(){e||(e=!0,i.setAttribute("x-index",n),n+=1)}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout(function(){e=!1,t()},rt))}},at=void 0,lt=function(){return void 0===at&&(at=-1!==navigator.appVersion.indexOf("MSIE 10")),at},ct=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},ft=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),ht=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},ut=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t},dt=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],pt=dt.slice(3),gt={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"},mt={placement:"bottom",eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,n=e.split("-")[0],i=e.split("-")[1];if(i){var r=t.offsets,o=r.reference,s=r.popper,a=-1!==["bottom","top"].indexOf(n),l=a?"left":"top",c=a?"width":"height",f={start:ht({},l,o[l]),end:ht({},l,o[l]+o[c]-s[c])};t.offsets.popper=ut({},s,f[i])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,i=t.placement,r=t.offsets,o=r.popper,s=r.reference,a=i.split("-")[0],l=void 0;return l=V(+n)?[+n,0]:Y(n,o,s,a),"left"===a?(o.top+=l[0],o.left-=l[1]):"right"===a?(o.top+=l[0],o.left+=l[1]):"top"===a?(o.left+=l[0],o.top-=l[1]):"bottom"===a&&(o.left+=l[0],o.top+=l[1]),t.popper=o,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var n=e.boundariesElement||a(t.instance.popper);t.instance.reference===n&&(n=a(n));var i=b(t.instance.popper,t.instance.reference,e.padding,n);e.boundaries=i;var r=e.priority,o=t.offsets.popper,s={primary:function(t){var n=o[t];return o[t]<i[t]&&!e.escapeWithReference&&(n=Math.max(o[t],i[t])),ht({},t,n)},secondary:function(t){var n="right"===t?"left":"top",r=o[n];return o[t]>i[t]&&!e.escapeWithReference&&(r=Math.min(o[n],i[t]-("right"===t?o.width:o.height))),ht({},n,r)}};return r.forEach(function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";o=ut({},o,s[e](t))}),t.offsets.popper=o,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,i=e.reference,r=t.placement.split("-")[0],o=Math.floor,s=-1!==["top","bottom"].indexOf(r),a=s?"right":"bottom",l=s?"left":"top",c=s?"width":"height";return n[a]<o(i[l])&&(t.offsets.popper[l]=o(i[l])-n[c]),n[l]>o(i[a])&&(t.offsets.popper[l]=o(i[a])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){if(!B(t.instance.modifiers,"arrow","keepTogether"))return t;var n=e.element;if("string"==typeof n){if(!(n=t.instance.popper.querySelector(n)))return t}else if(!t.instance.popper.contains(n))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var i=t.placement.split("-")[0],o=t.offsets,s=o.popper,a=o.reference,l=-1!==["left","right"].indexOf(i),c=l?"height":"width",f=l?"Top":"Left",h=f.toLowerCase(),u=l?"left":"top",d=l?"bottom":"right",p=O(n)[c];a[d]-p<s[h]&&(t.offsets.popper[h]-=s[h]-(a[d]-p)),a[h]+p>s[d]&&(t.offsets.popper[h]+=a[h]+p-s[d]);var g=a[h]+a[c]/2-p/2,_=r(t.instance.popper,"margin"+f).replace("px",""),v=g-m(t.offsets.popper)[h]-_;return v=Math.max(Math.min(s[c]-p,v),0),t.arrowElement=n,t.offsets.arrow={},t.offsets.arrow[h]=Math.round(v),t.offsets.arrow[u]="",t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(t,e){if(P(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=b(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement),i=t.placement.split("-")[0],r=y(i),o=t.placement.split("-")[1]||"",s=[];switch(e.behavior){case gt.FLIP:s=[i,r];break;case gt.CLOCKWISE:s=K(i);break;case gt.COUNTERCLOCKWISE:s=K(i,!0);break;default:s=e.behavior}return s.forEach(function(a,l){if(i!==a||s.length===l+1)return t;i=t.placement.split("-")[0],r=y(i);var c=t.offsets.popper,f=t.offsets.reference,h=Math.floor,u="left"===i&&h(c.right)>h(f.left)||"right"===i&&h(c.left)<h(f.right)||"top"===i&&h(c.bottom)>h(f.top)||"bottom"===i&&h(c.top)<h(f.bottom),d=h(c.left)<h(n.left),p=h(c.right)>h(n.right),g=h(c.top)<h(n.top),m=h(c.bottom)>h(n.bottom),_="left"===i&&d||"right"===i&&p||"top"===i&&g||"bottom"===i&&m,v=-1!==["top","bottom"].indexOf(i),E=!!e.flipVariations&&(v&&"start"===o&&d||v&&"end"===o&&p||!v&&"start"===o&&g||!v&&"end"===o&&m);(u||_||E)&&(t.flipped=!0,(u||_)&&(i=s[l+1]),E&&(o=G(o)),t.placement=i+(o?"-"+o:""),t.offsets.popper=ut({},t.offsets.popper,D(t.instance.popper,t.offsets.reference,t.placement)),t=N(t.instance.modifiers,t,"flip"))}),t},behavior:"flip",padding:5,boundariesElement:"viewport"},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],i=t.offsets,r=i.popper,o=i.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return r[s?"left":"top"]=o[n]-(a?r[s?"width":"height"]:0),t.placement=y(e),t.offsets.popper=m(r),t}},hide:{order:800,enabled:!0,fn:function(t){if(!B(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=S(t.instance.modifiers,function(t){return"preventOverflow"===t.name}).boundaries;if(e.bottom<n.top||e.left>n.right||e.top>n.bottom||e.right<n.left){if(!0===t.hide)return t;t.hide=!0,t.attributes["x-out-of-boundaries"]=""}else{if(!1===t.hide)return t;t.hide=!1,t.attributes["x-out-of-boundaries"]=!1}return t}},computeStyle:{order:850,enabled:!0,fn:function(t,e){var n=e.x,i=e.y,r=t.offsets.popper,o=S(t.instance.modifiers,function(t){return"applyStyle"===t.name}).gpuAcceleration;void 0!==o&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var s=void 0!==o?o:e.gpuAcceleration,l=_(a(t.instance.popper)),c={position:r.position},f={left:Math.floor(r.left),top:Math.floor(r.top),bottom:Math.floor(r.bottom),right:Math.floor(r.right)},h="bottom"===n?"top":"bottom",u="right"===i?"left":"right",d=R("transform"),p=void 0,g=void 0;if(g="bottom"===h?-l.height+f.bottom:f.top,p="right"===u?-l.width+f.right:f.left,s&&d)c[d]="translate3d("+p+"px, "+g+"px, 0)",c[h]=0,c[u]=0,c.willChange="transform";else{var m="bottom"===h?-1:1,v="right"===u?-1:1;c[h]=g*m,c[u]=p*v,c.willChange=h+", "+u}var E={"x-placement":t.placement};return t.attributes=ut({},E,t.attributes),t.styles=ut({},c,t.styles),t.arrowStyles=ut({},t.offsets.arrow,t.arrowStyles),t},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(t){return F(t.instance.popper,t.styles),j(t.instance.popper,t.attributes),t.arrowElement&&Object.keys(t.arrowStyles).length&&F(t.arrowElement,t.arrowStyles),t},onLoad:function(t,e,n,i,r){var o=I(r,e,t),s=A(n.placement,o,e,t,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return e.setAttribute("x-placement",s),F(e,{position:"absolute"}),n},gpuAcceleration:void 0}}},_t=function(){function t(e,n){var r=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};ct(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(r.update)},this.update=st(this.update.bind(this)),this.options=ut({},t.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e.jquery?e[0]:e,this.popper=n.jquery?n[0]:n,this.options.modifiers={},Object.keys(ut({},t.Defaults.modifiers,o.modifiers)).forEach(function(e){r.options.modifiers[e]=ut({},t.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(t){return ut({name:t},r.options.modifiers[t])}).sort(function(t,e){return t.order-e.order}),this.modifiers.forEach(function(t){t.enabled&&i(t.onLoad)&&t.onLoad(r.reference,r.popper,r.options,t,r.state)}),this.update();var s=this.options.eventsEnabled;s&&this.enableEventListeners(),this.state.eventsEnabled=s}return ft(t,[{key:"update",value:function(){return L.call(this)}},{key:"destroy",value:function(){return H.call(this)}},{key:"enableEventListeners",value:function(){return x.call(this)}},{key:"disableEventListeners",value:function(){return U.call(this)}}]),t}();_t.Utils=("undefined"!=typeof window?window:global).PopperUtils,_t.placements=dt,_t.Defaults=mt;var vt=function(){if("undefined"==typeof _t)throw new Error("Bootstrap dropdown require Popper.js (https://popper.js.org)");var t="dropdown",n="bs.dropdown",i="."+n,r=e.fn[t],o=new RegExp("38|40|27"),s={HIDE:"hide"+i,HIDDEN:"hidden"+i,SHOW:"show"+i,SHOWN:"shown"+i,CLICK:"click"+i,CLICK_DATA_API:"click.bs.dropdown.data-api",KEYDOWN_DATA_API:"keydown.bs.dropdown.data-api",KEYUP_DATA_API:"keyup.bs.dropdown.data-api"},a={DISABLED:"disabled",SHOW:"show",DROPUP:"dropup",MENURIGHT:"dropdown-menu-right",MENULEFT:"dropdown-menu-left"},l={DATA_TOGGLE:'[data-toggle="dropdown"]',FORM_CHILD:".dropdown form",MENU:".dropdown-menu",NAVBAR_NAV:".navbar-nav",VISIBLE_ITEMS:".dropdown-menu .dropdown-item:not(.disabled)"},c={TOP:"top-start",TOPEND:"top-end",BOTTOM:"bottom-start",BOTTOMEND:"bottom-end"},f={offset:0,flip:!0},h={offset:"(number|string|function)",flip:"boolean"},u=function(){function r(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var u=r.prototype;return u.toggle=function(){if(!this._element.disabled&&!e(this._element).hasClass(a.DISABLED)){var t=r._getParentFromElement(this._element),n=e(this._menu).hasClass(a.SHOW);if(r._clearMenus(),!n){var i={relatedTarget:this._element},o=e.Event(s.SHOW,i);if(e(t).trigger(o),!o.isDefaultPrevented()){var c=this._element;e(t).hasClass(a.DROPUP)&&(e(this._menu).hasClass(a.MENULEFT)||e(this._menu).hasClass(a.MENURIGHT))&&(c=t),this._popper=new _t(c,this._menu,this._getPopperConfig()),"ontouchstart"in document.documentElement&&!e(t).closest(l.NAVBAR_NAV).length&&e("body").children().on("mouseover",null,e.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),e(this._menu).toggleClass(a.SHOW),e(t).toggleClass(a.SHOW).trigger(e.Event(s.SHOWN,i))}}}},u.dispose=function(){e.removeData(this._element,n),e(this._element).off(i),this._element=null,this._menu=null,null!==this._popper&&this._popper.destroy(),this._popper=null},u.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},u._addEventListeners=function(){var t=this;e(this._element).on(s.CLICK,function(e){e.preventDefault(),e.stopPropagation(),t.toggle()})},u._getConfig=function(n){return n=e.extend({},this.constructor.Default,e(this._element).data(),n),X.typeCheckConfig(t,n,this.constructor.DefaultType),n},u._getMenuElement=function(){if(!this._menu){var t=r._getParentFromElement(this._element);this._menu=e(t).find(l.MENU)[0]}return this._menu},u._getPlacement=function(){var t=e(this._element).parent(),n=c.BOTTOM;return t.hasClass(a.DROPUP)?(n=c.TOP,e(this._menu).hasClass(a.MENURIGHT)&&(n=c.TOPEND)):e(this._menu).hasClass(a.MENURIGHT)&&(n=c.BOTTOMEND),n},u._detectNavbar=function(){return e(this._element).closest(".navbar").length>0},u._getPopperConfig=function(){var t=this,n={};"function"==typeof this._config.offset?n.fn=function(n){return n.offsets=e.extend({},n.offsets,t._config.offset(n.offsets)||{}),n}:n.offset=this._config.offset;var i={placement:this._getPlacement(),modifiers:{offset:n,flip:{enabled:this._config.flip}}};return this._inNavbar&&(i.modifiers.applyStyle={enabled:!this._inNavbar}),i},r._jQueryInterface=function(t){return this.each(function(){var i=e(this).data(n),o="object"==typeof t?t:null;if(i||(i=new r(this,o),e(this).data(n,i)),"string"==typeof t){if("undefined"==typeof i[t])throw new Error('No method named "'+t+'"');i[t]()}})},r._clearMenus=function(t){if(!t||3!==t.which&&("keyup"!==t.type||9===t.which))for(var i=e.makeArray(e(l.DATA_TOGGLE)),o=0;o<i.length;o++){var c=r._getParentFromElement(i[o]),f=e(i[o]).data(n),h={relatedTarget:i[o]};if(f){var u=f._menu;if(e(c).hasClass(a.SHOW)&&!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&9===t.which)&&e.contains(c,t.target))){var d=e.Event(s.HIDE,h);e(c).trigger(d),d.isDefaultPrevented()||("ontouchstart"in document.documentElement&&e("body").children().off("mouseover",null,e.noop),i[o].setAttribute("aria-expanded","false"),e(u).removeClass(a.SHOW),e(c).removeClass(a.SHOW).trigger(e.Event(s.HIDDEN,h)))}}}},r._getParentFromElement=function(t){var n,i=X.getSelectorFromElement(t);return i&&(n=e(i)[0]),n||t.parentNode},r._dataApiKeydownHandler=function(t){if(!(!o.test(t.which)||/button/i.test(t.target.tagName)&&32===t.which||/input|textarea/i.test(t.target.tagName)||(t.preventDefault(),t.stopPropagation(),this.disabled||e(this).hasClass(a.DISABLED)))){var n=r._getParentFromElement(this),i=e(n).hasClass(a.SHOW);if((i||27===t.which&&32===t.which)&&(!i||27!==t.which&&32!==t.which)){var s=e(n).find(l.VISIBLE_ITEMS).get();if(s.length){var c=s.indexOf(t.target);38===t.which&&c>0&&c--,40===t.which&&c<s.length-1&&c++,c<0&&(c=0),s[c].focus()}}else{if(27===t.which){var f=e(n).find(l.DATA_TOGGLE)[0];e(f).trigger("focus")}e(this).trigger("click")}}},q(r,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}},{key:"Default",get:function(){return f}},{key:"DefaultType",get:function(){return h}}]),r}();return e(document).on(s.KEYDOWN_DATA_API,l.DATA_TOGGLE,u._dataApiKeydownHandler).on(s.KEYDOWN_DATA_API,l.MENU,u._dataApiKeydownHandler).on(s.CLICK_DATA_API+" "+s.KEYUP_DATA_API,u._clearMenus).on(s.CLICK_DATA_API,l.DATA_TOGGLE,function(t){t.preventDefault(),t.stopPropagation(),u._jQueryInterface.call(e(this),"toggle")}).on(s.CLICK_DATA_API,l.FORM_CHILD,function(t){t.stopPropagation()}),e.fn[t]=u._jQueryInterface,e.fn[t].Constructor=u,e.fn[t].noConflict=function(){return e.fn[t]=r,u._jQueryInterface},u}(),Et=function(){var t="modal",n=".bs.modal",i=e.fn[t],r={backdrop:!0,keyboard:!0,focus:!0,show:!0},o={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},s={HIDE:"hide.bs.modal",HIDDEN:"hidden.bs.modal",SHOW:"show.bs.modal",SHOWN:"shown.bs.modal",FOCUSIN:"focusin.bs.modal",RESIZE:"resize.bs.modal",CLICK_DISMISS:"click.dismiss.bs.modal",KEYDOWN_DISMISS:"keydown.dismiss.bs.modal",MOUSEUP_DISMISS:"mouseup.dismiss.bs.modal",MOUSEDOWN_DISMISS:"mousedown.dismiss.bs.modal",CLICK_DATA_API:"click.bs.modal.data-api"},a={SCROLLBAR_MEASURER:"modal-scrollbar-measure",BACKDROP:"modal-backdrop",OPEN:"modal-open",FADE:"fade",SHOW:"show"},l={DIALOG:".modal-dialog",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",STICKY_CONTENT:".sticky-top",NAVBAR_TOGGLER:".navbar-toggler"},c=function(){function i(t,n){this._config=this._getConfig(n),this._element=t,this._dialog=e(t).find(l.DIALOG)[0],this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._originalBodyPadding=0,this._scrollbarWidth=0}var c=i.prototype;return c.toggle=function(t){return this._isShown?this.hide():this.show(t)},c.show=function(t){var n=this;if(!this._isTransitioning&&!this._isShown){X.supportsTransitionEnd()&&e(this._element).hasClass(a.FADE)&&(this._isTransitioning=!0);var i=e.Event(s.SHOW,{relatedTarget:t});e(this._element).trigger(i),this._isShown||i.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),e(document.body).addClass(a.OPEN),this._setEscapeEvent(),this._setResizeEvent(),e(this._element).on(s.CLICK_DISMISS,l.DATA_DISMISS,function(t){return n.hide(t)}),e(this._dialog).on(s.MOUSEDOWN_DISMISS,function(){e(n._element).one(s.MOUSEUP_DISMISS,function(t){e(t.target).is(n._element)&&(n._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return n._showElement(t)}))}},c.hide=function(t){var n=this;if(t&&t.preventDefault(),!this._isTransitioning&&this._isShown){var i=e.Event(s.HIDE);if(e(this._element).trigger(i),this._isShown&&!i.isDefaultPrevented()){this._isShown=!1;var r=X.supportsTransitionEnd()&&e(this._element).hasClass(a.FADE);r&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),e(document).off(s.FOCUSIN),e(this._element).removeClass(a.SHOW),e(this._element).off(s.CLICK_DISMISS),e(this._dialog).off(s.MOUSEDOWN_DISMISS),r?e(this._element).one(X.TRANSITION_END,function(t){return n._hideModal(t)}).emulateTransitionEnd(300):this._hideModal()}}},c.dispose=function(){e.removeData(this._element,"bs.modal"),e(window,document,this._element,this._backdrop).off(n),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._scrollbarWidth=null},c.handleUpdate=function(){this._adjustDialog()},c._getConfig=function(n){return n=e.extend({},r,n),X.typeCheckConfig(t,n,o),n},c._showElement=function(t){var n=this,i=X.supportsTransitionEnd()&&e(this._element).hasClass(a.FADE);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,i&&X.reflow(this._element),e(this._element).addClass(a.SHOW),this._config.focus&&this._enforceFocus();var r=e.Event(s.SHOWN,{relatedTarget:t}),o=function(){n._config.focus&&n._element.focus(),n._isTransitioning=!1,e(n._element).trigger(r)};i?e(this._dialog).one(X.TRANSITION_END,o).emulateTransitionEnd(300):o()},c._enforceFocus=function(){var t=this;e(document).off(s.FOCUSIN).on(s.FOCUSIN,function(n){document===n.target||t._element===n.target||e(t._element).has(n.target).length||t._element.focus()})},c._setEscapeEvent=function(){var t=this;this._isShown&&this._config.keyboard?e(this._element).on(s.KEYDOWN_DISMISS,function(e){27===e.which&&(e.preventDefault(),t.hide())}):this._isShown||e(this._element).off(s.KEYDOWN_DISMISS)},c._setResizeEvent=function(){var t=this;this._isShown?e(window).on(s.RESIZE,function(e){return t.handleUpdate(e)}):e(window).off(s.RESIZE)},c._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._isTransitioning=!1,this._showBackdrop(function(){e(document.body).removeClass(a.OPEN),t._resetAdjustments(),t._resetScrollbar(),e(t._element).trigger(s.HIDDEN)})},c._removeBackdrop=function(){this._backdrop&&(e(this._backdrop).remove(),this._backdrop=null)},c._showBackdrop=function(t){var n=this,i=e(this._element).hasClass(a.FADE)?a.FADE:"";if(this._isShown&&this._config.backdrop){var r=X.supportsTransitionEnd()&&i;if(this._backdrop=document.createElement("div"),this._backdrop.className=a.BACKDROP,i&&e(this._backdrop).addClass(i),e(this._backdrop).appendTo(document.body),e(this._element).on(s.CLICK_DISMISS,function(t){n._ignoreBackdropClick?n._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===n._config.backdrop?n._element.focus():n.hide())}),r&&X.reflow(this._backdrop),e(this._backdrop).addClass(a.SHOW),!t)return;if(!r)return void t();e(this._backdrop).one(X.TRANSITION_END,t).emulateTransitionEnd(150)}else if(!this._isShown&&this._backdrop){e(this._backdrop).removeClass(a.SHOW);var o=function(){n._removeBackdrop(),t&&t()};X.supportsTransitionEnd()&&e(this._element).hasClass(a.FADE)?e(this._backdrop).one(X.TRANSITION_END,o).emulateTransitionEnd(150):o()}else t&&t()},c._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},c._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},c._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},c._setScrollbar=function(){var t=this;if(this._isBodyOverflowing){e(l.FIXED_CONTENT).each(function(n,i){var r=e(i)[0].style.paddingRight,o=e(i).css("padding-right");e(i).data("padding-right",r).css("padding-right",parseFloat(o)+t._scrollbarWidth+"px")}),e(l.STICKY_CONTENT).each(function(n,i){var r=e(i)[0].style.marginRight,o=e(i).css("margin-right");e(i).data("margin-right",r).css("margin-right",parseFloat(o)-t._scrollbarWidth+"px")}),e(l.NAVBAR_TOGGLER).each(function(n,i){var r=e(i)[0].style.marginRight,o=e(i).css("margin-right");e(i).data("margin-right",r).css("margin-right",parseFloat(o)+t._scrollbarWidth+"px")});var n=document.body.style.paddingRight,i=e("body").css("padding-right");e("body").data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}},c._resetScrollbar=function(){e(l.FIXED_CONTENT).each(function(t,n){var i=e(n).data("padding-right");"undefined"!=typeof i&&e(n).css("padding-right",i).removeData("padding-right")}),e(l.STICKY_CONTENT+", "+l.NAVBAR_TOGGLER).each(function(t,n){var i=e(n).data("margin-right");"undefined"!=typeof i&&e(n).css("margin-right",i).removeData("margin-right")});var t=e("body").data("padding-right");"undefined"!=typeof t&&e("body").css("padding-right",t).removeData("padding-right")},c._getScrollbarWidth=function(){var t=document.createElement("div");t.className=a.SCROLLBAR_MEASURER,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},i._jQueryInterface=function(t,n){return this.each(function(){var r=e(this).data("bs.modal"),o=e.extend({},i.Default,e(this).data(),"object"==typeof t&&t);if(r||(r=new i(this,o),e(this).data("bs.modal",r)),"string"==typeof t){if("undefined"==typeof r[t])throw new Error('No method named "'+t+'"');r[t](n)}else o.show&&r.show(n)})},q(i,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}},{key:"Default",get:function(){return r}}]),i}();return e(document).on(s.CLICK_DATA_API,l.DATA_TOGGLE,function(t){var n,i=this,r=X.getSelectorFromElement(this);r&&(n=e(r)[0]);var o=e(n).data("bs.modal")?"toggle":e.extend({},e(n).data(),e(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var a=e(n).one(s.SHOW,function(t){t.isDefaultPrevented()||a.one(s.HIDDEN,function(){e(i).is(":visible")&&i.focus()})});c._jQueryInterface.call(e(n),o,this)}),e.fn[t]=c._jQueryInterface,e.fn[t].Constructor=c,e.fn[t].noConflict=function(){return e.fn[t]=i,c._jQueryInterface},c}(),Tt=function(){if("undefined"==typeof _t)throw new Error("Bootstrap tooltips require Popper.js (https://popper.js.org)");var t="tooltip",n=".bs.tooltip",i=e.fn[t],r=new RegExp("(^|\\s)bs-tooltip\\S+","g"),o={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)"},s={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},a={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip"},l={SHOW:"show",OUT:"out"},c={HIDE:"hide"+n,HIDDEN:"hidden"+n,SHOW:"show"+n,SHOWN:"shown"+n,INSERTED:"inserted"+n,CLICK:"click"+n,FOCUSIN:"focusin"+n,FOCUSOUT:"focusout"+n,MOUSEENTER:"mouseenter"+n,MOUSELEAVE:"mouseleave"+n},f={FADE:"fade",SHOW:"show"},h={TOOLTIP:".tooltip",TOOLTIP_INNER:".tooltip-inner",ARROW:".arrow"},u={HOVER:"hover",FOCUS:"focus",CLICK:"click",MANUAL:"manual"},d=function(){function i(t,e){this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var d=i.prototype;return d.enable=function(){this._isEnabled=!0},d.disable=function(){this._isEnabled=!1},d.toggleEnabled=function(){this._isEnabled=!this._isEnabled},d.toggle=function(t){if(this._isEnabled)if(t){var n=this.constructor.DATA_KEY,i=e(t.currentTarget).data(n);i||(i=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(e(this.getTipElement()).hasClass(f.SHOW))return void this._leave(null,this);this._enter(null,this)}},d.dispose=function(){clearTimeout(this._timeout),e.removeData(this.element,this.constructor.DATA_KEY),e(this.element).off(this.constructor.EVENT_KEY),e(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&e(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,null!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},d.show=function(){var t=this;if("none"===e(this.element).css("display"))throw new Error("Please use show on visible elements");var n=e.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){e(this.element).trigger(n);var r=e.contains(this.element.ownerDocument.documentElement,this.element);if(n.isDefaultPrevented()||!r)return;var o=this.getTipElement(),s=X.getUID(this.constructor.NAME);o.setAttribute("id",s),this.element.setAttribute("aria-describedby",s),this.setContent(),this.config.animation&&e(o).addClass(f.FADE);var a="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,c=this._getAttachment(a);this.addAttachmentClass(c);var u=!1===this.config.container?document.body:e(this.config.container);e(o).data(this.constructor.DATA_KEY,this),e.contains(this.element.ownerDocument.documentElement,this.tip)||e(o).appendTo(u),e(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new _t(this.element,o,{placement:c,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:h.ARROW}},onCreate:function(e){e.originalPlacement!==e.placement&&t._handlePopperPlacementChange(e)},onUpdate:function(e){t._handlePopperPlacementChange(e)}}),e(o).addClass(f.SHOW),"ontouchstart"in document.documentElement&&e("body").children().on("mouseover",null,e.noop);var d=function(){t.config.animation&&t._fixTransition();var n=t._hoverState;t._hoverState=null,e(t.element).trigger(t.constructor.Event.SHOWN),n===l.OUT&&t._leave(null,t)};X.supportsTransitionEnd()&&e(this.tip).hasClass(f.FADE)?e(this.tip).one(X.TRANSITION_END,d).emulateTransitionEnd(i._TRANSITION_DURATION):d()}},d.hide=function(t){var n=this,i=this.getTipElement(),r=e.Event(this.constructor.Event.HIDE),o=function(){n._hoverState!==l.SHOW&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),e(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),t&&t()};e(this.element).trigger(r),r.isDefaultPrevented()||(e(i).removeClass(f.SHOW),"ontouchstart"in document.documentElement&&e("body").children().off("mouseover",null,e.noop),this._activeTrigger[u.CLICK]=!1,this._activeTrigger[u.FOCUS]=!1,this._activeTrigger[u.HOVER]=!1,X.supportsTransitionEnd()&&e(this.tip).hasClass(f.FADE)?e(i).one(X.TRANSITION_END,o).emulateTransitionEnd(150):o(),this._hoverState="")},d.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},d.isWithContent=function(){return Boolean(this.getTitle())},d.addAttachmentClass=function(t){e(this.getTipElement()).addClass("bs-tooltip-"+t)},d.getTipElement=function(){return this.tip=this.tip||e(this.config.template)[0],this.tip},d.setContent=function(){var t=e(this.getTipElement());this.setElementContent(t.find(h.TOOLTIP_INNER),this.getTitle()),t.removeClass(f.FADE+" "+f.SHOW)},d.setElementContent=function(t,n){var i=this.config.html;"object"==typeof n&&(n.nodeType||n.jquery)?i?e(n).parent().is(t)||t.empty().append(n):t.text(e(n).text()):t[i?"html":"text"](n)},d.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},d._getAttachment=function(t){return s[t.toUpperCase()]},d._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach(function(n){if("click"===n)e(t.element).on(t.constructor.Event.CLICK,t.config.selector,function(e){return t.toggle(e)});else if(n!==u.MANUAL){var i=n===u.HOVER?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,r=n===u.HOVER?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;e(t.element).on(i,t.config.selector,function(e){return t._enter(e)}).on(r,t.config.selector,function(e){return t._leave(e)})}e(t.element).closest(".modal").on("hide.bs.modal",function(){return t.hide()})}),this.config.selector?this.config=e.extend({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},d._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},d._enter=function(t,n){var i=this.constructor.DATA_KEY;(n=n||e(t.currentTarget).data(i))||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(i,n)),t&&(n._activeTrigger["focusin"===t.type?u.FOCUS:u.HOVER]=!0),e(n.getTipElement()).hasClass(f.SHOW)||n._hoverState===l.SHOW?n._hoverState=l.SHOW:(clearTimeout(n._timeout),n._hoverState=l.SHOW,n.config.delay&&n.config.delay.show?n._timeout=setTimeout(function(){n._hoverState===l.SHOW&&n.show()},n.config.delay.show):n.show())},d._leave=function(t,n){var i=this.constructor.DATA_KEY;(n=n||e(t.currentTarget).data(i))||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(i,n)),t&&(n._activeTrigger["focusout"===t.type?u.FOCUS:u.HOVER]=!1),n._isWithActiveTrigger()||(clearTimeout(n._timeout),n._hoverState=l.OUT,n.config.delay&&n.config.delay.hide?n._timeout=setTimeout(function(){n._hoverState===l.OUT&&n.hide()},n.config.delay.hide):n.hide())},d._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},d._getConfig=function(n){return"number"==typeof(n=e.extend({},this.constructor.Default,e(this.element).data(),n)).delay&&(n.delay={show:n.delay,hide:n.delay}),"number"==typeof n.title&&(n.title=n.title.toString()),"number"==typeof n.content&&(n.content=n.content.toString()),X.typeCheckConfig(t,n,this.constructor.DefaultType),n},d._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},d._cleanTipClass=function(){var t=e(this.getTipElement()),n=t.attr("class").match(r);null!==n&&n.length>0&&t.removeClass(n.join(""))},d._handlePopperPlacementChange=function(t){this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},d._fixTransition=function(){var t=this.getTipElement(),n=this.config.animation;null===t.getAttribute("x-placement")&&(e(t).removeClass(f.FADE),this.config.animation=!1,this.hide(),this.show(),this.config.animation=n)},i._jQueryInterface=function(t){return this.each(function(){var n=e(this).data("bs.tooltip"),r="object"==typeof t&&t;if((n||!/dispose|hide/.test(t))&&(n||(n=new i(this,r),e(this).data("bs.tooltip",n)),"string"==typeof t)){if("undefined"==typeof n[t])throw new Error('No method named "'+t+'"');n[t]()}})},q(i,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}},{key:"Default",get:function(){return a}},{key:"NAME",get:function(){return t}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return c}},{key:"EVENT_KEY",get:function(){return n}},{key:"DefaultType",get:function(){return o}}]),i}();return e.fn[t]=d._jQueryInterface,e.fn[t].Constructor=d,e.fn[t].noConflict=function(){return e.fn[t]=i,d._jQueryInterface},d}(),bt=function(){var t="popover",n=".bs.popover",i=e.fn[t],r=new RegExp("(^|\\s)bs-popover\\S+","g"),o=e.extend({},Tt.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),s=e.extend({},Tt.DefaultType,{content:"(string|element|function)"}),a={FADE:"fade",SHOW:"show"},l={TITLE:".popover-header",CONTENT:".popover-body"},c={HIDE:"hide"+n,HIDDEN:"hidden"+n,SHOW:"show"+n,SHOWN:"shown"+n,INSERTED:"inserted"+n,CLICK:"click"+n,FOCUSIN:"focusin"+n,FOCUSOUT:"focusout"+n,MOUSEENTER:"mouseenter"+n,MOUSELEAVE:"mouseleave"+n},f=function(i){function f(){return i.apply(this,arguments)||this}z(f,i);var h=f.prototype;return h.isWithContent=function(){return this.getTitle()||this._getContent()},h.addAttachmentClass=function(t){e(this.getTipElement()).addClass("bs-popover-"+t)},h.getTipElement=function(){return this.tip=this.tip||e(this.config.template)[0],this.tip},h.setContent=function(){var t=e(this.getTipElement());this.setElementContent(t.find(l.TITLE),this.getTitle()),this.setElementContent(t.find(l.CONTENT),this._getContent()),t.removeClass(a.FADE+" "+a.SHOW)},h._getContent=function(){return this.element.getAttribute("data-content")||("function"==typeof this.config.content?this.config.content.call(this.element):this.config.content)},h._cleanTipClass=function(){var t=e(this.getTipElement()),n=t.attr("class").match(r);null!==n&&n.length>0&&t.removeClass(n.join(""))},f._jQueryInterface=function(t){return this.each(function(){var n=e(this).data("bs.popover"),i="object"==typeof t?t:null;if((n||!/destroy|hide/.test(t))&&(n||(n=new f(this,i),e(this).data("bs.popover",n)),"string"==typeof t)){if("undefined"==typeof n[t])throw new Error('No method named "'+t+'"');n[t]()}})},q(f,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}},{key:"Default",get:function(){return o}},{key:"NAME",get:function(){return t}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return c}},{key:"EVENT_KEY",get:function(){return n}},{key:"DefaultType",get:function(){return s}}]),f}(Tt);return e.fn[t]=f._jQueryInterface,e.fn[t].Constructor=f,e.fn[t].noConflict=function(){return e.fn[t]=i,f._jQueryInterface},f}(),Ct=function(){var t="scrollspy",n=e.fn[t],i={offset:10,method:"auto",target:""},r={offset:"number",method:"string",target:"(string|element)"},o={ACTIVATE:"activate.bs.scrollspy",SCROLL:"scroll.bs.scrollspy",LOAD_DATA_API:"load.bs.scrollspy.data-api"},s={DROPDOWN_ITEM:"dropdown-item",DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active"},a={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},l={OFFSET:"offset",POSITION:"position"},c=function(){function n(t,n){var i=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(n),this._selector=this._config.target+" "+a.NAV_LINKS+","+this._config.target+" "+a.LIST_ITEMS+","+this._config.target+" "+a.DROPDOWN_ITEMS,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,e(this._scrollElement).on(o.SCROLL,function(t){return i._process(t)}),this.refresh(),this._process()}var c=n.prototype;return c.refresh=function(){var t=this,n=this._scrollElement!==this._scrollElement.window?l.POSITION:l.OFFSET,i="auto"===this._config.method?n:this._config.method,r=i===l.POSITION?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),e.makeArray(e(this._selector)).map(function(t){var n,o=X.getSelectorFromElement(t);if(o&&(n=e(o)[0]),n){var s=n.getBoundingClientRect();if(s.width||s.height)return[e(n)[i]().top+r,o]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(e){t._offsets.push(e[0]),t._targets.push(e[1])})},c.dispose=function(){e.removeData(this._element,"bs.scrollspy"),e(this._scrollElement).off(".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},c._getConfig=function(n){if("string"!=typeof(n=e.extend({},i,n)).target){var o=e(n.target).attr("id");o||(o=X.getUID(t),e(n.target).attr("id",o)),n.target="#"+o}return X.typeCheckConfig(t,n,r),n},c._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},c._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},c._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},c._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var r=this._offsets.length;r--;)this._activeTarget!==this._targets[r]&&t>=this._offsets[r]&&("undefined"==typeof this._offsets[r+1]||t<this._offsets[r+1])&&this._activate(this._targets[r])}},c._activate=function(t){this._activeTarget=t,this._clear();var n=this._selector.split(",");n=n.map(function(e){return e+'[data-target="'+t+'"],'+e+'[href="'+t+'"]'});var i=e(n.join(","));i.hasClass(s.DROPDOWN_ITEM)?(i.closest(a.DROPDOWN).find(a.DROPDOWN_TOGGLE).addClass(s.ACTIVE),i.addClass(s.ACTIVE)):(i.addClass(s.ACTIVE),i.parents(a.NAV_LIST_GROUP).prev(a.NAV_LINKS+", "+a.LIST_ITEMS).addClass(s.ACTIVE),i.parents(a.NAV_LIST_GROUP).prev(a.NAV_ITEMS).children(a.NAV_LINKS).addClass(s.ACTIVE)),e(this._scrollElement).trigger(o.ACTIVATE,{relatedTarget:t})},c._clear=function(){e(this._selector).filter(a.ACTIVE).removeClass(s.ACTIVE)},n._jQueryInterface=function(t){return this.each(function(){var i=e(this).data("bs.scrollspy"),r="object"==typeof t&&t;if(i||(i=new n(this,r),e(this).data("bs.scrollspy",i)),"string"==typeof t){if("undefined"==typeof i[t])throw new Error('No method named "'+t+'"');i[t]()}})},q(n,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}},{key:"Default",get:function(){return i}}]),n}();return e(window).on(o.LOAD_DATA_API,function(){for(var t=e.makeArray(e(a.DATA_SPY)),n=t.length;n--;){var i=e(t[n]);c._jQueryInterface.call(i,i.data())}}),e.fn[t]=c._jQueryInterface,e.fn[t].Constructor=c,e.fn[t].noConflict=function(){return e.fn[t]=n,c._jQueryInterface},c}(),At=function(){var t=e.fn.tab,n={HIDE:"hide.bs.tab",HIDDEN:"hidden.bs.tab",SHOW:"show.bs.tab",SHOWN:"shown.bs.tab",CLICK_DATA_API:"click.bs.tab.data-api"},i={DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active",DISABLED:"disabled",FADE:"fade",SHOW:"show"},r={DROPDOWN:".dropdown",NAV_LIST_GROUP:".nav, .list-group",ACTIVE:".active",ACTIVE_UL:"> li > .active",DATA_TOGGLE:'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',DROPDOWN_TOGGLE:".dropdown-toggle",DROPDOWN_ACTIVE_CHILD:"> .dropdown-menu .active"},o=function(){function t(t){this._element=t}var o=t.prototype;return o.show=function(){var t=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&e(this._element).hasClass(i.ACTIVE)||e(this._element).hasClass(i.DISABLED))){var o,s,a=e(this._element).closest(r.NAV_LIST_GROUP)[0],l=X.getSelectorFromElement(this._element);if(a){var c="UL"===a.nodeName?r.ACTIVE_UL:r.ACTIVE;s=e.makeArray(e(a).find(c)),s=s[s.length-1]}var f=e.Event(n.HIDE,{relatedTarget:this._element}),h=e.Event(n.SHOW,{relatedTarget:s});if(s&&e(s).trigger(f),e(this._element).trigger(h),!h.isDefaultPrevented()&&!f.isDefaultPrevented()){l&&(o=e(l)[0]),this._activate(this._element,a);var u=function(){var i=e.Event(n.HIDDEN,{relatedTarget:t._element}),r=e.Event(n.SHOWN,{relatedTarget:s});e(s).trigger(i),e(t._element).trigger(r)};o?this._activate(o,o.parentNode,u):u()}}},o.dispose=function(){e.removeData(this._element,"bs.tab"),this._element=null},o._activate=function(t,n,o){var s,a=this,l=(s="UL"===n.nodeName?e(n).find(r.ACTIVE_UL):e(n).children(r.ACTIVE))[0],c=o&&X.supportsTransitionEnd()&&l&&e(l).hasClass(i.FADE),f=function(){return a._transitionComplete(t,l,c,o)};l&&c?e(l).one(X.TRANSITION_END,f).emulateTransitionEnd(150):f(),l&&e(l).removeClass(i.SHOW)},o._transitionComplete=function(t,n,o,s){if(n){e(n).removeClass(i.ACTIVE);var a=e(n.parentNode).find(r.DROPDOWN_ACTIVE_CHILD)[0];a&&e(a).removeClass(i.ACTIVE),"tab"===n.getAttribute("role")&&n.setAttribute("aria-selected",!1)}if(e(t).addClass(i.ACTIVE),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),o?(X.reflow(t),e(t).addClass(i.SHOW)):e(t).removeClass(i.FADE),t.parentNode&&e(t.parentNode).hasClass(i.DROPDOWN_MENU)){var l=e(t).closest(r.DROPDOWN)[0];l&&e(l).find(r.DROPDOWN_TOGGLE).addClass(i.ACTIVE),t.setAttribute("aria-expanded",!0)}s&&s()},t._jQueryInterface=function(n){return this.each(function(){var i=e(this),r=i.data("bs.tab");if(r||(r=new t(this),i.data("bs.tab",r)),"string"==typeof n){if("undefined"==typeof r[n])throw new Error('No method named "'+n+'"');r[n]()}})},q(t,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}}]),t}();return e(document).on(n.CLICK_DATA_API,r.DATA_TOGGLE,function(t){t.preventDefault(),o._jQueryInterface.call(e(this),"show")}),e.fn.tab=o._jQueryInterface,e.fn.tab.Constructor=o,e.fn.tab.noConflict=function(){return e.fn.tab=t,o._jQueryInterface},o}();return function(){if("undefined"==typeof e)throw new Error("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=e.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||t[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(),t.Util=X,t.Alert=Z,t.Button=J,t.Carousel=$,t.Collapse=tt,t.Dropdown=vt,t.Modal=Et,t.Popover=bt,t.Scrollspy=Ct,t.Tab=At,t.Tooltip=Tt,t}({},$); +//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/workspace/public/js/bootstrap.bundle.min.js.map b/workspace/public/js/bootstrap.bundle.min.js.map new file mode 100644 index 0000000..0b513b6 --- /dev/null +++ b/workspace/public/js/bootstrap.bundle.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../node_modules/popper.js/dist/esm/popper.js","../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/index.js"],"names":["isFunction","functionToCheck","toString","call","getStyleComputedProperty","element","property","nodeType","css","window","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","indexOf","document","body","_getStyleComputedProp","overflow","overflowX","test","overflowY","getOffsetParent","offsetParent","documentElement","isOffsetContainer","firstElementChild","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","element1root","getScroll","upperSide","arguments","length","undefined","html","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","top","bottom","left","right","getBordersSize","styles","axis","sideA","sideB","split","getSize","computedStyle","Math","max","isIE10$1","getWindowSizes","height","width","getClientRect","offsets","_extends","getBoundingClientRect","err","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","children","parent","isIE10","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","relativeOffset","innerWidth","innerHeight","isFixed","getBoundaries","popper","reference","padding","boundariesElement","boundaries","boundariesNode","_getWindowSizes","getArea","_ref","computeAutoPlacement","placement","refRect","rects","sortedAreas","Object","keys","map","key","area","sort","a","b","filteredAreas","filter","_ref2","computedPlacement","variation","getReferenceOffsets","state","getOuterSizes","x","parseFloat","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","Array","prototype","findIndex","prop","value","cur","match","obj","runModifiers","modifiers","data","ends","slice","forEach","function","console","warn","fn","enabled","update","this","isDestroyed","instance","arrowStyles","attributes","flipped","options","flip","originalPlacement","position","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","i","prefix","toCheck","style","destroy","removeAttribute","disableEventListeners","removeOnDestroy","removeChild","attachToScrollParents","event","callback","scrollParents","isBody","target","addEventListener","passive","push","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","scheduleUpdate","removeEventListeners","removeEventListener","cancelAnimationFrame","isNumeric","n","isNaN","isFinite","setStyles","unit","setAttributes","setAttribute","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","getOppositeVariation","clockwise","counter","index","validPlacements","concat","reverse","toValue","str","parseOffset","offset","basePlacement","useHeight","fragments","frag","trim","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","index2","Util","toType","toLowerCase","getSpecialTransitionEndEvent","transition","$","is","handleObj","handler","apply","transitionEndTest","QUnit","el","createElement","TransitionEndEvent","transitionEndEmulator","duration","called","one","TRANSITION_END","triggerTransitionEnd","_this","random","getElementById","selector","getAttribute","error","trigger","Boolean","componentName","config","configTypes","hasOwnProperty","expectedTypes","valueType","isElement","RegExp","Error","emulateTransitionEnd","supportsTransitionEnd","special","Alert","NAME","JQUERY_NO_CONFLICT","Event","ClassName","_element","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","getSelectorFromElement","closest","ALERT","closeEvent","CLOSE","removeClass","SHOW","hasClass","FADE","_destroyElement","detach","CLOSED","remove","_jQueryInterface","each","$element","_handleDismiss","alertInstance","preventDefault","on","CLICK_DATA_API","DISMISS","Constructor","noConflict","Button","Selector","toggle","triggerChangeEvent","addAriaPressed","DATA_TOGGLE","input","INPUT","type","checked","ACTIVE","activeElement","hasAttribute","classList","focus","toggleClass","DATA_TOGGLE_CARROT","button","BUTTON","FOCUS_BLUR_DATA_API","FOCUS","Carousel","DATA_KEY","EVENT_KEY","Default","DefaultType","Direction","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","_config","_getConfig","_indicatorsElement","INDICATORS","_addEventListeners","next","_slide","NEXT","nextWhenVisible","hidden","prev","PREV","pause","NEXT_PREV","cycle","interval","setInterval","visibilityState","bind","to","ACTIVE_ITEM","activeIndex","_getItemIndex","SLID","direction","off","extend","typeCheckConfig","keyboard","KEYDOWN","_this2","_keydown","MOUSEENTER","MOUSELEAVE","TOUCHEND","setTimeout","tagName","which","makeArray","ITEM","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","wrap","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","SLIDE","_setActiveIndicatorElement","nextIndicator","addClass","directionalClassName","orderClassName","activeElementIndex","nextElement","nextElementIndex","isCycling","LEFT","RIGHT","slidEvent","reflow","_this3","action","slide","_dataApiClickHandler","CAROUSEL","slideIndex","DATA_SLIDE","LOAD_DATA_API","DATA_RIDE","$carousel","Collapse","Dimension","_isTransitioning","_triggerArray","id","tabToggles","elem","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","ACTIVES","startEvent","dimension","_getDimension","COLLAPSE","COLLAPSING","COLLAPSED","attr","setTransitioning","complete","SHOWN","scrollSize","HIDE","HIDDEN","isTransitioning","WIDTH","HEIGHT","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","$target","nativeHints","isBrowser","longerTimeoutBrowsers","timeoutDuration","navigator","userAgent","debounce","hint","isNative","MutationObserver","scheduled","observe","appVersion","classCallCheck","TypeError","createClass","defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","protoProps","staticProps","assign","source","placements","BEHAVIORS","FLIP","CLOCKWISE","COUNTERCLOCKWISE","Defaults","shift","shiftvariation","_data$offsets","isVertical","side","shiftOffsets","preventOverflow","priority","primary","escapeWithReference","secondary","min","keepTogether","floor","opSide","arrow","arrowElement","querySelector","len","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","sideValue","round","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariation","flipVariations","inner","subtractLength","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","prefixedProperty","willChange","invertTop","invertLeft","x-placement","applyStyle","onLoad","modifierOptions","Popper","requestAnimationFrame","Utils","global","PopperUtils","Dropdown","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","AttachmentMap","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","DISABLED","_getParentFromElement","isActive","_clearMenus","showEvent","DROPUP","MENULEFT","MENURIGHT","_getPopperConfig","NAVBAR_NAV","noop","CLICK","stopPropagation","constructor","MENU","_getPlacement","$parentDropdown","BOTTOM","TOP","TOPEND","BOTTOMEND","offsetConf","popperConfig","toggles","context","dropdownMenu","hideEvent","_dataApiKeydownHandler","items","VISIBLE_ITEMS","get","KEYDOWN_DATA_API","KEYUP_DATA_API","FORM_CHILD","e","Modal","_dialog","DIALOG","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_originalBodyPadding","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","OPEN","_setEscapeEvent","_setResizeEvent","CLICK_DISMISS","DATA_DISMISS","MOUSEDOWN_DISMISS","MOUSEUP_DISMISS","_showBackdrop","_showElement","FOCUSIN","_hideModal","handleUpdate","ELEMENT_NODE","appendChild","display","_enforceFocus","shownEvent","transitionComplete","_this4","has","KEYDOWN_DISMISS","RESIZE","_this6","_resetAdjustments","_resetScrollbar","_this7","_removeBackdrop","animate","backdrop","doAnimate","className","BACKDROP","appendTo","_this8","callbackRemove","isModalOverflowing","scrollHeight","paddingLeft","paddingRight","_getScrollbarWidth","FIXED_CONTENT","actualPadding","calculatedPadding","_this9","STICKY_CONTENT","actualMargin","calculatedMargin","NAVBAR_TOGGLER","margin","scrollDiv","SCROLLBAR_MEASURER","scrollbarWidth","Tooltip","BSCLS_PREFIX_REGEX","HoverState","Trigger","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","isInTheDom","ownerDocument","tipId","getUID","setContent","animation","attachment","_getAttachment","addAttachmentClass","container","INSERTED","fallbackPlacement","ARROW","_handlePopperPlacementChange","_fixTransition","prevHoverState","OUT","_TRANSITION_DURATION","_cleanTipClass","HOVER","getTitle","CLASS_PREFIX","template","$tip","setElementContent","TOOLTIP_INNER","content","empty","append","text","title","MANUAL","eventIn","eventOut","FOCUSOUT","_fixTitle","titleType","delay","tabClass","join","initConfigAnimation","Popover","_getContent","TITLE","CONTENT","ScrollSpy","OffsetMethod","_scrollElement","_selector","NAV_LINKS","LIST_ITEMS","DROPDOWN_ITEMS","_offsets","_targets","_activeTarget","_scrollHeight","SCROLL","_process","refresh","autoMethod","POSITION","OFFSET","offsetMethod","method","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","item","pageYOffset","_getOffsetHeight","maxScroll","_activate","_clear","queries","$link","DROPDOWN_ITEM","DROPDOWN","DROPDOWN_TOGGLE","parents","NAV_LIST_GROUP","NAV_ITEMS","ACTIVATE","scrollSpys","DATA_SPY","$spy","Tab","previous","listElement","itemSelector","ACTIVE_UL","hiddenEvent","activeElements","active","_transitionComplete","dropdownChild","DROPDOWN_ACTIVE_CHILD","DROPDOWN_MENU","dropdownElement","version"],"mappings":"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","sourcesContent":["/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.12.5\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar nativeHints = ['native code', '[object MutationObserverConstructor]'];\n\n/**\n * Determine if a function is implemented natively (as opposed to a polyfill).\n * @method\n * @memberof Popper.Utils\n * @argument {Function | undefined} fn the function to check\n * @returns {Boolean}\n */\nvar isNative = (function (fn) {\n return nativeHints.some(function (hint) {\n return (fn || '').toString().indexOf(hint) > -1;\n });\n});\n\nvar isBrowser = typeof window !== 'undefined';\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var scheduled = false;\n var i = 0;\n var elem = document.createElement('span');\n\n // MutationObserver provides a mechanism for scheduling microtasks, which\n // are scheduled *before* the next task. This gives us a way to debounce\n // a function but ensure it's called *before* the next paint.\n var observer = new MutationObserver(function () {\n fn();\n scheduled = false;\n });\n\n observer.observe(elem, { attributes: true });\n\n return function () {\n if (!scheduled) {\n scheduled = true;\n elem.setAttribute('x-index', i);\n i = i + 1; // don't use compund (+=) because it doesn't get optimized in V8\n }\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\n// It's common for MutationObserver polyfills to be seen in the wild, however\n// these rely on Mutation Events which only occur when an element is connected\n// to the DOM. The algorithm used in this module does not use a connected element,\n// and so we must ensure that a *native* MutationObserver is available.\nvar supportsNativeMutationObserver = isBrowser && isNative(window.MutationObserver);\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsNativeMutationObserver ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element || ['HTML', 'BODY', '#document'].indexOf(element.nodeName) !== -1) {\n return window.document.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n // NOTE: 1 DOM access here\n var offsetParent = element && element.offsetParent;\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return window.document.documentElement;\n }\n\n // .offsetParent will return the closest TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return window.document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = window.document.documentElement;\n var scrollingElement = window.document.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return +styles['border' + sideA + 'Width'].split('px')[0] + +styles['border' + sideB + 'Width'].split('px')[0];\n}\n\n/**\n * Tells if you are running Internet Explorer 10\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean} isIE10\n */\nvar isIE10 = undefined;\n\nvar isIE10$1 = function () {\n if (isIE10 === undefined) {\n isIE10 = navigator.appVersion.indexOf('MSIE 10') !== -1;\n }\n return isIE10;\n};\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE10$1() ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);\n}\n\nfunction getWindowSizes() {\n var body = window.document.body;\n var html = window.document.documentElement;\n var computedStyle = isIE10$1() && window.getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n if (isIE10$1()) {\n try {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } catch (err) {}\n } else {\n rect = element.getBoundingClientRect();\n }\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var isIE10 = isIE10$1();\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = +styles.borderTopWidth.split('px')[0];\n var borderLeftWidth = +styles.borderLeftWidth.split('px')[0];\n\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = +styles.marginTop.split('px')[0];\n var marginLeft = +styles.marginLeft.split('px')[0];\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var html = window.document.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = getScroll(html);\n var scrollLeft = getScroll(html, 'left');\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n // NOTE: 1 DOM access here\n var boundaries = { top: 0, left: 0 };\n var offsetParent = findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(popper));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = window.document.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = window.document.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n boundaries.left += padding;\n boundaries.top += padding;\n boundaries.right -= padding;\n boundaries.bottom -= padding;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var commonOffsetParent = findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier.function) {\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier.function || modifier.fn;\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n data.offsets.popper.position = 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length - 1; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof window.document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.left = '';\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? window : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n window.addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n window.removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger onUpdate callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n window.cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n // floor sides to avoid blurry text\n var offsets = {\n left: Math.floor(popper.left),\n top: Math.floor(popper.top),\n bottom: Math.floor(popper.bottom),\n right: Math.floor(popper.right)\n };\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n top = -offsetParentRect.height + offsets.bottom;\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n left = -offsetParentRect.width + offsets.right;\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjuction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var popperMarginSide = getStyleComputedProperty(data.instance.popper, 'margin' + sideCapitalized).replace('px', '');\n var sideValue = center - getClientRect(data.offsets.popper)[side] - popperMarginSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = {};\n data.offsets.arrow[side] = Math.round(sideValue);\n data.offsets.arrow[altSide] = ''; // make sure to unset any eventual altSide value from the DOM node\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-right` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement);\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unitless, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the height.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * An scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper this makes sure the popper has always a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier, can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near eachothers\n * without leaving any gap between the two. Expecially useful when the arrow is\n * enabled and you want to assure it to point to its reference element.\n * It cares only about the first axis, you can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjuction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations).\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position,\n * the popper will never be placed outside of the defined boundaries\n * (except if keepTogether is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define you own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the informations used by Popper.js\n * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements.\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overriden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass as 3rd argument an object with the same\n * structure of this object, example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Whether events (resize, scroll) are initially enabled\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated, this callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Create a new Popper.js instance\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference.jquery ? reference[0] : reference;\n this.popper = popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedule an update, it will run on the next UI update available\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n let transition = false\n\n const MAX_UID = 1000000\n\n const TransitionEndEvent = {\n WebkitTransition : 'webkitTransitionEnd',\n MozTransition : 'transitionend',\n OTransition : 'oTransitionEnd otransitionend',\n transition : 'transitionend'\n }\n\n // shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-zA-Z]+)/)[1].toLowerCase()\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: transition.end,\n delegateType: transition.end,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n }\n\n function transitionEndTest() {\n if (window.QUnit) {\n return false\n }\n\n const el = document.createElement('bootstrap')\n\n for (const name in TransitionEndEvent) {\n if (typeof el.style[name] !== 'undefined') {\n return {\n end: TransitionEndEvent[name]\n }\n }\n }\n\n return false\n }\n\n function transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n }\n\n function setTransitionEndSupport() {\n transition = transitionEndTest()\n\n $.fn.emulateTransitionEnd = transitionEndEmulator\n\n if (Util.supportsTransitionEnd()) {\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n }\n }\n\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n const Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n if (!selector || selector === '#') {\n selector = element.getAttribute('href') || ''\n }\n\n try {\n const $selector = $(document).find(selector)\n return $selector.length > 0 ? selector : null\n } catch (error) {\n return null\n }\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(transition.end)\n },\n\n supportsTransitionEnd() {\n return Boolean(transition)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value) ?\n 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n }\n\n setTransitionEndSupport()\n\n return Util\n\n})($)\n\nexport default Util\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'alert'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.alert'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n\n const Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n }\n\n const Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Alert {\n\n constructor(element) {\n this._element = element\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n\n // public\n\n close(element) {\n element = element || this._element\n\n const rootElement = this._getRootElement(element)\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n\n // private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!Util.supportsTransitionEnd() ||\n !$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n )\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n }\n\n return Alert\n\n})($)\n\nexport default Alert\n","import $ from 'jquery'\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'button'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.button'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n }\n\n const Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n }\n\n const Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} `\n + `blur${EVENT_KEY}${DATA_API_KEY}`\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Button {\n\n constructor(element) {\n this._element = element\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n\n // public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = $(this._element).find(Selector.INPUT)[0]\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n $(this._element).hasClass(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n\n } else {\n const activeElement = $(rootElement).find(Selector.ACTIVE)[0]\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !$(this._element).hasClass(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !$(this._element).hasClass(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Button._jQueryInterface\n $.fn[NAME].Constructor = Button\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n }\n\n return Button\n\n})($)\n\nexport default Button\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.carousel'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 600\n const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\n const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\n const TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\n const Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true\n }\n\n const DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean'\n }\n\n const Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n }\n\n const Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item'\n }\n\n const Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n\n this._isPaused = false\n this._isSliding = false\n\n this.touchTimeout = null\n\n this._config = this._getConfig(config)\n this._element = $(element)[0]\n this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]\n\n this._addEventListeners()\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n\n // public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if ($(this._element).find(Selector.NEXT_PREV)[0] &&\n Util.supportsTransitionEnd()) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n Direction.NEXT :\n Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n if ('ontouchstart' in document.documentElement) {\n // if it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n $(this._element).on(Event.TOUCHEND, () => {\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n })\n }\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n return\n }\n }\n\n _getItemIndex(element) {\n this._items = $.makeArray($(element).parent().find(Selector.ITEM))\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0])\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n $(this._indicatorsElement)\n .find(Selector.ACTIVE)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.SLIDE)) {\n\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n\n })\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = $.extend({}, Default, $(this).data())\n\n if (typeof config === 'object') {\n $.extend(_config, config)\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new Error(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = $.extend({}, $(target).data(), $(this).data())\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n $(window).on(Event.LOAD_DATA_API, () => {\n $(Selector.DATA_RIDE).each(function () {\n const $carousel = $(this)\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n })\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n }\n\n return Carousel\n\n})($)\n\nexport default Carousel\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'collapse'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.collapse'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 600\n\n const Default = {\n toggle : true,\n parent : ''\n }\n\n const DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n }\n\n const Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n }\n\n const Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n }\n\n const Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Collapse {\n\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray($(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n const tabToggles = $(Selector.DATA_TOGGLE)\n for (let i = 0; i < tabToggles.length; i++) {\n const elem = tabToggles[i]\n const selector = Util.getSelectorFromElement(elem)\n if (selector !== null && $(selector).filter(element).length > 0) {\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n\n // public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = $.makeArray($(this._parent).children().children(Selector.ACTIVES))\n if (!actives.length) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n if (this._triggerArray.length) {\n for (let i = 0; i < this._triggerArray.length; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n if (selector !== null) {\n const $elem = $(selector)\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n config.toggle = Boolean(config.toggle) // coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent = null\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // it's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = $(this._config.parent)[0]\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n $(parent).find(selector).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n }\n\n\n // static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? $(selector)[0] : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = $.extend(\n {},\n Default,\n $this.data(),\n typeof config === 'object' && config\n )\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n $(selector).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Collapse._jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n }\n\n return Collapse\n\n})($)\n\nexport default Collapse\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (() => {\n\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new Error('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n }\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\n const TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\n const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\n const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\n const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left'\n }\n\n const Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled)'\n }\n\n const AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end'\n }\n\n const Default = {\n offset : 0,\n flip : true\n }\n\n const DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Dropdown {\n\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget : this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n let element = this._element\n // for dropup with alignment we use the parent as popper container\n if ($(parent).hasClass(ClassName.DROPUP)) {\n if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {\n element = parent\n }\n }\n this._popper = new Popper(element, this._menu, this._getPopperConfig())\n\n // if this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !$(parent).closest(Selector.NAVBAR_NAV).length) {\n $('body').children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n this._popper = null\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = $.extend(\n {},\n this.constructor.Default,\n $(this._element).data(),\n config\n )\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n this._menu = $(parent).find(Selector.MENU)[0]\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element).parent()\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = $.extend({}, data.offsets, this._config.offset(data.offsets) || {})\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n const popperConfig = {\n placement : this._getPlacement(),\n modifiers : {\n offset : offsetConf,\n flip : {\n enabled : this._config.flip\n }\n }\n }\n\n // Disable Popper.js for Dropdown in Navbar\n if (this._inNavbar) {\n popperConfig.modifiers.applyStyle = {\n enabled: !this._inNavbar\n }\n }\n return popperConfig\n }\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = $.makeArray($(Selector.DATA_TOGGLE))\n for (let i = 0; i < toggles.length; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget : toggles[i]\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE)\n && $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // if this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $('body').children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n return parent || element.parentNode\n }\n\n static _dataApiKeydownHandler(event) {\n if (!REGEXP_KEYDOWN.test(event.which) || /button/i.test(event.target.tagName) && event.which === SPACE_KEYCODE ||\n /input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = $(parent).find(Selector.DATA_TOGGLE)[0]\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = $(parent).find(Selector.VISIBLE_ITEMS).get()\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n }\n\n return Dropdown\n\n})($, Popper)\n\nexport default Dropdown\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'modal'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.modal'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 300\n const BACKDROP_TRANSITION_DURATION = 150\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\n const Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n }\n\n const DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top',\n NAVBAR_TOGGLER : '.navbar-toggler'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Modal {\n\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = $(element).find(Selector.DIALOG)[0]\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._originalBodyPadding = 0\n this._scrollbarWidth = 0\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n\n // public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isTransitioning || this._isShown) {\n return\n }\n\n if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n $(document.body).addClass(ClassName.OPEN)\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (this._isTransitioning || !this._isShown) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n\n const transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n $(window, document, this._element, this._backdrop).off(EVENT_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // don't move modals dom position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n !$(this._element).has(event.target).length) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE) ?\n ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n const doAnimate = Util.supportsTransitionEnd() && animate\n\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n $(this._backdrop).addClass(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (doAnimate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!doAnimate) {\n callback()\n return\n }\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)) {\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n } else {\n callbackRemove()\n }\n\n } else if (callback) {\n callback()\n }\n }\n\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const actualPadding = $(element)[0].style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element).data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(Selector.STICKY_CONTENT).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust navbar-toggler margin\n $(Selector.NAVBAR_TOGGLER).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) + this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $('body').css('padding-right')\n $('body').data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const padding = $(element).data('padding-right')\n if (typeof padding !== 'undefined') {\n $(element).css('padding-right', padding).removeData('padding-right')\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n $(`${Selector.STICKY_CONTENT}, ${Selector.NAVBAR_TOGGLER}`).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $('body').data('padding-right')\n if (typeof padding !== 'undefined') {\n $('body').css('padding-right', padding).removeData('padding-right')\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n\n // static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = $.extend(\n {},\n Modal.Default,\n $(this).data(),\n typeof config === 'object' && config\n )\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = $(selector)[0]\n }\n\n const config = $(target).data(DATA_KEY) ?\n 'toggle' : $.extend({}, $(target).data(), $(this).data())\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Modal._jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n }\n\n return Modal\n\n})($)\n\nexport default Modal\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tooltip = (() => {\n\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new Error('Bootstrap tooltips require Popper.js (https://popper.js.org)')\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tooltip'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.tooltip'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n const CLASS_PREFIX = 'bs-tooltip'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)'\n }\n\n const AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n }\n\n const Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">'\n + '<div class=\"arrow\"></div>'\n + '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip'\n }\n\n const HoverState = {\n SHOW : 'show',\n OUT : 'out'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n }\n\n const Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tooltip {\n\n constructor(element, config) {\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n\n // public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n\n } else {\n\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate : (data) => {\n this._handlePopperPlacementChange(data)\n }\n })\n\n $(tip).addClass(ClassName.SHOW)\n\n // if this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $('body').children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(Tooltip._TRANSITION_DURATION)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // if this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $('body').children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (Util.supportsTransitionEnd() &&\n $(this.tip).hasClass(ClassName.FADE)) {\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n } else {\n complete()\n }\n\n this._hoverState = ''\n\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle())\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n\n // private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => this.hide()\n )\n })\n\n if (this.config.selector) {\n this.config = $.extend({}, this.config, {\n trigger : 'manual',\n selector : ''\n })\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n if (this.element.getAttribute('title') ||\n titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = $.extend(\n {},\n this.constructor.Default,\n $(this.element).data(),\n config\n )\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show : config.delay,\n hide : config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(data) {\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(data.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tooltip._jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n }\n\n return Tooltip\n\n})($, Popper)\n\nexport default Tooltip\n","import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'popover'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.popover'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-popover'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const Default = $.extend({}, Tooltip.Default, {\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">'\n + '<div class=\"arrow\"></div>'\n + '<h3 class=\"popover-header\"></h3>'\n + '<div class=\"popover-body\"></div></div>'\n })\n\n const DefaultType = $.extend({}, Tooltip.DefaultType, {\n content : '(string|element|function)'\n })\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Popover extends Tooltip {\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n\n // overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // we use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n this.setElementContent($tip.find(Selector.CONTENT), this._getContent())\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // private\n\n _getContent() {\n return this.element.getAttribute('data-content')\n || (typeof this.config.content === 'function' ?\n this.config.content.call(this.element) :\n this.config.content)\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /destroy|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Popover._jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n }\n\n return Popover\n\n})($)\n\nexport default Popover\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst ScrollSpy = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'scrollspy'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.scrollspy'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n offset : 10,\n method : 'auto',\n target : ''\n }\n\n const DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n }\n\n const Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n }\n\n const Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n }\n\n const OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class ScrollSpy {\n\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},`\n + `${this._config.target} ${Selector.LIST_ITEMS},`\n + `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n\n // public\n\n refresh() {\n const autoMethod = this._scrollElement !== this._scrollElement.window ?\n OffsetMethod.POSITION : OffsetMethod.OFFSET\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = $.makeArray($(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = $(targetSelector)[0]\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // todo (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset\n + scrollHeight\n - this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i]\n && scrollTop >= this._offsets[i]\n && (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n let queries = this._selector.split(',')\n // eslint-disable-next-line arrow-body-style\n queries = queries.map((selector) => {\n return `${selector}[data-target=\"${target}\"],` +\n `${selector}[href=\"${target}\"]`\n })\n\n const $link = $(queries.join(','))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE)\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = $.makeArray($(Selector.DATA_SPY))\n\n for (let i = scrollSpys.length; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = ScrollSpy._jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n }\n\n return ScrollSpy\n\n})($)\n\nexport default ScrollSpy\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tab = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tab'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.tab'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DROPDOWN : '.dropdown',\n NAV_LIST_GROUP : '.nav, .list-group',\n ACTIVE : '.active',\n ACTIVE_UL : '> li > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tab {\n\n constructor(element) {\n this._element = element\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n\n // public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = $(selector)[0]\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n\n // private\n\n _activate(element, container, callback) {\n let activeElements\n if (container.nodeName === 'UL') {\n activeElements = $(container).find(Selector.ACTIVE_UL)\n } else {\n activeElements = $(container).children(Selector.ACTIVE)\n }\n\n const active = activeElements[0]\n const isTransitioning = callback\n && Util.supportsTransitionEnd()\n && (active && $(active).hasClass(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n isTransitioning,\n callback\n )\n\n if (active && isTransitioning) {\n $(active)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n } else {\n complete()\n }\n\n if (active) {\n $(active).removeClass(ClassName.SHOW)\n }\n }\n\n _transitionComplete(element, active, isTransitioning, callback) {\n if (active) {\n $(active).removeClass(ClassName.ACTIVE)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n if (isTransitioning) {\n Util.reflow(element)\n $(element).addClass(ClassName.SHOW)\n } else {\n $(element).removeClass(ClassName.FADE)\n }\n\n if (element.parentNode &&\n $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n if (dropdownElement) {\n $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tab._jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n }\n\n return Tab\n\n})($)\n\nexport default Tab\n","import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(() => {\n if (typeof $ === 'undefined') {\n throw new Error('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n})($)\n\nexport {\n Util,\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n Scrollspy,\n Tab,\n Tooltip\n}\n"]} \ No newline at end of file diff --git a/workspace/public/js/bootstrap.js b/workspace/public/js/bootstrap.js new file mode 100644 index 0000000..630a9e0 --- /dev/null +++ b/workspace/public/js/bootstrap.js @@ -0,0 +1,3850 @@ +/*! + * Bootstrap v4.0.0-beta.2 (https://getbootstrap.com) + * Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +var bootstrap = (function (exports,$,Popper) { +'use strict'; + +$ = $ && $.hasOwnProperty('default') ? $['default'] : $; +Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper; + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-beta.2): util.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +var Util = function () { + /** + * ------------------------------------------------------------------------ + * Private TransitionEnd Helpers + * ------------------------------------------------------------------------ + */ + var transition = false; + var MAX_UID = 1000000; + var TransitionEndEvent = { + WebkitTransition: 'webkitTransitionEnd', + MozTransition: 'transitionend', + OTransition: 'oTransitionEnd otransitionend', + transition: 'transitionend' // shoutout AngusCroll (https://goo.gl/pxwQGp) + + }; + + function toType(obj) { + return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase(); + } + + function getSpecialTransitionEndEvent() { + return { + bindType: transition.end, + delegateType: transition.end, + handle: function handle(event) { + if ($(event.target).is(this)) { + return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params + } + + return undefined; // eslint-disable-line no-undefined + } + }; + } + + function transitionEndTest() { + if (window.QUnit) { + return false; + } + + var el = document.createElement('bootstrap'); + + for (var name in TransitionEndEvent) { + if (typeof el.style[name] !== 'undefined') { + return { + end: TransitionEndEvent[name] + }; + } + } + + return false; + } + + function transitionEndEmulator(duration) { + var _this = this; + + var called = false; + $(this).one(Util.TRANSITION_END, function () { + called = true; + }); + setTimeout(function () { + if (!called) { + Util.triggerTransitionEnd(_this); + } + }, duration); + return this; + } + + function setTransitionEndSupport() { + transition = transitionEndTest(); + $.fn.emulateTransitionEnd = transitionEndEmulator; + + if (Util.supportsTransitionEnd()) { + $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent(); + } + } + /** + * -------------------------------------------------------------------------- + * Public Util Api + * -------------------------------------------------------------------------- + */ + + + var Util = { + TRANSITION_END: 'bsTransitionEnd', + getUID: function getUID(prefix) { + do { + // eslint-disable-next-line no-bitwise + prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here + } while (document.getElementById(prefix)); + + return prefix; + }, + getSelectorFromElement: function getSelectorFromElement(element) { + var selector = element.getAttribute('data-target'); + + if (!selector || selector === '#') { + selector = element.getAttribute('href') || ''; + } + + try { + var $selector = $(document).find(selector); + return $selector.length > 0 ? selector : null; + } catch (error) { + return null; + } + }, + reflow: function reflow(element) { + return element.offsetHeight; + }, + triggerTransitionEnd: function triggerTransitionEnd(element) { + $(element).trigger(transition.end); + }, + supportsTransitionEnd: function supportsTransitionEnd() { + return Boolean(transition); + }, + isElement: function isElement(obj) { + return (obj[0] || obj).nodeType; + }, + typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) { + for (var property in configTypes) { + if (Object.prototype.hasOwnProperty.call(configTypes, property)) { + var expectedTypes = configTypes[property]; + var value = config[property]; + var valueType = value && Util.isElement(value) ? 'element' : toType(value); + + if (!new RegExp(expectedTypes).test(valueType)) { + throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\".")); + } + } + } + } + }; + setTransitionEndSupport(); + return Util; +}($); + +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; +} + +var createClass = _createClass; + +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + subClass.__proto__ = superClass; +} + +var inheritsLoose = _inheritsLoose; + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-beta.2): alert.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +var Alert = function () { + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + var NAME = 'alert'; + var VERSION = '4.0.0-beta.2'; + var DATA_KEY = 'bs.alert'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var TRANSITION_DURATION = 150; + var Selector = { + DISMISS: '[data-dismiss="alert"]' + }; + var Event = { + CLOSE: "close" + EVENT_KEY, + CLOSED: "closed" + EVENT_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + ALERT: 'alert', + FADE: 'fade', + SHOW: 'show' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Alert = + /*#__PURE__*/ + function () { + function Alert(element) { + this._element = element; + } // getters + + + var _proto = Alert.prototype; + + // public + _proto.close = function close(element) { + element = element || this._element; + + var rootElement = this._getRootElement(element); + + var customEvent = this._triggerCloseEvent(rootElement); + + if (customEvent.isDefaultPrevented()) { + return; + } + + this._removeElement(rootElement); + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY); + this._element = null; + }; // private + + + _proto._getRootElement = function _getRootElement(element) { + var selector = Util.getSelectorFromElement(element); + var parent = false; + + if (selector) { + parent = $(selector)[0]; + } + + if (!parent) { + parent = $(element).closest("." + ClassName.ALERT)[0]; + } + + return parent; + }; + + _proto._triggerCloseEvent = function _triggerCloseEvent(element) { + var closeEvent = $.Event(Event.CLOSE); + $(element).trigger(closeEvent); + return closeEvent; + }; + + _proto._removeElement = function _removeElement(element) { + var _this = this; + + $(element).removeClass(ClassName.SHOW); + + if (!Util.supportsTransitionEnd() || !$(element).hasClass(ClassName.FADE)) { + this._destroyElement(element); + + return; + } + + $(element).one(Util.TRANSITION_END, function (event) { + return _this._destroyElement(element, event); + }).emulateTransitionEnd(TRANSITION_DURATION); + }; + + _proto._destroyElement = function _destroyElement(element) { + $(element).detach().trigger(Event.CLOSED).remove(); + }; // static + + + Alert._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var $element = $(this); + var data = $element.data(DATA_KEY); + + if (!data) { + data = new Alert(this); + $element.data(DATA_KEY, data); + } + + if (config === 'close') { + data[config](this); + } + }); + }; + + Alert._handleDismiss = function _handleDismiss(alertInstance) { + return function (event) { + if (event) { + event.preventDefault(); + } + + alertInstance.close(this); + }; + }; + + createClass(Alert, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }]); + return Alert; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert())); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Alert._jQueryInterface; + $.fn[NAME].Constructor = Alert; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Alert._jQueryInterface; + }; + + return Alert; +}($); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-beta.2): button.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +var Button = function () { + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + var NAME = 'button'; + var VERSION = '4.0.0-beta.2'; + var DATA_KEY = 'bs.button'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var ClassName = { + ACTIVE: 'active', + BUTTON: 'btn', + FOCUS: 'focus' + }; + var Selector = { + DATA_TOGGLE_CARROT: '[data-toggle^="button"]', + DATA_TOGGLE: '[data-toggle="buttons"]', + INPUT: 'input', + ACTIVE: '.active', + BUTTON: '.btn' + }; + var Event = { + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY, + FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY + DATA_API_KEY + " " + ("blur" + EVENT_KEY + DATA_API_KEY) + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Button = + /*#__PURE__*/ + function () { + function Button(element) { + this._element = element; + } // getters + + + var _proto = Button.prototype; + + // public + _proto.toggle = function toggle() { + var triggerChangeEvent = true; + var addAriaPressed = true; + var rootElement = $(this._element).closest(Selector.DATA_TOGGLE)[0]; + + if (rootElement) { + var input = $(this._element).find(Selector.INPUT)[0]; + + if (input) { + if (input.type === 'radio') { + if (input.checked && $(this._element).hasClass(ClassName.ACTIVE)) { + triggerChangeEvent = false; + } else { + var activeElement = $(rootElement).find(Selector.ACTIVE)[0]; + + if (activeElement) { + $(activeElement).removeClass(ClassName.ACTIVE); + } + } + } + + if (triggerChangeEvent) { + if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) { + return; + } + + input.checked = !$(this._element).hasClass(ClassName.ACTIVE); + $(input).trigger('change'); + } + + input.focus(); + addAriaPressed = false; + } + } + + if (addAriaPressed) { + this._element.setAttribute('aria-pressed', !$(this._element).hasClass(ClassName.ACTIVE)); + } + + if (triggerChangeEvent) { + $(this._element).toggleClass(ClassName.ACTIVE); + } + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY); + this._element = null; + }; // static + + + Button._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + + if (!data) { + data = new Button(this); + $(this).data(DATA_KEY, data); + } + + if (config === 'toggle') { + data[config](); + } + }); + }; + + createClass(Button, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }]); + return Button; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) { + event.preventDefault(); + var button = event.target; + + if (!$(button).hasClass(ClassName.BUTTON)) { + button = $(button).closest(Selector.BUTTON); + } + + Button._jQueryInterface.call($(button), 'toggle'); + }).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) { + var button = $(event.target).closest(Selector.BUTTON)[0]; + $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type)); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Button._jQueryInterface; + $.fn[NAME].Constructor = Button; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Button._jQueryInterface; + }; + + return Button; +}($); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-beta.2): carousel.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +var Carousel = function () { + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + var NAME = 'carousel'; + var VERSION = '4.0.0-beta.2'; + var DATA_KEY = 'bs.carousel'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var TRANSITION_DURATION = 600; + var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key + + var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key + + var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch + + var Default = { + interval: 5000, + keyboard: true, + slide: false, + pause: 'hover', + wrap: true + }; + var DefaultType = { + interval: '(number|boolean)', + keyboard: 'boolean', + slide: '(boolean|string)', + pause: '(string|boolean)', + wrap: 'boolean' + }; + var Direction = { + NEXT: 'next', + PREV: 'prev', + LEFT: 'left', + RIGHT: 'right' + }; + var Event = { + SLIDE: "slide" + EVENT_KEY, + SLID: "slid" + EVENT_KEY, + KEYDOWN: "keydown" + EVENT_KEY, + MOUSEENTER: "mouseenter" + EVENT_KEY, + MOUSELEAVE: "mouseleave" + EVENT_KEY, + TOUCHEND: "touchend" + EVENT_KEY, + LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + CAROUSEL: 'carousel', + ACTIVE: 'active', + SLIDE: 'slide', + RIGHT: 'carousel-item-right', + LEFT: 'carousel-item-left', + NEXT: 'carousel-item-next', + PREV: 'carousel-item-prev', + ITEM: 'carousel-item' + }; + var Selector = { + ACTIVE: '.active', + ACTIVE_ITEM: '.active.carousel-item', + ITEM: '.carousel-item', + NEXT_PREV: '.carousel-item-next, .carousel-item-prev', + INDICATORS: '.carousel-indicators', + DATA_SLIDE: '[data-slide], [data-slide-to]', + DATA_RIDE: '[data-ride="carousel"]' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Carousel = + /*#__PURE__*/ + function () { + function Carousel(element, config) { + this._items = null; + this._interval = null; + this._activeElement = null; + this._isPaused = false; + this._isSliding = false; + this.touchTimeout = null; + this._config = this._getConfig(config); + this._element = $(element)[0]; + this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]; + + this._addEventListeners(); + } // getters + + + var _proto = Carousel.prototype; + + // public + _proto.next = function next() { + if (!this._isSliding) { + this._slide(Direction.NEXT); + } + }; + + _proto.nextWhenVisible = function nextWhenVisible() { + // Don't call next when the page isn't visible + // or the carousel or its parent isn't visible + if (!document.hidden && $(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden') { + this.next(); + } + }; + + _proto.prev = function prev() { + if (!this._isSliding) { + this._slide(Direction.PREV); + } + }; + + _proto.pause = function pause(event) { + if (!event) { + this._isPaused = true; + } + + if ($(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) { + Util.triggerTransitionEnd(this._element); + this.cycle(true); + } + + clearInterval(this._interval); + this._interval = null; + }; + + _proto.cycle = function cycle(event) { + if (!event) { + this._isPaused = false; + } + + if (this._interval) { + clearInterval(this._interval); + this._interval = null; + } + + if (this._config.interval && !this._isPaused) { + this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval); + } + }; + + _proto.to = function to(index) { + var _this = this; + + this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]; + + var activeIndex = this._getItemIndex(this._activeElement); + + if (index > this._items.length - 1 || index < 0) { + return; + } + + if (this._isSliding) { + $(this._element).one(Event.SLID, function () { + return _this.to(index); + }); + return; + } + + if (activeIndex === index) { + this.pause(); + this.cycle(); + return; + } + + var direction = index > activeIndex ? Direction.NEXT : Direction.PREV; + + this._slide(direction, this._items[index]); + }; + + _proto.dispose = function dispose() { + $(this._element).off(EVENT_KEY); + $.removeData(this._element, DATA_KEY); + this._items = null; + this._config = null; + this._element = null; + this._interval = null; + this._isPaused = null; + this._isSliding = null; + this._activeElement = null; + this._indicatorsElement = null; + }; // private + + + _proto._getConfig = function _getConfig(config) { + config = $.extend({}, Default, config); + Util.typeCheckConfig(NAME, config, DefaultType); + return config; + }; + + _proto._addEventListeners = function _addEventListeners() { + var _this2 = this; + + if (this._config.keyboard) { + $(this._element).on(Event.KEYDOWN, function (event) { + return _this2._keydown(event); + }); + } + + if (this._config.pause === 'hover') { + $(this._element).on(Event.MOUSEENTER, function (event) { + return _this2.pause(event); + }).on(Event.MOUSELEAVE, function (event) { + return _this2.cycle(event); + }); + + if ('ontouchstart' in document.documentElement) { + // if it's a touch-enabled device, mouseenter/leave are fired as + // part of the mouse compatibility events on first tap - the carousel + // would stop cycling until user tapped out of it; + // here, we listen for touchend, explicitly pause the carousel + // (as if it's the second time we tap on it, mouseenter compat event + // is NOT fired) and after a timeout (to allow for mouse compatibility + // events to fire) we explicitly restart cycling + $(this._element).on(Event.TOUCHEND, function () { + _this2.pause(); + + if (_this2.touchTimeout) { + clearTimeout(_this2.touchTimeout); + } + + _this2.touchTimeout = setTimeout(function (event) { + return _this2.cycle(event); + }, TOUCHEVENT_COMPAT_WAIT + _this2._config.interval); + }); + } + } + }; + + _proto._keydown = function _keydown(event) { + if (/input|textarea/i.test(event.target.tagName)) { + return; + } + + switch (event.which) { + case ARROW_LEFT_KEYCODE: + event.preventDefault(); + this.prev(); + break; + + case ARROW_RIGHT_KEYCODE: + event.preventDefault(); + this.next(); + break; + + default: + return; + } + }; + + _proto._getItemIndex = function _getItemIndex(element) { + this._items = $.makeArray($(element).parent().find(Selector.ITEM)); + return this._items.indexOf(element); + }; + + _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) { + var isNextDirection = direction === Direction.NEXT; + var isPrevDirection = direction === Direction.PREV; + + var activeIndex = this._getItemIndex(activeElement); + + var lastItemIndex = this._items.length - 1; + var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex; + + if (isGoingToWrap && !this._config.wrap) { + return activeElement; + } + + var delta = direction === Direction.PREV ? -1 : 1; + var itemIndex = (activeIndex + delta) % this._items.length; + return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex]; + }; + + _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) { + var targetIndex = this._getItemIndex(relatedTarget); + + var fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0]); + + var slideEvent = $.Event(Event.SLIDE, { + relatedTarget: relatedTarget, + direction: eventDirectionName, + from: fromIndex, + to: targetIndex + }); + $(this._element).trigger(slideEvent); + return slideEvent; + }; + + _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) { + if (this._indicatorsElement) { + $(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE); + + var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)]; + + if (nextIndicator) { + $(nextIndicator).addClass(ClassName.ACTIVE); + } + } + }; + + _proto._slide = function _slide(direction, element) { + var _this3 = this; + + var activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]; + + var activeElementIndex = this._getItemIndex(activeElement); + + var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement); + + var nextElementIndex = this._getItemIndex(nextElement); + + var isCycling = Boolean(this._interval); + var directionalClassName; + var orderClassName; + var eventDirectionName; + + if (direction === Direction.NEXT) { + directionalClassName = ClassName.LEFT; + orderClassName = ClassName.NEXT; + eventDirectionName = Direction.LEFT; + } else { + directionalClassName = ClassName.RIGHT; + orderClassName = ClassName.PREV; + eventDirectionName = Direction.RIGHT; + } + + if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) { + this._isSliding = false; + return; + } + + var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName); + + if (slideEvent.isDefaultPrevented()) { + return; + } + + if (!activeElement || !nextElement) { + // some weirdness is happening, so we bail + return; + } + + this._isSliding = true; + + if (isCycling) { + this.pause(); + } + + this._setActiveIndicatorElement(nextElement); + + var slidEvent = $.Event(Event.SLID, { + relatedTarget: nextElement, + direction: eventDirectionName, + from: activeElementIndex, + to: nextElementIndex + }); + + if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.SLIDE)) { + $(nextElement).addClass(orderClassName); + Util.reflow(nextElement); + $(activeElement).addClass(directionalClassName); + $(nextElement).addClass(directionalClassName); + $(activeElement).one(Util.TRANSITION_END, function () { + $(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE); + $(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName); + _this3._isSliding = false; + setTimeout(function () { + return $(_this3._element).trigger(slidEvent); + }, 0); + }).emulateTransitionEnd(TRANSITION_DURATION); + } else { + $(activeElement).removeClass(ClassName.ACTIVE); + $(nextElement).addClass(ClassName.ACTIVE); + this._isSliding = false; + $(this._element).trigger(slidEvent); + } + + if (isCycling) { + this.cycle(); + } + }; // static + + + Carousel._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + + var _config = $.extend({}, Default, $(this).data()); + + if (typeof config === 'object') { + $.extend(_config, config); + } + + var action = typeof config === 'string' ? config : _config.slide; + + if (!data) { + data = new Carousel(this, _config); + $(this).data(DATA_KEY, data); + } + + if (typeof config === 'number') { + data.to(config); + } else if (typeof action === 'string') { + if (typeof data[action] === 'undefined') { + throw new Error("No method named \"" + action + "\""); + } + + data[action](); + } else if (_config.interval) { + data.pause(); + data.cycle(); + } + }); + }; + + Carousel._dataApiClickHandler = function _dataApiClickHandler(event) { + var selector = Util.getSelectorFromElement(this); + + if (!selector) { + return; + } + + var target = $(selector)[0]; + + if (!target || !$(target).hasClass(ClassName.CAROUSEL)) { + return; + } + + var config = $.extend({}, $(target).data(), $(this).data()); + var slideIndex = this.getAttribute('data-slide-to'); + + if (slideIndex) { + config.interval = false; + } + + Carousel._jQueryInterface.call($(target), config); + + if (slideIndex) { + $(target).data(DATA_KEY).to(slideIndex); + } + + event.preventDefault(); + }; + + createClass(Carousel, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }]); + return Carousel; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler); + $(window).on(Event.LOAD_DATA_API, function () { + $(Selector.DATA_RIDE).each(function () { + var $carousel = $(this); + + Carousel._jQueryInterface.call($carousel, $carousel.data()); + }); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Carousel._jQueryInterface; + $.fn[NAME].Constructor = Carousel; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Carousel._jQueryInterface; + }; + + return Carousel; +}($); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-beta.2): collapse.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +var Collapse = function () { + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + var NAME = 'collapse'; + var VERSION = '4.0.0-beta.2'; + var DATA_KEY = 'bs.collapse'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var TRANSITION_DURATION = 600; + var Default = { + toggle: true, + parent: '' + }; + var DefaultType = { + toggle: 'boolean', + parent: '(string|element)' + }; + var Event = { + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY, + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + SHOW: 'show', + COLLAPSE: 'collapse', + COLLAPSING: 'collapsing', + COLLAPSED: 'collapsed' + }; + var Dimension = { + WIDTH: 'width', + HEIGHT: 'height' + }; + var Selector = { + ACTIVES: '.show, .collapsing', + DATA_TOGGLE: '[data-toggle="collapse"]' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Collapse = + /*#__PURE__*/ + function () { + function Collapse(element, config) { + this._isTransitioning = false; + this._element = element; + this._config = this._getConfig(config); + this._triggerArray = $.makeArray($("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]"))); + var tabToggles = $(Selector.DATA_TOGGLE); + + for (var i = 0; i < tabToggles.length; i++) { + var elem = tabToggles[i]; + var selector = Util.getSelectorFromElement(elem); + + if (selector !== null && $(selector).filter(element).length > 0) { + this._triggerArray.push(elem); + } + } + + this._parent = this._config.parent ? this._getParent() : null; + + if (!this._config.parent) { + this._addAriaAndCollapsedClass(this._element, this._triggerArray); + } + + if (this._config.toggle) { + this.toggle(); + } + } // getters + + + var _proto = Collapse.prototype; + + // public + _proto.toggle = function toggle() { + if ($(this._element).hasClass(ClassName.SHOW)) { + this.hide(); + } else { + this.show(); + } + }; + + _proto.show = function show() { + var _this = this; + + if (this._isTransitioning || $(this._element).hasClass(ClassName.SHOW)) { + return; + } + + var actives; + var activesData; + + if (this._parent) { + actives = $.makeArray($(this._parent).children().children(Selector.ACTIVES)); + + if (!actives.length) { + actives = null; + } + } + + if (actives) { + activesData = $(actives).data(DATA_KEY); + + if (activesData && activesData._isTransitioning) { + return; + } + } + + var startEvent = $.Event(Event.SHOW); + $(this._element).trigger(startEvent); + + if (startEvent.isDefaultPrevented()) { + return; + } + + if (actives) { + Collapse._jQueryInterface.call($(actives), 'hide'); + + if (!activesData) { + $(actives).data(DATA_KEY, null); + } + } + + var dimension = this._getDimension(); + + $(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING); + this._element.style[dimension] = 0; + + if (this._triggerArray.length) { + $(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true); + } + + this.setTransitioning(true); + + var complete = function complete() { + $(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW); + _this._element.style[dimension] = ''; + + _this.setTransitioning(false); + + $(_this._element).trigger(Event.SHOWN); + }; + + if (!Util.supportsTransitionEnd()) { + complete(); + return; + } + + var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); + var scrollSize = "scroll" + capitalizedDimension; + $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION); + this._element.style[dimension] = this._element[scrollSize] + "px"; + }; + + _proto.hide = function hide() { + var _this2 = this; + + if (this._isTransitioning || !$(this._element).hasClass(ClassName.SHOW)) { + return; + } + + var startEvent = $.Event(Event.HIDE); + $(this._element).trigger(startEvent); + + if (startEvent.isDefaultPrevented()) { + return; + } + + var dimension = this._getDimension(); + + this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px"; + Util.reflow(this._element); + $(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW); + + if (this._triggerArray.length) { + for (var i = 0; i < this._triggerArray.length; i++) { + var trigger = this._triggerArray[i]; + var selector = Util.getSelectorFromElement(trigger); + + if (selector !== null) { + var $elem = $(selector); + + if (!$elem.hasClass(ClassName.SHOW)) { + $(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false); + } + } + } + } + + this.setTransitioning(true); + + var complete = function complete() { + _this2.setTransitioning(false); + + $(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN); + }; + + this._element.style[dimension] = ''; + + if (!Util.supportsTransitionEnd()) { + complete(); + return; + } + + $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION); + }; + + _proto.setTransitioning = function setTransitioning(isTransitioning) { + this._isTransitioning = isTransitioning; + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY); + this._config = null; + this._parent = null; + this._element = null; + this._triggerArray = null; + this._isTransitioning = null; + }; // private + + + _proto._getConfig = function _getConfig(config) { + config = $.extend({}, Default, config); + config.toggle = Boolean(config.toggle); // coerce string values + + Util.typeCheckConfig(NAME, config, DefaultType); + return config; + }; + + _proto._getDimension = function _getDimension() { + var hasWidth = $(this._element).hasClass(Dimension.WIDTH); + return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT; + }; + + _proto._getParent = function _getParent() { + var _this3 = this; + + var parent = null; + + if (Util.isElement(this._config.parent)) { + parent = this._config.parent; // it's a jQuery object + + if (typeof this._config.parent.jquery !== 'undefined') { + parent = this._config.parent[0]; + } + } else { + parent = $(this._config.parent)[0]; + } + + var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]"; + $(parent).find(selector).each(function (i, element) { + _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]); + }); + return parent; + }; + + _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) { + if (element) { + var isOpen = $(element).hasClass(ClassName.SHOW); + + if (triggerArray.length) { + $(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen); + } + } + }; // static + + + Collapse._getTargetFromElement = function _getTargetFromElement(element) { + var selector = Util.getSelectorFromElement(element); + return selector ? $(selector)[0] : null; + }; + + Collapse._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var $this = $(this); + var data = $this.data(DATA_KEY); + + var _config = $.extend({}, Default, $this.data(), typeof config === 'object' && config); + + if (!data && _config.toggle && /show|hide/.test(config)) { + _config.toggle = false; + } + + if (!data) { + data = new Collapse(this, _config); + $this.data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new Error("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + createClass(Collapse, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }]); + return Collapse; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { + // preventDefault only for <a> elements (which change the URL) not inside the collapsible element + if (event.currentTarget.tagName === 'A') { + event.preventDefault(); + } + + var $trigger = $(this); + var selector = Util.getSelectorFromElement(this); + $(selector).each(function () { + var $target = $(this); + var data = $target.data(DATA_KEY); + var config = data ? 'toggle' : $trigger.data(); + + Collapse._jQueryInterface.call($target, config); + }); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Collapse._jQueryInterface; + $.fn[NAME].Constructor = Collapse; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Collapse._jQueryInterface; + }; + + return Collapse; +}($); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-beta.2): dropdown.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +var Dropdown = function () { + /** + * Check for Popper dependency + * Popper - https://popper.js.org + */ + if (typeof Popper === 'undefined') { + throw new Error('Bootstrap dropdown require Popper.js (https://popper.js.org)'); + } + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + + var NAME = 'dropdown'; + var VERSION = '4.0.0-beta.2'; + var DATA_KEY = 'bs.dropdown'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key + + var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key + + var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key + + var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key + + var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key + + var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse) + + var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE); + var Event = { + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY, + CLICK: "click" + EVENT_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY, + KEYDOWN_DATA_API: "keydown" + EVENT_KEY + DATA_API_KEY, + KEYUP_DATA_API: "keyup" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + DISABLED: 'disabled', + SHOW: 'show', + DROPUP: 'dropup', + MENURIGHT: 'dropdown-menu-right', + MENULEFT: 'dropdown-menu-left' + }; + var Selector = { + DATA_TOGGLE: '[data-toggle="dropdown"]', + FORM_CHILD: '.dropdown form', + MENU: '.dropdown-menu', + NAVBAR_NAV: '.navbar-nav', + VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled)' + }; + var AttachmentMap = { + TOP: 'top-start', + TOPEND: 'top-end', + BOTTOM: 'bottom-start', + BOTTOMEND: 'bottom-end' + }; + var Default = { + offset: 0, + flip: true + }; + var DefaultType = { + offset: '(number|string|function)', + flip: 'boolean' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Dropdown = + /*#__PURE__*/ + function () { + function Dropdown(element, config) { + this._element = element; + this._popper = null; + this._config = this._getConfig(config); + this._menu = this._getMenuElement(); + this._inNavbar = this._detectNavbar(); + + this._addEventListeners(); + } // getters + + + var _proto = Dropdown.prototype; + + // public + _proto.toggle = function toggle() { + if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) { + return; + } + + var parent = Dropdown._getParentFromElement(this._element); + + var isActive = $(this._menu).hasClass(ClassName.SHOW); + + Dropdown._clearMenus(); + + if (isActive) { + return; + } + + var relatedTarget = { + relatedTarget: this._element + }; + var showEvent = $.Event(Event.SHOW, relatedTarget); + $(parent).trigger(showEvent); + + if (showEvent.isDefaultPrevented()) { + return; + } + + var element = this._element; // for dropup with alignment we use the parent as popper container + + if ($(parent).hasClass(ClassName.DROPUP)) { + if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) { + element = parent; + } + } + + this._popper = new Popper(element, this._menu, this._getPopperConfig()); // if this is a touch-enabled device we add extra + // empty mouseover listeners to the body's immediate children; + // only needed because of broken event delegation on iOS + // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html + + if ('ontouchstart' in document.documentElement && !$(parent).closest(Selector.NAVBAR_NAV).length) { + $('body').children().on('mouseover', null, $.noop); + } + + this._element.focus(); + + this._element.setAttribute('aria-expanded', true); + + $(this._menu).toggleClass(ClassName.SHOW); + $(parent).toggleClass(ClassName.SHOW).trigger($.Event(Event.SHOWN, relatedTarget)); + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY); + $(this._element).off(EVENT_KEY); + this._element = null; + this._menu = null; + + if (this._popper !== null) { + this._popper.destroy(); + } + + this._popper = null; + }; + + _proto.update = function update() { + this._inNavbar = this._detectNavbar(); + + if (this._popper !== null) { + this._popper.scheduleUpdate(); + } + }; // private + + + _proto._addEventListeners = function _addEventListeners() { + var _this = this; + + $(this._element).on(Event.CLICK, function (event) { + event.preventDefault(); + event.stopPropagation(); + + _this.toggle(); + }); + }; + + _proto._getConfig = function _getConfig(config) { + config = $.extend({}, this.constructor.Default, $(this._element).data(), config); + Util.typeCheckConfig(NAME, config, this.constructor.DefaultType); + return config; + }; + + _proto._getMenuElement = function _getMenuElement() { + if (!this._menu) { + var parent = Dropdown._getParentFromElement(this._element); + + this._menu = $(parent).find(Selector.MENU)[0]; + } + + return this._menu; + }; + + _proto._getPlacement = function _getPlacement() { + var $parentDropdown = $(this._element).parent(); + var placement = AttachmentMap.BOTTOM; // Handle dropup + + if ($parentDropdown.hasClass(ClassName.DROPUP)) { + placement = AttachmentMap.TOP; + + if ($(this._menu).hasClass(ClassName.MENURIGHT)) { + placement = AttachmentMap.TOPEND; + } + } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) { + placement = AttachmentMap.BOTTOMEND; + } + + return placement; + }; + + _proto._detectNavbar = function _detectNavbar() { + return $(this._element).closest('.navbar').length > 0; + }; + + _proto._getPopperConfig = function _getPopperConfig() { + var _this2 = this; + + var offsetConf = {}; + + if (typeof this._config.offset === 'function') { + offsetConf.fn = function (data) { + data.offsets = $.extend({}, data.offsets, _this2._config.offset(data.offsets) || {}); + return data; + }; + } else { + offsetConf.offset = this._config.offset; + } + + var popperConfig = { + placement: this._getPlacement(), + modifiers: { + offset: offsetConf, + flip: { + enabled: this._config.flip + } + } // Disable Popper.js for Dropdown in Navbar + + }; + + if (this._inNavbar) { + popperConfig.modifiers.applyStyle = { + enabled: !this._inNavbar + }; + } + + return popperConfig; + }; // static + + + Dropdown._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + + var _config = typeof config === 'object' ? config : null; + + if (!data) { + data = new Dropdown(this, _config); + $(this).data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new Error("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + Dropdown._clearMenus = function _clearMenus(event) { + if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) { + return; + } + + var toggles = $.makeArray($(Selector.DATA_TOGGLE)); + + for (var i = 0; i < toggles.length; i++) { + var parent = Dropdown._getParentFromElement(toggles[i]); + + var context = $(toggles[i]).data(DATA_KEY); + var relatedTarget = { + relatedTarget: toggles[i] + }; + + if (!context) { + continue; + } + + var dropdownMenu = context._menu; + + if (!$(parent).hasClass(ClassName.SHOW)) { + continue; + } + + if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $.contains(parent, event.target)) { + continue; + } + + var hideEvent = $.Event(Event.HIDE, relatedTarget); + $(parent).trigger(hideEvent); + + if (hideEvent.isDefaultPrevented()) { + continue; + } // if this is a touch-enabled device we remove the extra + // empty mouseover listeners we added for iOS support + + + if ('ontouchstart' in document.documentElement) { + $('body').children().off('mouseover', null, $.noop); + } + + toggles[i].setAttribute('aria-expanded', 'false'); + $(dropdownMenu).removeClass(ClassName.SHOW); + $(parent).removeClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget)); + } + }; + + Dropdown._getParentFromElement = function _getParentFromElement(element) { + var parent; + var selector = Util.getSelectorFromElement(element); + + if (selector) { + parent = $(selector)[0]; + } + + return parent || element.parentNode; + }; + + Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) { + if (!REGEXP_KEYDOWN.test(event.which) || /button/i.test(event.target.tagName) && event.which === SPACE_KEYCODE || /input|textarea/i.test(event.target.tagName)) { + return; + } + + event.preventDefault(); + event.stopPropagation(); + + if (this.disabled || $(this).hasClass(ClassName.DISABLED)) { + return; + } + + var parent = Dropdown._getParentFromElement(this); + + var isActive = $(parent).hasClass(ClassName.SHOW); + + if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) { + if (event.which === ESCAPE_KEYCODE) { + var toggle = $(parent).find(Selector.DATA_TOGGLE)[0]; + $(toggle).trigger('focus'); + } + + $(this).trigger('click'); + return; + } + + var items = $(parent).find(Selector.VISIBLE_ITEMS).get(); + + if (!items.length) { + return; + } + + var index = items.indexOf(event.target); + + if (event.which === ARROW_UP_KEYCODE && index > 0) { + // up + index--; + } + + if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { + // down + index++; + } + + if (index < 0) { + index = 0; + } + + items[index].focus(); + }; + + createClass(Dropdown, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }, { + key: "DefaultType", + get: function get() { + return DefaultType; + } + }]); + return Dropdown; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + " " + Event.KEYUP_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { + event.preventDefault(); + event.stopPropagation(); + + Dropdown._jQueryInterface.call($(this), 'toggle'); + }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) { + e.stopPropagation(); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Dropdown._jQueryInterface; + $.fn[NAME].Constructor = Dropdown; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Dropdown._jQueryInterface; + }; + + return Dropdown; +}($, Popper); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-beta.2): modal.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +var Modal = function () { + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + var NAME = 'modal'; + var VERSION = '4.0.0-beta.2'; + var DATA_KEY = 'bs.modal'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var TRANSITION_DURATION = 300; + var BACKDROP_TRANSITION_DURATION = 150; + var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key + + var Default = { + backdrop: true, + keyboard: true, + focus: true, + show: true + }; + var DefaultType = { + backdrop: '(boolean|string)', + keyboard: 'boolean', + focus: 'boolean', + show: 'boolean' + }; + var Event = { + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY, + FOCUSIN: "focusin" + EVENT_KEY, + RESIZE: "resize" + EVENT_KEY, + CLICK_DISMISS: "click.dismiss" + EVENT_KEY, + KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY, + MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY, + MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + SCROLLBAR_MEASURER: 'modal-scrollbar-measure', + BACKDROP: 'modal-backdrop', + OPEN: 'modal-open', + FADE: 'fade', + SHOW: 'show' + }; + var Selector = { + DIALOG: '.modal-dialog', + DATA_TOGGLE: '[data-toggle="modal"]', + DATA_DISMISS: '[data-dismiss="modal"]', + FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top', + STICKY_CONTENT: '.sticky-top', + NAVBAR_TOGGLER: '.navbar-toggler' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Modal = + /*#__PURE__*/ + function () { + function Modal(element, config) { + this._config = this._getConfig(config); + this._element = element; + this._dialog = $(element).find(Selector.DIALOG)[0]; + this._backdrop = null; + this._isShown = false; + this._isBodyOverflowing = false; + this._ignoreBackdropClick = false; + this._originalBodyPadding = 0; + this._scrollbarWidth = 0; + } // getters + + + var _proto = Modal.prototype; + + // public + _proto.toggle = function toggle(relatedTarget) { + return this._isShown ? this.hide() : this.show(relatedTarget); + }; + + _proto.show = function show(relatedTarget) { + var _this = this; + + if (this._isTransitioning || this._isShown) { + return; + } + + if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) { + this._isTransitioning = true; + } + + var showEvent = $.Event(Event.SHOW, { + relatedTarget: relatedTarget + }); + $(this._element).trigger(showEvent); + + if (this._isShown || showEvent.isDefaultPrevented()) { + return; + } + + this._isShown = true; + + this._checkScrollbar(); + + this._setScrollbar(); + + this._adjustDialog(); + + $(document.body).addClass(ClassName.OPEN); + + this._setEscapeEvent(); + + this._setResizeEvent(); + + $(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) { + return _this.hide(event); + }); + $(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () { + $(_this._element).one(Event.MOUSEUP_DISMISS, function (event) { + if ($(event.target).is(_this._element)) { + _this._ignoreBackdropClick = true; + } + }); + }); + + this._showBackdrop(function () { + return _this._showElement(relatedTarget); + }); + }; + + _proto.hide = function hide(event) { + var _this2 = this; + + if (event) { + event.preventDefault(); + } + + if (this._isTransitioning || !this._isShown) { + return; + } + + var hideEvent = $.Event(Event.HIDE); + $(this._element).trigger(hideEvent); + + if (!this._isShown || hideEvent.isDefaultPrevented()) { + return; + } + + this._isShown = false; + var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE); + + if (transition) { + this._isTransitioning = true; + } + + this._setEscapeEvent(); + + this._setResizeEvent(); + + $(document).off(Event.FOCUSIN); + $(this._element).removeClass(ClassName.SHOW); + $(this._element).off(Event.CLICK_DISMISS); + $(this._dialog).off(Event.MOUSEDOWN_DISMISS); + + if (transition) { + $(this._element).one(Util.TRANSITION_END, function (event) { + return _this2._hideModal(event); + }).emulateTransitionEnd(TRANSITION_DURATION); + } else { + this._hideModal(); + } + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY); + $(window, document, this._element, this._backdrop).off(EVENT_KEY); + this._config = null; + this._element = null; + this._dialog = null; + this._backdrop = null; + this._isShown = null; + this._isBodyOverflowing = null; + this._ignoreBackdropClick = null; + this._scrollbarWidth = null; + }; + + _proto.handleUpdate = function handleUpdate() { + this._adjustDialog(); + }; // private + + + _proto._getConfig = function _getConfig(config) { + config = $.extend({}, Default, config); + Util.typeCheckConfig(NAME, config, DefaultType); + return config; + }; + + _proto._showElement = function _showElement(relatedTarget) { + var _this3 = this; + + var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE); + + if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) { + // don't move modals dom position + document.body.appendChild(this._element); + } + + this._element.style.display = 'block'; + + this._element.removeAttribute('aria-hidden'); + + this._element.scrollTop = 0; + + if (transition) { + Util.reflow(this._element); + } + + $(this._element).addClass(ClassName.SHOW); + + if (this._config.focus) { + this._enforceFocus(); + } + + var shownEvent = $.Event(Event.SHOWN, { + relatedTarget: relatedTarget + }); + + var transitionComplete = function transitionComplete() { + if (_this3._config.focus) { + _this3._element.focus(); + } + + _this3._isTransitioning = false; + $(_this3._element).trigger(shownEvent); + }; + + if (transition) { + $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION); + } else { + transitionComplete(); + } + }; + + _proto._enforceFocus = function _enforceFocus() { + var _this4 = this; + + $(document).off(Event.FOCUSIN) // guard against infinite focus loop + .on(Event.FOCUSIN, function (event) { + if (document !== event.target && _this4._element !== event.target && !$(_this4._element).has(event.target).length) { + _this4._element.focus(); + } + }); + }; + + _proto._setEscapeEvent = function _setEscapeEvent() { + var _this5 = this; + + if (this._isShown && this._config.keyboard) { + $(this._element).on(Event.KEYDOWN_DISMISS, function (event) { + if (event.which === ESCAPE_KEYCODE) { + event.preventDefault(); + + _this5.hide(); + } + }); + } else if (!this._isShown) { + $(this._element).off(Event.KEYDOWN_DISMISS); + } + }; + + _proto._setResizeEvent = function _setResizeEvent() { + var _this6 = this; + + if (this._isShown) { + $(window).on(Event.RESIZE, function (event) { + return _this6.handleUpdate(event); + }); + } else { + $(window).off(Event.RESIZE); + } + }; + + _proto._hideModal = function _hideModal() { + var _this7 = this; + + this._element.style.display = 'none'; + + this._element.setAttribute('aria-hidden', true); + + this._isTransitioning = false; + + this._showBackdrop(function () { + $(document.body).removeClass(ClassName.OPEN); + + _this7._resetAdjustments(); + + _this7._resetScrollbar(); + + $(_this7._element).trigger(Event.HIDDEN); + }); + }; + + _proto._removeBackdrop = function _removeBackdrop() { + if (this._backdrop) { + $(this._backdrop).remove(); + this._backdrop = null; + } + }; + + _proto._showBackdrop = function _showBackdrop(callback) { + var _this8 = this; + + var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : ''; + + if (this._isShown && this._config.backdrop) { + var doAnimate = Util.supportsTransitionEnd() && animate; + this._backdrop = document.createElement('div'); + this._backdrop.className = ClassName.BACKDROP; + + if (animate) { + $(this._backdrop).addClass(animate); + } + + $(this._backdrop).appendTo(document.body); + $(this._element).on(Event.CLICK_DISMISS, function (event) { + if (_this8._ignoreBackdropClick) { + _this8._ignoreBackdropClick = false; + return; + } + + if (event.target !== event.currentTarget) { + return; + } + + if (_this8._config.backdrop === 'static') { + _this8._element.focus(); + } else { + _this8.hide(); + } + }); + + if (doAnimate) { + Util.reflow(this._backdrop); + } + + $(this._backdrop).addClass(ClassName.SHOW); + + if (!callback) { + return; + } + + if (!doAnimate) { + callback(); + return; + } + + $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION); + } else if (!this._isShown && this._backdrop) { + $(this._backdrop).removeClass(ClassName.SHOW); + + var callbackRemove = function callbackRemove() { + _this8._removeBackdrop(); + + if (callback) { + callback(); + } + }; + + if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) { + $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION); + } else { + callbackRemove(); + } + } else if (callback) { + callback(); + } + }; // ---------------------------------------------------------------------- + // the following methods are used to handle overflowing modals + // todo (fat): these should probably be refactored out of modal.js + // ---------------------------------------------------------------------- + + + _proto._adjustDialog = function _adjustDialog() { + var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; + + if (!this._isBodyOverflowing && isModalOverflowing) { + this._element.style.paddingLeft = this._scrollbarWidth + "px"; + } + + if (this._isBodyOverflowing && !isModalOverflowing) { + this._element.style.paddingRight = this._scrollbarWidth + "px"; + } + }; + + _proto._resetAdjustments = function _resetAdjustments() { + this._element.style.paddingLeft = ''; + this._element.style.paddingRight = ''; + }; + + _proto._checkScrollbar = function _checkScrollbar() { + var rect = document.body.getBoundingClientRect(); + this._isBodyOverflowing = rect.left + rect.right < window.innerWidth; + this._scrollbarWidth = this._getScrollbarWidth(); + }; + + _proto._setScrollbar = function _setScrollbar() { + var _this9 = this; + + if (this._isBodyOverflowing) { + // Note: DOMNode.style.paddingRight returns the actual value or '' if not set + // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set + // Adjust fixed content padding + $(Selector.FIXED_CONTENT).each(function (index, element) { + var actualPadding = $(element)[0].style.paddingRight; + var calculatedPadding = $(element).css('padding-right'); + $(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px"); + }); // Adjust sticky content margin + + $(Selector.STICKY_CONTENT).each(function (index, element) { + var actualMargin = $(element)[0].style.marginRight; + var calculatedMargin = $(element).css('margin-right'); + $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px"); + }); // Adjust navbar-toggler margin + + $(Selector.NAVBAR_TOGGLER).each(function (index, element) { + var actualMargin = $(element)[0].style.marginRight; + var calculatedMargin = $(element).css('margin-right'); + $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) + _this9._scrollbarWidth + "px"); + }); // Adjust body padding + + var actualPadding = document.body.style.paddingRight; + var calculatedPadding = $('body').css('padding-right'); + $('body').data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px"); + } + }; + + _proto._resetScrollbar = function _resetScrollbar() { + // Restore fixed content padding + $(Selector.FIXED_CONTENT).each(function (index, element) { + var padding = $(element).data('padding-right'); + + if (typeof padding !== 'undefined') { + $(element).css('padding-right', padding).removeData('padding-right'); + } + }); // Restore sticky content and navbar-toggler margin + + $(Selector.STICKY_CONTENT + ", " + Selector.NAVBAR_TOGGLER).each(function (index, element) { + var margin = $(element).data('margin-right'); + + if (typeof margin !== 'undefined') { + $(element).css('margin-right', margin).removeData('margin-right'); + } + }); // Restore body padding + + var padding = $('body').data('padding-right'); + + if (typeof padding !== 'undefined') { + $('body').css('padding-right', padding).removeData('padding-right'); + } + }; + + _proto._getScrollbarWidth = function _getScrollbarWidth() { + // thx d.walsh + var scrollDiv = document.createElement('div'); + scrollDiv.className = ClassName.SCROLLBAR_MEASURER; + document.body.appendChild(scrollDiv); + var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth; + document.body.removeChild(scrollDiv); + return scrollbarWidth; + }; // static + + + Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + + var _config = $.extend({}, Modal.Default, $(this).data(), typeof config === 'object' && config); + + if (!data) { + data = new Modal(this, _config); + $(this).data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new Error("No method named \"" + config + "\""); + } + + data[config](relatedTarget); + } else if (_config.show) { + data.show(relatedTarget); + } + }); + }; + + createClass(Modal, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }]); + return Modal; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { + var _this10 = this; + + var target; + var selector = Util.getSelectorFromElement(this); + + if (selector) { + target = $(selector)[0]; + } + + var config = $(target).data(DATA_KEY) ? 'toggle' : $.extend({}, $(target).data(), $(this).data()); + + if (this.tagName === 'A' || this.tagName === 'AREA') { + event.preventDefault(); + } + + var $target = $(target).one(Event.SHOW, function (showEvent) { + if (showEvent.isDefaultPrevented()) { + // only register focus restorer if modal will actually get shown + return; + } + + $target.one(Event.HIDDEN, function () { + if ($(_this10).is(':visible')) { + _this10.focus(); + } + }); + }); + + Modal._jQueryInterface.call($(target), config, this); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Modal._jQueryInterface; + $.fn[NAME].Constructor = Modal; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Modal._jQueryInterface; + }; + + return Modal; +}($); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-beta.2): tooltip.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +var Tooltip = function () { + /** + * Check for Popper dependency + * Popper - https://popper.js.org + */ + if (typeof Popper === 'undefined') { + throw new Error('Bootstrap tooltips require Popper.js (https://popper.js.org)'); + } + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + + var NAME = 'tooltip'; + var VERSION = '4.0.0-beta.2'; + var DATA_KEY = 'bs.tooltip'; + var EVENT_KEY = "." + DATA_KEY; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var TRANSITION_DURATION = 150; + var CLASS_PREFIX = 'bs-tooltip'; + var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g'); + var DefaultType = { + animation: 'boolean', + template: 'string', + title: '(string|element|function)', + trigger: 'string', + delay: '(number|object)', + html: 'boolean', + selector: '(string|boolean)', + placement: '(string|function)', + offset: '(number|string)', + container: '(string|element|boolean)', + fallbackPlacement: '(string|array)' + }; + var AttachmentMap = { + AUTO: 'auto', + TOP: 'top', + RIGHT: 'right', + BOTTOM: 'bottom', + LEFT: 'left' + }; + var Default = { + animation: true, + template: '<div class="tooltip" role="tooltip">' + '<div class="arrow"></div>' + '<div class="tooltip-inner"></div></div>', + trigger: 'hover focus', + title: '', + delay: 0, + html: false, + selector: false, + placement: 'top', + offset: 0, + container: false, + fallbackPlacement: 'flip' + }; + var HoverState = { + SHOW: 'show', + OUT: 'out' + }; + var Event = { + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY, + INSERTED: "inserted" + EVENT_KEY, + CLICK: "click" + EVENT_KEY, + FOCUSIN: "focusin" + EVENT_KEY, + FOCUSOUT: "focusout" + EVENT_KEY, + MOUSEENTER: "mouseenter" + EVENT_KEY, + MOUSELEAVE: "mouseleave" + EVENT_KEY + }; + var ClassName = { + FADE: 'fade', + SHOW: 'show' + }; + var Selector = { + TOOLTIP: '.tooltip', + TOOLTIP_INNER: '.tooltip-inner', + ARROW: '.arrow' + }; + var Trigger = { + HOVER: 'hover', + FOCUS: 'focus', + CLICK: 'click', + MANUAL: 'manual' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Tooltip = + /*#__PURE__*/ + function () { + function Tooltip(element, config) { + // private + this._isEnabled = true; + this._timeout = 0; + this._hoverState = ''; + this._activeTrigger = {}; + this._popper = null; // protected + + this.element = element; + this.config = this._getConfig(config); + this.tip = null; + + this._setListeners(); + } // getters + + + var _proto = Tooltip.prototype; + + // public + _proto.enable = function enable() { + this._isEnabled = true; + }; + + _proto.disable = function disable() { + this._isEnabled = false; + }; + + _proto.toggleEnabled = function toggleEnabled() { + this._isEnabled = !this._isEnabled; + }; + + _proto.toggle = function toggle(event) { + if (!this._isEnabled) { + return; + } + + if (event) { + var dataKey = this.constructor.DATA_KEY; + var context = $(event.currentTarget).data(dataKey); + + if (!context) { + context = new this.constructor(event.currentTarget, this._getDelegateConfig()); + $(event.currentTarget).data(dataKey, context); + } + + context._activeTrigger.click = !context._activeTrigger.click; + + if (context._isWithActiveTrigger()) { + context._enter(null, context); + } else { + context._leave(null, context); + } + } else { + if ($(this.getTipElement()).hasClass(ClassName.SHOW)) { + this._leave(null, this); + + return; + } + + this._enter(null, this); + } + }; + + _proto.dispose = function dispose() { + clearTimeout(this._timeout); + $.removeData(this.element, this.constructor.DATA_KEY); + $(this.element).off(this.constructor.EVENT_KEY); + $(this.element).closest('.modal').off('hide.bs.modal'); + + if (this.tip) { + $(this.tip).remove(); + } + + this._isEnabled = null; + this._timeout = null; + this._hoverState = null; + this._activeTrigger = null; + + if (this._popper !== null) { + this._popper.destroy(); + } + + this._popper = null; + this.element = null; + this.config = null; + this.tip = null; + }; + + _proto.show = function show() { + var _this = this; + + if ($(this.element).css('display') === 'none') { + throw new Error('Please use show on visible elements'); + } + + var showEvent = $.Event(this.constructor.Event.SHOW); + + if (this.isWithContent() && this._isEnabled) { + $(this.element).trigger(showEvent); + var isInTheDom = $.contains(this.element.ownerDocument.documentElement, this.element); + + if (showEvent.isDefaultPrevented() || !isInTheDom) { + return; + } + + var tip = this.getTipElement(); + var tipId = Util.getUID(this.constructor.NAME); + tip.setAttribute('id', tipId); + this.element.setAttribute('aria-describedby', tipId); + this.setContent(); + + if (this.config.animation) { + $(tip).addClass(ClassName.FADE); + } + + var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement; + + var attachment = this._getAttachment(placement); + + this.addAttachmentClass(attachment); + var container = this.config.container === false ? document.body : $(this.config.container); + $(tip).data(this.constructor.DATA_KEY, this); + + if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) { + $(tip).appendTo(container); + } + + $(this.element).trigger(this.constructor.Event.INSERTED); + this._popper = new Popper(this.element, tip, { + placement: attachment, + modifiers: { + offset: { + offset: this.config.offset + }, + flip: { + behavior: this.config.fallbackPlacement + }, + arrow: { + element: Selector.ARROW + } + }, + onCreate: function onCreate(data) { + if (data.originalPlacement !== data.placement) { + _this._handlePopperPlacementChange(data); + } + }, + onUpdate: function onUpdate(data) { + _this._handlePopperPlacementChange(data); + } + }); + $(tip).addClass(ClassName.SHOW); // if this is a touch-enabled device we add extra + // empty mouseover listeners to the body's immediate children; + // only needed because of broken event delegation on iOS + // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html + + if ('ontouchstart' in document.documentElement) { + $('body').children().on('mouseover', null, $.noop); + } + + var complete = function complete() { + if (_this.config.animation) { + _this._fixTransition(); + } + + var prevHoverState = _this._hoverState; + _this._hoverState = null; + $(_this.element).trigger(_this.constructor.Event.SHOWN); + + if (prevHoverState === HoverState.OUT) { + _this._leave(null, _this); + } + }; + + if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) { + $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION); + } else { + complete(); + } + } + }; + + _proto.hide = function hide(callback) { + var _this2 = this; + + var tip = this.getTipElement(); + var hideEvent = $.Event(this.constructor.Event.HIDE); + + var complete = function complete() { + if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) { + tip.parentNode.removeChild(tip); + } + + _this2._cleanTipClass(); + + _this2.element.removeAttribute('aria-describedby'); + + $(_this2.element).trigger(_this2.constructor.Event.HIDDEN); + + if (_this2._popper !== null) { + _this2._popper.destroy(); + } + + if (callback) { + callback(); + } + }; + + $(this.element).trigger(hideEvent); + + if (hideEvent.isDefaultPrevented()) { + return; + } + + $(tip).removeClass(ClassName.SHOW); // if this is a touch-enabled device we remove the extra + // empty mouseover listeners we added for iOS support + + if ('ontouchstart' in document.documentElement) { + $('body').children().off('mouseover', null, $.noop); + } + + this._activeTrigger[Trigger.CLICK] = false; + this._activeTrigger[Trigger.FOCUS] = false; + this._activeTrigger[Trigger.HOVER] = false; + + if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) { + $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION); + } else { + complete(); + } + + this._hoverState = ''; + }; + + _proto.update = function update() { + if (this._popper !== null) { + this._popper.scheduleUpdate(); + } + }; // protected + + + _proto.isWithContent = function isWithContent() { + return Boolean(this.getTitle()); + }; + + _proto.addAttachmentClass = function addAttachmentClass(attachment) { + $(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment); + }; + + _proto.getTipElement = function getTipElement() { + this.tip = this.tip || $(this.config.template)[0]; + return this.tip; + }; + + _proto.setContent = function setContent() { + var $tip = $(this.getTipElement()); + this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle()); + $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW); + }; + + _proto.setElementContent = function setElementContent($element, content) { + var html = this.config.html; + + if (typeof content === 'object' && (content.nodeType || content.jquery)) { + // content is a DOM node or a jQuery + if (html) { + if (!$(content).parent().is($element)) { + $element.empty().append(content); + } + } else { + $element.text($(content).text()); + } + } else { + $element[html ? 'html' : 'text'](content); + } + }; + + _proto.getTitle = function getTitle() { + var title = this.element.getAttribute('data-original-title'); + + if (!title) { + title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title; + } + + return title; + }; // private + + + _proto._getAttachment = function _getAttachment(placement) { + return AttachmentMap[placement.toUpperCase()]; + }; + + _proto._setListeners = function _setListeners() { + var _this3 = this; + + var triggers = this.config.trigger.split(' '); + triggers.forEach(function (trigger) { + if (trigger === 'click') { + $(_this3.element).on(_this3.constructor.Event.CLICK, _this3.config.selector, function (event) { + return _this3.toggle(event); + }); + } else if (trigger !== Trigger.MANUAL) { + var eventIn = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSEENTER : _this3.constructor.Event.FOCUSIN; + var eventOut = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSELEAVE : _this3.constructor.Event.FOCUSOUT; + $(_this3.element).on(eventIn, _this3.config.selector, function (event) { + return _this3._enter(event); + }).on(eventOut, _this3.config.selector, function (event) { + return _this3._leave(event); + }); + } + + $(_this3.element).closest('.modal').on('hide.bs.modal', function () { + return _this3.hide(); + }); + }); + + if (this.config.selector) { + this.config = $.extend({}, this.config, { + trigger: 'manual', + selector: '' + }); + } else { + this._fixTitle(); + } + }; + + _proto._fixTitle = function _fixTitle() { + var titleType = typeof this.element.getAttribute('data-original-title'); + + if (this.element.getAttribute('title') || titleType !== 'string') { + this.element.setAttribute('data-original-title', this.element.getAttribute('title') || ''); + this.element.setAttribute('title', ''); + } + }; + + _proto._enter = function _enter(event, context) { + var dataKey = this.constructor.DATA_KEY; + context = context || $(event.currentTarget).data(dataKey); + + if (!context) { + context = new this.constructor(event.currentTarget, this._getDelegateConfig()); + $(event.currentTarget).data(dataKey, context); + } + + if (event) { + context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true; + } + + if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) { + context._hoverState = HoverState.SHOW; + return; + } + + clearTimeout(context._timeout); + context._hoverState = HoverState.SHOW; + + if (!context.config.delay || !context.config.delay.show) { + context.show(); + return; + } + + context._timeout = setTimeout(function () { + if (context._hoverState === HoverState.SHOW) { + context.show(); + } + }, context.config.delay.show); + }; + + _proto._leave = function _leave(event, context) { + var dataKey = this.constructor.DATA_KEY; + context = context || $(event.currentTarget).data(dataKey); + + if (!context) { + context = new this.constructor(event.currentTarget, this._getDelegateConfig()); + $(event.currentTarget).data(dataKey, context); + } + + if (event) { + context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false; + } + + if (context._isWithActiveTrigger()) { + return; + } + + clearTimeout(context._timeout); + context._hoverState = HoverState.OUT; + + if (!context.config.delay || !context.config.delay.hide) { + context.hide(); + return; + } + + context._timeout = setTimeout(function () { + if (context._hoverState === HoverState.OUT) { + context.hide(); + } + }, context.config.delay.hide); + }; + + _proto._isWithActiveTrigger = function _isWithActiveTrigger() { + for (var trigger in this._activeTrigger) { + if (this._activeTrigger[trigger]) { + return true; + } + } + + return false; + }; + + _proto._getConfig = function _getConfig(config) { + config = $.extend({}, this.constructor.Default, $(this.element).data(), config); + + if (typeof config.delay === 'number') { + config.delay = { + show: config.delay, + hide: config.delay + }; + } + + if (typeof config.title === 'number') { + config.title = config.title.toString(); + } + + if (typeof config.content === 'number') { + config.content = config.content.toString(); + } + + Util.typeCheckConfig(NAME, config, this.constructor.DefaultType); + return config; + }; + + _proto._getDelegateConfig = function _getDelegateConfig() { + var config = {}; + + if (this.config) { + for (var key in this.config) { + if (this.constructor.Default[key] !== this.config[key]) { + config[key] = this.config[key]; + } + } + } + + return config; + }; + + _proto._cleanTipClass = function _cleanTipClass() { + var $tip = $(this.getTipElement()); + var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX); + + if (tabClass !== null && tabClass.length > 0) { + $tip.removeClass(tabClass.join('')); + } + }; + + _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(data) { + this._cleanTipClass(); + + this.addAttachmentClass(this._getAttachment(data.placement)); + }; + + _proto._fixTransition = function _fixTransition() { + var tip = this.getTipElement(); + var initConfigAnimation = this.config.animation; + + if (tip.getAttribute('x-placement') !== null) { + return; + } + + $(tip).removeClass(ClassName.FADE); + this.config.animation = false; + this.hide(); + this.show(); + this.config.animation = initConfigAnimation; + }; // static + + + Tooltip._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + + var _config = typeof config === 'object' && config; + + if (!data && /dispose|hide/.test(config)) { + return; + } + + if (!data) { + data = new Tooltip(this, _config); + $(this).data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new Error("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + createClass(Tooltip, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }, { + key: "NAME", + get: function get() { + return NAME; + } + }, { + key: "DATA_KEY", + get: function get() { + return DATA_KEY; + } + }, { + key: "Event", + get: function get() { + return Event; + } + }, { + key: "EVENT_KEY", + get: function get() { + return EVENT_KEY; + } + }, { + key: "DefaultType", + get: function get() { + return DefaultType; + } + }]); + return Tooltip; + }(); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + + $.fn[NAME] = Tooltip._jQueryInterface; + $.fn[NAME].Constructor = Tooltip; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Tooltip._jQueryInterface; + }; + + return Tooltip; +}($, Popper); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-beta.2): popover.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +var Popover = function () { + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + var NAME = 'popover'; + var VERSION = '4.0.0-beta.2'; + var DATA_KEY = 'bs.popover'; + var EVENT_KEY = "." + DATA_KEY; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var CLASS_PREFIX = 'bs-popover'; + var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g'); + var Default = $.extend({}, Tooltip.Default, { + placement: 'right', + trigger: 'click', + content: '', + template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>' + }); + var DefaultType = $.extend({}, Tooltip.DefaultType, { + content: '(string|element|function)' + }); + var ClassName = { + FADE: 'fade', + SHOW: 'show' + }; + var Selector = { + TITLE: '.popover-header', + CONTENT: '.popover-body' + }; + var Event = { + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY, + INSERTED: "inserted" + EVENT_KEY, + CLICK: "click" + EVENT_KEY, + FOCUSIN: "focusin" + EVENT_KEY, + FOCUSOUT: "focusout" + EVENT_KEY, + MOUSEENTER: "mouseenter" + EVENT_KEY, + MOUSELEAVE: "mouseleave" + EVENT_KEY + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Popover = + /*#__PURE__*/ + function (_Tooltip) { + inheritsLoose(Popover, _Tooltip); + + function Popover() { + return _Tooltip.apply(this, arguments) || this; + } + + var _proto = Popover.prototype; + + // overrides + _proto.isWithContent = function isWithContent() { + return this.getTitle() || this._getContent(); + }; + + _proto.addAttachmentClass = function addAttachmentClass(attachment) { + $(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment); + }; + + _proto.getTipElement = function getTipElement() { + this.tip = this.tip || $(this.config.template)[0]; + return this.tip; + }; + + _proto.setContent = function setContent() { + var $tip = $(this.getTipElement()); // we use append for html objects to maintain js events + + this.setElementContent($tip.find(Selector.TITLE), this.getTitle()); + this.setElementContent($tip.find(Selector.CONTENT), this._getContent()); + $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW); + }; // private + + + _proto._getContent = function _getContent() { + return this.element.getAttribute('data-content') || (typeof this.config.content === 'function' ? this.config.content.call(this.element) : this.config.content); + }; + + _proto._cleanTipClass = function _cleanTipClass() { + var $tip = $(this.getTipElement()); + var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX); + + if (tabClass !== null && tabClass.length > 0) { + $tip.removeClass(tabClass.join('')); + } + }; // static + + + Popover._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + + var _config = typeof config === 'object' ? config : null; + + if (!data && /destroy|hide/.test(config)) { + return; + } + + if (!data) { + data = new Popover(this, _config); + $(this).data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new Error("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + createClass(Popover, null, [{ + key: "VERSION", + // getters + get: function get() { + return VERSION; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }, { + key: "NAME", + get: function get() { + return NAME; + } + }, { + key: "DATA_KEY", + get: function get() { + return DATA_KEY; + } + }, { + key: "Event", + get: function get() { + return Event; + } + }, { + key: "EVENT_KEY", + get: function get() { + return EVENT_KEY; + } + }, { + key: "DefaultType", + get: function get() { + return DefaultType; + } + }]); + return Popover; + }(Tooltip); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + + $.fn[NAME] = Popover._jQueryInterface; + $.fn[NAME].Constructor = Popover; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Popover._jQueryInterface; + }; + + return Popover; +}($); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-beta.2): scrollspy.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +var ScrollSpy = function () { + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + var NAME = 'scrollspy'; + var VERSION = '4.0.0-beta.2'; + var DATA_KEY = 'bs.scrollspy'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var Default = { + offset: 10, + method: 'auto', + target: '' + }; + var DefaultType = { + offset: 'number', + method: 'string', + target: '(string|element)' + }; + var Event = { + ACTIVATE: "activate" + EVENT_KEY, + SCROLL: "scroll" + EVENT_KEY, + LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + DROPDOWN_ITEM: 'dropdown-item', + DROPDOWN_MENU: 'dropdown-menu', + ACTIVE: 'active' + }; + var Selector = { + DATA_SPY: '[data-spy="scroll"]', + ACTIVE: '.active', + NAV_LIST_GROUP: '.nav, .list-group', + NAV_LINKS: '.nav-link', + NAV_ITEMS: '.nav-item', + LIST_ITEMS: '.list-group-item', + DROPDOWN: '.dropdown', + DROPDOWN_ITEMS: '.dropdown-item', + DROPDOWN_TOGGLE: '.dropdown-toggle' + }; + var OffsetMethod = { + OFFSET: 'offset', + POSITION: 'position' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var ScrollSpy = + /*#__PURE__*/ + function () { + function ScrollSpy(element, config) { + var _this = this; + + this._element = element; + this._scrollElement = element.tagName === 'BODY' ? window : element; + this._config = this._getConfig(config); + this._selector = this._config.target + " " + Selector.NAV_LINKS + "," + (this._config.target + " " + Selector.LIST_ITEMS + ",") + (this._config.target + " " + Selector.DROPDOWN_ITEMS); + this._offsets = []; + this._targets = []; + this._activeTarget = null; + this._scrollHeight = 0; + $(this._scrollElement).on(Event.SCROLL, function (event) { + return _this._process(event); + }); + this.refresh(); + + this._process(); + } // getters + + + var _proto = ScrollSpy.prototype; + + // public + _proto.refresh = function refresh() { + var _this2 = this; + + var autoMethod = this._scrollElement !== this._scrollElement.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET; + var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method; + var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0; + this._offsets = []; + this._targets = []; + this._scrollHeight = this._getScrollHeight(); + var targets = $.makeArray($(this._selector)); + targets.map(function (element) { + var target; + var targetSelector = Util.getSelectorFromElement(element); + + if (targetSelector) { + target = $(targetSelector)[0]; + } + + if (target) { + var targetBCR = target.getBoundingClientRect(); + + if (targetBCR.width || targetBCR.height) { + // todo (fat): remove sketch reliance on jQuery position/offset + return [$(target)[offsetMethod]().top + offsetBase, targetSelector]; + } + } + + return null; + }).filter(function (item) { + return item; + }).sort(function (a, b) { + return a[0] - b[0]; + }).forEach(function (item) { + _this2._offsets.push(item[0]); + + _this2._targets.push(item[1]); + }); + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY); + $(this._scrollElement).off(EVENT_KEY); + this._element = null; + this._scrollElement = null; + this._config = null; + this._selector = null; + this._offsets = null; + this._targets = null; + this._activeTarget = null; + this._scrollHeight = null; + }; // private + + + _proto._getConfig = function _getConfig(config) { + config = $.extend({}, Default, config); + + if (typeof config.target !== 'string') { + var id = $(config.target).attr('id'); + + if (!id) { + id = Util.getUID(NAME); + $(config.target).attr('id', id); + } + + config.target = "#" + id; + } + + Util.typeCheckConfig(NAME, config, DefaultType); + return config; + }; + + _proto._getScrollTop = function _getScrollTop() { + return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop; + }; + + _proto._getScrollHeight = function _getScrollHeight() { + return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight); + }; + + _proto._getOffsetHeight = function _getOffsetHeight() { + return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height; + }; + + _proto._process = function _process() { + var scrollTop = this._getScrollTop() + this._config.offset; + + var scrollHeight = this._getScrollHeight(); + + var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight(); + + if (this._scrollHeight !== scrollHeight) { + this.refresh(); + } + + if (scrollTop >= maxScroll) { + var target = this._targets[this._targets.length - 1]; + + if (this._activeTarget !== target) { + this._activate(target); + } + + return; + } + + if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) { + this._activeTarget = null; + + this._clear(); + + return; + } + + for (var i = this._offsets.length; i--;) { + var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]); + + if (isActiveTarget) { + this._activate(this._targets[i]); + } + } + }; + + _proto._activate = function _activate(target) { + this._activeTarget = target; + + this._clear(); + + var queries = this._selector.split(','); // eslint-disable-next-line arrow-body-style + + + queries = queries.map(function (selector) { + return selector + "[data-target=\"" + target + "\"]," + (selector + "[href=\"" + target + "\"]"); + }); + var $link = $(queries.join(',')); + + if ($link.hasClass(ClassName.DROPDOWN_ITEM)) { + $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE); + $link.addClass(ClassName.ACTIVE); + } else { + // Set triggered link as active + $link.addClass(ClassName.ACTIVE); // Set triggered links parents as active + // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor + + $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_LINKS + ", " + Selector.LIST_ITEMS).addClass(ClassName.ACTIVE); // Handle special case when .nav-link is inside .nav-item + + $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE); + } + + $(this._scrollElement).trigger(Event.ACTIVATE, { + relatedTarget: target + }); + }; + + _proto._clear = function _clear() { + $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE); + }; // static + + + ScrollSpy._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + + var _config = typeof config === 'object' && config; + + if (!data) { + data = new ScrollSpy(this, _config); + $(this).data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new Error("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + createClass(ScrollSpy, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }]); + return ScrollSpy; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(window).on(Event.LOAD_DATA_API, function () { + var scrollSpys = $.makeArray($(Selector.DATA_SPY)); + + for (var i = scrollSpys.length; i--;) { + var $spy = $(scrollSpys[i]); + + ScrollSpy._jQueryInterface.call($spy, $spy.data()); + } + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = ScrollSpy._jQueryInterface; + $.fn[NAME].Constructor = ScrollSpy; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return ScrollSpy._jQueryInterface; + }; + + return ScrollSpy; +}($); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-beta.2): tab.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +var Tab = function () { + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + var NAME = 'tab'; + var VERSION = '4.0.0-beta.2'; + var DATA_KEY = 'bs.tab'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var TRANSITION_DURATION = 150; + var Event = { + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + DROPDOWN_MENU: 'dropdown-menu', + ACTIVE: 'active', + DISABLED: 'disabled', + FADE: 'fade', + SHOW: 'show' + }; + var Selector = { + DROPDOWN: '.dropdown', + NAV_LIST_GROUP: '.nav, .list-group', + ACTIVE: '.active', + ACTIVE_UL: '> li > .active', + DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]', + DROPDOWN_TOGGLE: '.dropdown-toggle', + DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + }; + + var Tab = + /*#__PURE__*/ + function () { + function Tab(element) { + this._element = element; + } // getters + + + var _proto = Tab.prototype; + + // public + _proto.show = function show() { + var _this = this; + + if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE) || $(this._element).hasClass(ClassName.DISABLED)) { + return; + } + + var target; + var previous; + var listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]; + var selector = Util.getSelectorFromElement(this._element); + + if (listElement) { + var itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE; + previous = $.makeArray($(listElement).find(itemSelector)); + previous = previous[previous.length - 1]; + } + + var hideEvent = $.Event(Event.HIDE, { + relatedTarget: this._element + }); + var showEvent = $.Event(Event.SHOW, { + relatedTarget: previous + }); + + if (previous) { + $(previous).trigger(hideEvent); + } + + $(this._element).trigger(showEvent); + + if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) { + return; + } + + if (selector) { + target = $(selector)[0]; + } + + this._activate(this._element, listElement); + + var complete = function complete() { + var hiddenEvent = $.Event(Event.HIDDEN, { + relatedTarget: _this._element + }); + var shownEvent = $.Event(Event.SHOWN, { + relatedTarget: previous + }); + $(previous).trigger(hiddenEvent); + $(_this._element).trigger(shownEvent); + }; + + if (target) { + this._activate(target, target.parentNode, complete); + } else { + complete(); + } + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY); + this._element = null; + }; // private + + + _proto._activate = function _activate(element, container, callback) { + var _this2 = this; + + var activeElements; + + if (container.nodeName === 'UL') { + activeElements = $(container).find(Selector.ACTIVE_UL); + } else { + activeElements = $(container).children(Selector.ACTIVE); + } + + var active = activeElements[0]; + var isTransitioning = callback && Util.supportsTransitionEnd() && active && $(active).hasClass(ClassName.FADE); + + var complete = function complete() { + return _this2._transitionComplete(element, active, isTransitioning, callback); + }; + + if (active && isTransitioning) { + $(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION); + } else { + complete(); + } + + if (active) { + $(active).removeClass(ClassName.SHOW); + } + }; + + _proto._transitionComplete = function _transitionComplete(element, active, isTransitioning, callback) { + if (active) { + $(active).removeClass(ClassName.ACTIVE); + var dropdownChild = $(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0]; + + if (dropdownChild) { + $(dropdownChild).removeClass(ClassName.ACTIVE); + } + + if (active.getAttribute('role') === 'tab') { + active.setAttribute('aria-selected', false); + } + } + + $(element).addClass(ClassName.ACTIVE); + + if (element.getAttribute('role') === 'tab') { + element.setAttribute('aria-selected', true); + } + + if (isTransitioning) { + Util.reflow(element); + $(element).addClass(ClassName.SHOW); + } else { + $(element).removeClass(ClassName.FADE); + } + + if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) { + var dropdownElement = $(element).closest(Selector.DROPDOWN)[0]; + + if (dropdownElement) { + $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE); + } + + element.setAttribute('aria-expanded', true); + } + + if (callback) { + callback(); + } + }; // static + + + Tab._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var $this = $(this); + var data = $this.data(DATA_KEY); + + if (!data) { + data = new Tab(this); + $this.data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new Error("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + createClass(Tab, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }]); + return Tab; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { + event.preventDefault(); + + Tab._jQueryInterface.call($(this), 'show'); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Tab._jQueryInterface; + $.fn[NAME].Constructor = Tab; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Tab._jQueryInterface; + }; + + return Tab; +}($); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-alpha.6): index.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +(function () { + if (typeof $ === 'undefined') { + throw new Error('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.'); + } + + var version = $.fn.jquery.split(' ')[0].split('.'); + var minMajor = 1; + var ltMajor = 2; + var minMinor = 9; + var minPatch = 1; + var maxMajor = 4; + + if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) { + throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0'); + } +})($); + +exports.Util = Util; +exports.Alert = Alert; +exports.Button = Button; +exports.Carousel = Carousel; +exports.Collapse = Collapse; +exports.Dropdown = Dropdown; +exports.Modal = Modal; +exports.Popover = Popover; +exports.Scrollspy = ScrollSpy; +exports.Tab = Tab; +exports.Tooltip = Tooltip; + +return exports; + +}({},$,Popper)); +//# sourceMappingURL=bootstrap.js.map diff --git a/workspace/public/js/bootstrap.js.map b/workspace/public/js/bootstrap.js.map new file mode 100644 index 0000000..ee14a1d --- /dev/null +++ b/workspace/public/js/bootstrap.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bootstrap.js","sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/index.js"],"sourcesContent":["import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n let transition = false\n\n const MAX_UID = 1000000\n\n const TransitionEndEvent = {\n WebkitTransition : 'webkitTransitionEnd',\n MozTransition : 'transitionend',\n OTransition : 'oTransitionEnd otransitionend',\n transition : 'transitionend'\n }\n\n // shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-zA-Z]+)/)[1].toLowerCase()\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: transition.end,\n delegateType: transition.end,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n }\n\n function transitionEndTest() {\n if (window.QUnit) {\n return false\n }\n\n const el = document.createElement('bootstrap')\n\n for (const name in TransitionEndEvent) {\n if (typeof el.style[name] !== 'undefined') {\n return {\n end: TransitionEndEvent[name]\n }\n }\n }\n\n return false\n }\n\n function transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n }\n\n function setTransitionEndSupport() {\n transition = transitionEndTest()\n\n $.fn.emulateTransitionEnd = transitionEndEmulator\n\n if (Util.supportsTransitionEnd()) {\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n }\n }\n\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n const Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n if (!selector || selector === '#') {\n selector = element.getAttribute('href') || ''\n }\n\n try {\n const $selector = $(document).find(selector)\n return $selector.length > 0 ? selector : null\n } catch (error) {\n return null\n }\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(transition.end)\n },\n\n supportsTransitionEnd() {\n return Boolean(transition)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value) ?\n 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n }\n\n setTransitionEndSupport()\n\n return Util\n\n})($)\n\nexport default Util\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'alert'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.alert'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n\n const Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n }\n\n const Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Alert {\n\n constructor(element) {\n this._element = element\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n\n // public\n\n close(element) {\n element = element || this._element\n\n const rootElement = this._getRootElement(element)\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n\n // private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!Util.supportsTransitionEnd() ||\n !$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n )\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n }\n\n return Alert\n\n})($)\n\nexport default Alert\n","import $ from 'jquery'\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'button'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.button'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n }\n\n const Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n }\n\n const Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} `\n + `blur${EVENT_KEY}${DATA_API_KEY}`\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Button {\n\n constructor(element) {\n this._element = element\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n\n // public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = $(this._element).find(Selector.INPUT)[0]\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n $(this._element).hasClass(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n\n } else {\n const activeElement = $(rootElement).find(Selector.ACTIVE)[0]\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !$(this._element).hasClass(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !$(this._element).hasClass(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Button._jQueryInterface\n $.fn[NAME].Constructor = Button\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n }\n\n return Button\n\n})($)\n\nexport default Button\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.carousel'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 600\n const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\n const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\n const TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\n const Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true\n }\n\n const DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean'\n }\n\n const Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n }\n\n const Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item'\n }\n\n const Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n\n this._isPaused = false\n this._isSliding = false\n\n this.touchTimeout = null\n\n this._config = this._getConfig(config)\n this._element = $(element)[0]\n this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]\n\n this._addEventListeners()\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n\n // public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if ($(this._element).find(Selector.NEXT_PREV)[0] &&\n Util.supportsTransitionEnd()) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n Direction.NEXT :\n Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n if ('ontouchstart' in document.documentElement) {\n // if it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n $(this._element).on(Event.TOUCHEND, () => {\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n })\n }\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n return\n }\n }\n\n _getItemIndex(element) {\n this._items = $.makeArray($(element).parent().find(Selector.ITEM))\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0])\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n $(this._indicatorsElement)\n .find(Selector.ACTIVE)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.SLIDE)) {\n\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n\n })\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = $.extend({}, Default, $(this).data())\n\n if (typeof config === 'object') {\n $.extend(_config, config)\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new Error(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = $.extend({}, $(target).data(), $(this).data())\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n $(window).on(Event.LOAD_DATA_API, () => {\n $(Selector.DATA_RIDE).each(function () {\n const $carousel = $(this)\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n })\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n }\n\n return Carousel\n\n})($)\n\nexport default Carousel\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'collapse'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.collapse'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 600\n\n const Default = {\n toggle : true,\n parent : ''\n }\n\n const DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n }\n\n const Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n }\n\n const Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n }\n\n const Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Collapse {\n\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray($(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n const tabToggles = $(Selector.DATA_TOGGLE)\n for (let i = 0; i < tabToggles.length; i++) {\n const elem = tabToggles[i]\n const selector = Util.getSelectorFromElement(elem)\n if (selector !== null && $(selector).filter(element).length > 0) {\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n\n // public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = $.makeArray($(this._parent).children().children(Selector.ACTIVES))\n if (!actives.length) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n if (this._triggerArray.length) {\n for (let i = 0; i < this._triggerArray.length; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n if (selector !== null) {\n const $elem = $(selector)\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n config.toggle = Boolean(config.toggle) // coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent = null\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // it's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = $(this._config.parent)[0]\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n $(parent).find(selector).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n }\n\n\n // static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? $(selector)[0] : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = $.extend(\n {},\n Default,\n $this.data(),\n typeof config === 'object' && config\n )\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n $(selector).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Collapse._jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n }\n\n return Collapse\n\n})($)\n\nexport default Collapse\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (() => {\n\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new Error('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n }\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\n const TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\n const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\n const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\n const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left'\n }\n\n const Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled)'\n }\n\n const AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end'\n }\n\n const Default = {\n offset : 0,\n flip : true\n }\n\n const DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Dropdown {\n\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget : this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n let element = this._element\n // for dropup with alignment we use the parent as popper container\n if ($(parent).hasClass(ClassName.DROPUP)) {\n if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {\n element = parent\n }\n }\n this._popper = new Popper(element, this._menu, this._getPopperConfig())\n\n // if this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !$(parent).closest(Selector.NAVBAR_NAV).length) {\n $('body').children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n this._popper = null\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = $.extend(\n {},\n this.constructor.Default,\n $(this._element).data(),\n config\n )\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n this._menu = $(parent).find(Selector.MENU)[0]\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element).parent()\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = $.extend({}, data.offsets, this._config.offset(data.offsets) || {})\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n const popperConfig = {\n placement : this._getPlacement(),\n modifiers : {\n offset : offsetConf,\n flip : {\n enabled : this._config.flip\n }\n }\n }\n\n // Disable Popper.js for Dropdown in Navbar\n if (this._inNavbar) {\n popperConfig.modifiers.applyStyle = {\n enabled: !this._inNavbar\n }\n }\n return popperConfig\n }\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = $.makeArray($(Selector.DATA_TOGGLE))\n for (let i = 0; i < toggles.length; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget : toggles[i]\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE)\n && $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // if this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $('body').children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n return parent || element.parentNode\n }\n\n static _dataApiKeydownHandler(event) {\n if (!REGEXP_KEYDOWN.test(event.which) || /button/i.test(event.target.tagName) && event.which === SPACE_KEYCODE ||\n /input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = $(parent).find(Selector.DATA_TOGGLE)[0]\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = $(parent).find(Selector.VISIBLE_ITEMS).get()\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n }\n\n return Dropdown\n\n})($, Popper)\n\nexport default Dropdown\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'modal'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.modal'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 300\n const BACKDROP_TRANSITION_DURATION = 150\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\n const Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n }\n\n const DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top',\n NAVBAR_TOGGLER : '.navbar-toggler'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Modal {\n\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = $(element).find(Selector.DIALOG)[0]\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._originalBodyPadding = 0\n this._scrollbarWidth = 0\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n\n // public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isTransitioning || this._isShown) {\n return\n }\n\n if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n $(document.body).addClass(ClassName.OPEN)\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (this._isTransitioning || !this._isShown) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n\n const transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n $(window, document, this._element, this._backdrop).off(EVENT_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // don't move modals dom position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n !$(this._element).has(event.target).length) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE) ?\n ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n const doAnimate = Util.supportsTransitionEnd() && animate\n\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n $(this._backdrop).addClass(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (doAnimate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!doAnimate) {\n callback()\n return\n }\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)) {\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n } else {\n callbackRemove()\n }\n\n } else if (callback) {\n callback()\n }\n }\n\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const actualPadding = $(element)[0].style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element).data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(Selector.STICKY_CONTENT).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust navbar-toggler margin\n $(Selector.NAVBAR_TOGGLER).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) + this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $('body').css('padding-right')\n $('body').data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const padding = $(element).data('padding-right')\n if (typeof padding !== 'undefined') {\n $(element).css('padding-right', padding).removeData('padding-right')\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n $(`${Selector.STICKY_CONTENT}, ${Selector.NAVBAR_TOGGLER}`).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $('body').data('padding-right')\n if (typeof padding !== 'undefined') {\n $('body').css('padding-right', padding).removeData('padding-right')\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n\n // static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = $.extend(\n {},\n Modal.Default,\n $(this).data(),\n typeof config === 'object' && config\n )\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = $(selector)[0]\n }\n\n const config = $(target).data(DATA_KEY) ?\n 'toggle' : $.extend({}, $(target).data(), $(this).data())\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Modal._jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n }\n\n return Modal\n\n})($)\n\nexport default Modal\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tooltip = (() => {\n\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new Error('Bootstrap tooltips require Popper.js (https://popper.js.org)')\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tooltip'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.tooltip'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n const CLASS_PREFIX = 'bs-tooltip'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)'\n }\n\n const AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n }\n\n const Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">'\n + '<div class=\"arrow\"></div>'\n + '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip'\n }\n\n const HoverState = {\n SHOW : 'show',\n OUT : 'out'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n }\n\n const Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tooltip {\n\n constructor(element, config) {\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n\n // public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n\n } else {\n\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate : (data) => {\n this._handlePopperPlacementChange(data)\n }\n })\n\n $(tip).addClass(ClassName.SHOW)\n\n // if this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $('body').children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(Tooltip._TRANSITION_DURATION)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // if this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $('body').children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (Util.supportsTransitionEnd() &&\n $(this.tip).hasClass(ClassName.FADE)) {\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n } else {\n complete()\n }\n\n this._hoverState = ''\n\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle())\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n\n // private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => this.hide()\n )\n })\n\n if (this.config.selector) {\n this.config = $.extend({}, this.config, {\n trigger : 'manual',\n selector : ''\n })\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n if (this.element.getAttribute('title') ||\n titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = $.extend(\n {},\n this.constructor.Default,\n $(this.element).data(),\n config\n )\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show : config.delay,\n hide : config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(data) {\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(data.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tooltip._jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n }\n\n return Tooltip\n\n})($, Popper)\n\nexport default Tooltip\n","import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'popover'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.popover'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-popover'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const Default = $.extend({}, Tooltip.Default, {\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">'\n + '<div class=\"arrow\"></div>'\n + '<h3 class=\"popover-header\"></h3>'\n + '<div class=\"popover-body\"></div></div>'\n })\n\n const DefaultType = $.extend({}, Tooltip.DefaultType, {\n content : '(string|element|function)'\n })\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Popover extends Tooltip {\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n\n // overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // we use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n this.setElementContent($tip.find(Selector.CONTENT), this._getContent())\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // private\n\n _getContent() {\n return this.element.getAttribute('data-content')\n || (typeof this.config.content === 'function' ?\n this.config.content.call(this.element) :\n this.config.content)\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /destroy|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Popover._jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n }\n\n return Popover\n\n})($)\n\nexport default Popover\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst ScrollSpy = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'scrollspy'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.scrollspy'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n offset : 10,\n method : 'auto',\n target : ''\n }\n\n const DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n }\n\n const Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n }\n\n const Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n }\n\n const OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class ScrollSpy {\n\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},`\n + `${this._config.target} ${Selector.LIST_ITEMS},`\n + `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n\n // public\n\n refresh() {\n const autoMethod = this._scrollElement !== this._scrollElement.window ?\n OffsetMethod.POSITION : OffsetMethod.OFFSET\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = $.makeArray($(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = $(targetSelector)[0]\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // todo (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset\n + scrollHeight\n - this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i]\n && scrollTop >= this._offsets[i]\n && (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n let queries = this._selector.split(',')\n // eslint-disable-next-line arrow-body-style\n queries = queries.map((selector) => {\n return `${selector}[data-target=\"${target}\"],` +\n `${selector}[href=\"${target}\"]`\n })\n\n const $link = $(queries.join(','))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE)\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = $.makeArray($(Selector.DATA_SPY))\n\n for (let i = scrollSpys.length; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = ScrollSpy._jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n }\n\n return ScrollSpy\n\n})($)\n\nexport default ScrollSpy\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tab = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tab'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.tab'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DROPDOWN : '.dropdown',\n NAV_LIST_GROUP : '.nav, .list-group',\n ACTIVE : '.active',\n ACTIVE_UL : '> li > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tab {\n\n constructor(element) {\n this._element = element\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n\n // public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = $(selector)[0]\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n\n // private\n\n _activate(element, container, callback) {\n let activeElements\n if (container.nodeName === 'UL') {\n activeElements = $(container).find(Selector.ACTIVE_UL)\n } else {\n activeElements = $(container).children(Selector.ACTIVE)\n }\n\n const active = activeElements[0]\n const isTransitioning = callback\n && Util.supportsTransitionEnd()\n && (active && $(active).hasClass(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n isTransitioning,\n callback\n )\n\n if (active && isTransitioning) {\n $(active)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n } else {\n complete()\n }\n\n if (active) {\n $(active).removeClass(ClassName.SHOW)\n }\n }\n\n _transitionComplete(element, active, isTransitioning, callback) {\n if (active) {\n $(active).removeClass(ClassName.ACTIVE)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n if (isTransitioning) {\n Util.reflow(element)\n $(element).addClass(ClassName.SHOW)\n } else {\n $(element).removeClass(ClassName.FADE)\n }\n\n if (element.parentNode &&\n $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n if (dropdownElement) {\n $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tab._jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n }\n\n return Tab\n\n})($)\n\nexport default Tab\n","import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(() => {\n if (typeof $ === 'undefined') {\n throw new Error('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n})($)\n\nexport {\n Util,\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n Scrollspy,\n Tab,\n Tooltip\n}\n"],"names":["Util","transition","MAX_UID","TransitionEndEvent","toType","obj","toString","call","match","toLowerCase","getSpecialTransitionEndEvent","end","event","$","target","is","handleObj","handler","apply","arguments","undefined","transitionEndTest","window","QUnit","el","document","createElement","name","style","transitionEndEmulator","duration","called","one","TRANSITION_END","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","supportsTransitionEnd","special","prefix","Math","random","getElementById","element","selector","getAttribute","$selector","find","length","error","offsetHeight","trigger","Boolean","nodeType","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","isElement","RegExp","test","Error","toUpperCase","Alert","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","TRANSITION_DURATION","Selector","Event","ClassName","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","getSelectorFromElement","parent","closest","ALERT","closeEvent","CLOSE","removeClass","SHOW","hasClass","FADE","_destroyElement","detach","CLOSED","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","CLICK_DATA_API","DISMISS","Constructor","noConflict","Button","toggle","triggerChangeEvent","addAriaPressed","DATA_TOGGLE","input","INPUT","type","checked","ACTIVE","activeElement","hasAttribute","classList","contains","focus","setAttribute","toggleClass","DATA_TOGGLE_CARROT","button","BUTTON","FOCUS_BLUR_DATA_API","FOCUS","Carousel","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","Default","DefaultType","Direction","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","_config","_getConfig","_indicatorsElement","INDICATORS","_addEventListeners","next","_slide","NEXT","nextWhenVisible","hidden","css","prev","PREV","pause","NEXT_PREV","cycle","interval","setInterval","visibilityState","bind","to","index","ACTIVE_ITEM","activeIndex","_getItemIndex","SLID","direction","off","extend","typeCheckConfig","keyboard","KEYDOWN","_keydown","MOUSEENTER","MOUSELEAVE","documentElement","TOUCHEND","setTimeout","tagName","which","makeArray","ITEM","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","wrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","SLIDE","_setActiveIndicatorElement","nextIndicator","children","addClass","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","LEFT","RIGHT","slidEvent","reflow","action","slide","_dataApiClickHandler","CAROUSEL","slideIndex","DATA_SLIDE","LOAD_DATA_API","DATA_RIDE","$carousel","Collapse","Dimension","_isTransitioning","_triggerArray","id","tabToggles","i","elem","filter","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","ACTIVES","startEvent","dimension","_getDimension","COLLAPSE","COLLAPSING","COLLAPSED","attr","setTransitioning","complete","SHOWN","capitalizedDimension","slice","scrollSize","HIDE","getBoundingClientRect","$elem","HIDDEN","isTransitioning","hasWidth","WIDTH","HEIGHT","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","$target","Dropdown","Popper","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","AttachmentMap","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","DISABLED","_getParentFromElement","isActive","_clearMenus","showEvent","DROPUP","MENULEFT","MENURIGHT","_getPopperConfig","NAVBAR_NAV","noop","destroy","update","scheduleUpdate","CLICK","stopPropagation","constructor","MENU","_getPlacement","$parentDropdown","placement","BOTTOM","TOP","TOPEND","BOTTOMEND","offsetConf","offset","offsets","popperConfig","flip","modifiers","applyStyle","toggles","context","dropdownMenu","hideEvent","parentNode","_dataApiKeydownHandler","items","VISIBLE_ITEMS","get","KEYDOWN_DATA_API","KEYUP_DATA_API","FORM_CHILD","e","Modal","BACKDROP_TRANSITION_DURATION","_dialog","DIALOG","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_originalBodyPadding","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","body","OPEN","_setEscapeEvent","_setResizeEvent","CLICK_DISMISS","DATA_DISMISS","MOUSEDOWN_DISMISS","MOUSEUP_DISMISS","_showBackdrop","_showElement","FOCUSIN","_hideModal","handleUpdate","Node","ELEMENT_NODE","appendChild","display","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","has","KEYDOWN_DISMISS","RESIZE","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","backdrop","doAnimate","className","BACKDROP","appendTo","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","left","right","innerWidth","_getScrollbarWidth","FIXED_CONTENT","actualPadding","calculatedPadding","parseFloat","STICKY_CONTENT","actualMargin","marginRight","calculatedMargin","NAVBAR_TOGGLER","padding","margin","scrollDiv","SCROLLBAR_MEASURER","scrollbarWidth","width","clientWidth","removeChild","Tooltip","CLASS_PREFIX","BSCLS_PREFIX_REGEX","HoverState","Trigger","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","isInTheDom","ownerDocument","tipId","getUID","setContent","animation","attachment","_getAttachment","addAttachmentClass","container","INSERTED","fallbackPlacement","ARROW","originalPlacement","_handlePopperPlacementChange","_fixTransition","prevHoverState","OUT","_TRANSITION_DURATION","_cleanTipClass","HOVER","getTitle","template","$tip","setElementContent","TOOLTIP_INNER","content","html","empty","append","text","title","triggers","split","forEach","MANUAL","eventIn","eventOut","FOCUSOUT","_fixTitle","titleType","delay","key","tabClass","join","initConfigAnimation","Popover","_getContent","TITLE","CONTENT","ScrollSpy","OffsetMethod","_scrollElement","_selector","NAV_LINKS","LIST_ITEMS","DROPDOWN_ITEMS","_offsets","_targets","_activeTarget","_scrollHeight","SCROLL","_process","refresh","autoMethod","POSITION","OFFSET","offsetMethod","method","offsetBase","_getScrollTop","_getScrollHeight","targets","map","targetSelector","targetBCR","height","top","item","sort","a","b","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","isActiveTarget","queries","$link","DROPDOWN_ITEM","DROPDOWN","DROPDOWN_TOGGLE","parents","NAV_LIST_GROUP","NAV_ITEMS","ACTIVATE","scrollSpys","DATA_SPY","$spy","Tab","previous","listElement","itemSelector","nodeName","ACTIVE_UL","hiddenEvent","activeElements","active","_transitionComplete","dropdownChild","DROPDOWN_ACTIVE_CHILD","DROPDOWN_MENU","dropdownElement","version","minMajor","ltMajor","minMinor","minPatch","maxMajor"],"mappings":";;;;;;;;;;;AAEA;;;;;;;AAOA,IAAMA,OAAQ,YAAM;;;;;;MASdC,aAAa,KAAjB;MAEMC,UAAU,OAAhB;MAEMC,qBAAqB;sBACN,qBADM;mBAEN,eAFM;iBAGN,+BAHM;gBAIN,eAJM;;GAA3B;;WAQSC,MAAT,CAAgBC,GAAhB,EAAqB;WACZ,GAAGC,QAAH,CAAYC,IAAZ,CAAiBF,GAAjB,EAAsBG,KAAtB,CAA4B,eAA5B,EAA6C,CAA7C,EAAgDC,WAAhD,EAAP;;;WAGOC,4BAAT,GAAwC;WAC/B;gBACKT,WAAWU,GADhB;oBAESV,WAAWU,GAFpB;YAAA,kBAGEC,KAHF,EAGS;YACRC,EAAED,MAAME,MAAR,EAAgBC,EAAhB,CAAmB,IAAnB,CAAJ,EAA8B;iBACrBH,MAAMI,SAAN,CAAgBC,OAAhB,CAAwBC,KAAxB,CAA8B,IAA9B,EAAoCC,SAApC,CAAP,CAD4B;;;eAGvBC,SAAP,CAJY;;KAHhB;;;WAYOC,iBAAT,GAA6B;QACvBC,OAAOC,KAAX,EAAkB;aACT,KAAP;;;QAGIC,KAAKC,SAASC,aAAT,CAAuB,WAAvB,CAAX;;SAEK,IAAMC,IAAX,IAAmBxB,kBAAnB,EAAuC;UACjC,OAAOqB,GAAGI,KAAH,CAASD,IAAT,CAAP,KAA0B,WAA9B,EAA2C;eAClC;eACAxB,mBAAmBwB,IAAnB;SADP;;;;WAMG,KAAP;;;WAGOE,qBAAT,CAA+BC,QAA/B,EAAyC;;;QACnCC,SAAS,KAAb;MAEE,IAAF,EAAQC,GAAR,CAAYhC,KAAKiC,cAAjB,EAAiC,YAAM;eAC5B,IAAT;KADF;eAIW,YAAM;UACX,CAACF,MAAL,EAAa;aACNG,oBAAL;;KAFJ,EAIGJ,QAJH;WAMO,IAAP;;;WAGOK,uBAAT,GAAmC;iBACpBd,mBAAb;MAEEe,EAAF,CAAKC,oBAAL,GAA4BR,qBAA5B;;QAEI7B,KAAKsC,qBAAL,EAAJ,EAAkC;QAC9B1B,KAAF,CAAQ2B,OAAR,CAAgBvC,KAAKiC,cAArB,IAAuCvB,8BAAvC;;;;;;;;;;MAWEV,OAAO;oBAEK,iBAFL;UAAA,kBAIJwC,MAJI,EAII;SACV;;kBAES,CAAC,EAAEC,KAAKC,MAAL,KAAgBxC,OAAlB,CAAX,CAFC;OAAH,QAGSuB,SAASkB,cAAT,CAAwBH,MAAxB,CAHT;;aAIOA,MAAP;KATS;0BAAA,kCAYYI,OAZZ,EAYqB;UAC1BC,WAAWD,QAAQE,YAAR,CAAqB,aAArB,CAAf;;UACI,CAACD,QAAD,IAAaA,aAAa,GAA9B,EAAmC;mBACtBD,QAAQE,YAAR,CAAqB,MAArB,KAAgC,EAA3C;;;UAGE;YACIC,YAAYlC,EAAEY,QAAF,EAAYuB,IAAZ,CAAiBH,QAAjB,CAAlB;eACOE,UAAUE,MAAV,GAAmB,CAAnB,GAAuBJ,QAAvB,GAAkC,IAAzC;OAFF,CAGE,OAAOK,KAAP,EAAc;eACP,IAAP;;KAtBO;UAAA,kBA0BJN,OA1BI,EA0BK;aACPA,QAAQO,YAAf;KA3BS;wBAAA,gCA8BUP,OA9BV,EA8BmB;QAC1BA,OAAF,EAAWQ,OAAX,CAAmBnD,WAAWU,GAA9B;KA/BS;yBAAA,mCAkCa;aACf0C,QAAQpD,UAAR,CAAP;KAnCS;aAAA,qBAsCDI,GAtCC,EAsCI;aACN,CAACA,IAAI,CAAJ,KAAUA,GAAX,EAAgBiD,QAAvB;KAvCS;mBAAA,2BA0CKC,aA1CL,EA0CoBC,MA1CpB,EA0C4BC,WA1C5B,EA0CyC;WAC7C,IAAMC,QAAX,IAAuBD,WAAvB,EAAoC;YAC9BE,OAAOC,SAAP,CAAiBC,cAAjB,CAAgCtD,IAAhC,CAAqCkD,WAArC,EAAkDC,QAAlD,CAAJ,EAAiE;cACzDI,gBAAgBL,YAAYC,QAAZ,CAAtB;cACMK,QAAgBP,OAAOE,QAAP,CAAtB;cACMM,YAAgBD,SAAS/D,KAAKiE,SAAL,CAAeF,KAAf,CAAT,GACA,SADA,GACY3D,OAAO2D,KAAP,CADlC;;cAGI,CAAC,IAAIG,MAAJ,CAAWJ,aAAX,EAA0BK,IAA1B,CAA+BH,SAA/B,CAAL,EAAgD;kBACxC,IAAII,KAAJ,CACDb,cAAcc,WAAd,EAAH,yBACWX,QADX,2BACuCM,SADvC,sCAEsBF,aAFtB,SADI,CAAN;;;;;GAnDV;;SA+DO9D,IAAP;CAxJW,CA0JVa,CA1JU,CAAb;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLA;;;;;;;AAOA,IAAMyD,QAAS,YAAM;;;;;;MASbC,OAAsB,OAA5B;MACMC,UAAsB,cAA5B;MACMC,WAAsB,UAA5B;MACMC,kBAA0BD,QAAhC;MACME,eAAsB,WAA5B;MACMC,qBAAsB/D,EAAEuB,EAAF,CAAKmC,IAAL,CAA5B;MACMM,sBAAsB,GAA5B;MAEMC,WAAW;aACL;GADZ;MAIMC,QAAQ;qBACaL,SADb;uBAEcA,SAFd;8BAGaA,SAAzB,GAAqCC;GAHvC;MAMMK,YAAY;WACR,OADQ;UAER,MAFQ;UAGR;;;;;;;GAHV;;MAaMV,KAxCa;;;mBA0CL1B,OAAZ,EAAqB;WACdqC,QAAL,GAAgBrC,OAAhB;KA3Ce;;;;;;WAwDjBsC,KAxDiB,kBAwDXtC,OAxDW,EAwDF;gBACHA,WAAW,KAAKqC,QAA1B;;UAEME,cAAc,KAAKC,eAAL,CAAqBxC,OAArB,CAApB;;UACMyC,cAAc,KAAKC,kBAAL,CAAwBH,WAAxB,CAApB;;UAEIE,YAAYE,kBAAZ,EAAJ,EAAsC;;;;WAIjCC,cAAL,CAAoBL,WAApB;KAlEe;;WAqEjBM,OArEiB,sBAqEP;QACNC,UAAF,CAAa,KAAKT,QAAlB,EAA4BR,QAA5B;WACKQ,QAAL,GAAgB,IAAhB;KAvEe;;;WA6EjBG,eA7EiB,4BA6EDxC,OA7EC,EA6EQ;UACjBC,WAAW7C,KAAK2F,sBAAL,CAA4B/C,OAA5B,CAAjB;UACIgD,SAAa,KAAjB;;UAEI/C,QAAJ,EAAc;iBACHhC,EAAEgC,QAAF,EAAY,CAAZ,CAAT;;;UAGE,CAAC+C,MAAL,EAAa;iBACF/E,EAAE+B,OAAF,EAAWiD,OAAX,OAAuBb,UAAUc,KAAjC,EAA0C,CAA1C,CAAT;;;aAGKF,MAAP;KAzFe;;WA4FjBN,kBA5FiB,+BA4FE1C,OA5FF,EA4FW;UACpBmD,aAAalF,EAAEkE,KAAF,CAAQA,MAAMiB,KAAd,CAAnB;QAEEpD,OAAF,EAAWQ,OAAX,CAAmB2C,UAAnB;aACOA,UAAP;KAhGe;;WAmGjBP,cAnGiB,2BAmGF5C,OAnGE,EAmGO;;;QACpBA,OAAF,EAAWqD,WAAX,CAAuBjB,UAAUkB,IAAjC;;UAEI,CAAClG,KAAKsC,qBAAL,EAAD,IACA,CAACzB,EAAE+B,OAAF,EAAWuD,QAAX,CAAoBnB,UAAUoB,IAA9B,CADL,EAC0C;aACnCC,eAAL,CAAqBzD,OAArB;;;;;QAIAA,OAAF,EACGZ,GADH,CACOhC,KAAKiC,cADZ,EAC4B,UAACrB,KAAD;eAAW,MAAKyF,eAAL,CAAqBzD,OAArB,EAA8BhC,KAA9B,CAAX;OAD5B,EAEGyB,oBAFH,CAEwBwC,mBAFxB;KA5Ge;;WAiHjBwB,eAjHiB,4BAiHDzD,OAjHC,EAiHQ;QACrBA,OAAF,EACG0D,MADH,GAEGlD,OAFH,CAEW2B,MAAMwB,MAFjB,EAGGC,MAHH;KAlHe;;;UA2HVC,gBA3HU,6BA2HOjD,MA3HP,EA2He;aACvB,KAAKkD,IAAL,CAAU,YAAY;YACrBC,WAAW9F,EAAE,IAAF,CAAjB;YACI+F,OAAaD,SAASC,IAAT,CAAcnC,QAAd,CAAjB;;YAEI,CAACmC,IAAL,EAAW;iBACF,IAAItC,KAAJ,CAAU,IAAV,CAAP;mBACSsC,IAAT,CAAcnC,QAAd,EAAwBmC,IAAxB;;;YAGEpD,WAAW,OAAf,EAAwB;eACjBA,MAAL,EAAa,IAAb;;OAVG,CAAP;KA5He;;UA2IVqD,cA3IU,2BA2IKC,aA3IL,EA2IoB;aAC5B,UAAUlG,KAAV,EAAiB;YAClBA,KAAJ,EAAW;gBACHmG,cAAN;;;sBAGY7B,KAAd,CAAoB,IAApB;OALF;KA5Ie;;;;0BAiDI;eACZV,OAAP;;;;;;;;;;;;IA4GF/C,QAAF,EAAYuF,EAAZ,CACEjC,MAAMkC,cADR,EAEEnC,SAASoC,OAFX,EAGE5C,MAAMuC,cAAN,CAAqB,IAAIvC,KAAJ,EAArB,CAHF;;;;;;;IAaElC,EAAF,CAAKmC,IAAL,IAAyBD,MAAMmC,gBAA/B;IACErE,EAAF,CAAKmC,IAAL,EAAW4C,WAAX,GAAyB7C,KAAzB;;IACElC,EAAF,CAAKmC,IAAL,EAAW6C,UAAX,GAAyB,YAAY;MACjChF,EAAF,CAAKmC,IAAL,IAAaK,kBAAb;WACON,MAAMmC,gBAAb;GAFF;;SAKOnC,KAAP;CAlLY,CAoLXzD,CApLW,CAAd;;ACVA;;;;;;;AAOA,IAAMwG,SAAU,YAAM;;;;;;MASd9C,OAAsB,QAA5B;MACMC,UAAsB,cAA5B;MACMC,WAAsB,WAA5B;MACMC,kBAA0BD,QAAhC;MACME,eAAsB,WAA5B;MACMC,qBAAsB/D,EAAEuB,EAAF,CAAKmC,IAAL,CAA5B;MAEMS,YAAY;YACP,QADO;YAEP,KAFO;WAGP;GAHX;MAMMF,WAAW;wBACM,yBADN;iBAEM,yBAFN;WAGM,OAHN;YAIM,SAJN;YAKM;GALvB;MAQMC,QAAQ;8BACkBL,SAA9B,GAA0CC,YAD9B;yBAEU,UAAQD,SAAR,GAAoBC,YAApB,mBACOD,SADP,GACmBC,YADnB;;;;;;;GAFxB;;MAaM0C,MA3Cc;;;oBA6CNzE,OAAZ,EAAqB;WACdqC,QAAL,GAAgBrC,OAAhB;KA9CgB;;;;;;WA2DlB0E,MA3DkB,qBA2DT;UACHC,qBAAqB,IAAzB;UACIC,iBAAiB,IAArB;UACMrC,cAAmBtE,EAAE,KAAKoE,QAAP,EAAiBY,OAAjB,CACvBf,SAAS2C,WADc,EAEvB,CAFuB,CAAzB;;UAIItC,WAAJ,EAAiB;YACTuC,QAAQ7G,EAAE,KAAKoE,QAAP,EAAiBjC,IAAjB,CAAsB8B,SAAS6C,KAA/B,EAAsC,CAAtC,CAAd;;YAEID,KAAJ,EAAW;cACLA,MAAME,IAAN,KAAe,OAAnB,EAA4B;gBACtBF,MAAMG,OAAN,IACFhH,EAAE,KAAKoE,QAAP,EAAiBkB,QAAjB,CAA0BnB,UAAU8C,MAApC,CADF,EAC+C;mCACxB,KAArB;aAFF,MAIO;kBACCC,gBAAgBlH,EAAEsE,WAAF,EAAenC,IAAf,CAAoB8B,SAASgD,MAA7B,EAAqC,CAArC,CAAtB;;kBAEIC,aAAJ,EAAmB;kBACfA,aAAF,EAAiB9B,WAAjB,CAA6BjB,UAAU8C,MAAvC;;;;;cAKFP,kBAAJ,EAAwB;gBAClBG,MAAMM,YAAN,CAAmB,UAAnB,KACF7C,YAAY6C,YAAZ,CAAyB,UAAzB,CADE,IAEFN,MAAMO,SAAN,CAAgBC,QAAhB,CAAyB,UAAzB,CAFE,IAGF/C,YAAY8C,SAAZ,CAAsBC,QAAtB,CAA+B,UAA/B,CAHF,EAG8C;;;;kBAGxCL,OAAN,GAAgB,CAAChH,EAAE,KAAKoE,QAAP,EAAiBkB,QAAjB,CAA0BnB,UAAU8C,MAApC,CAAjB;cACEJ,KAAF,EAAStE,OAAT,CAAiB,QAAjB;;;gBAGI+E,KAAN;2BACiB,KAAjB;;;;UAKAX,cAAJ,EAAoB;aACbvC,QAAL,CAAcmD,YAAd,CAA2B,cAA3B,EACE,CAACvH,EAAE,KAAKoE,QAAP,EAAiBkB,QAAjB,CAA0BnB,UAAU8C,MAApC,CADH;;;UAIEP,kBAAJ,EAAwB;UACpB,KAAKtC,QAAP,EAAiBoD,WAAjB,CAA6BrD,UAAU8C,MAAvC;;KA3Gc;;WA+GlBrC,OA/GkB,sBA+GR;QACNC,UAAF,CAAa,KAAKT,QAAlB,EAA4BR,QAA5B;WACKQ,QAAL,GAAgB,IAAhB;KAjHgB;;;WAuHXwB,gBAvHW,6BAuHMjD,MAvHN,EAuHc;aACvB,KAAKkD,IAAL,CAAU,YAAY;YACvBE,OAAO/F,EAAE,IAAF,EAAQ+F,IAAR,CAAanC,QAAb,CAAX;;YAEI,CAACmC,IAAL,EAAW;iBACF,IAAIS,MAAJ,CAAW,IAAX,CAAP;YACE,IAAF,EAAQT,IAAR,CAAanC,QAAb,EAAuBmC,IAAvB;;;YAGEpD,WAAW,QAAf,EAAyB;eAClBA,MAAL;;OATG,CAAP;KAxHgB;;;;0BAoDG;eACZgB,OAAP;;;;;;;;;;;;IA0FF/C,QAAF,EACGuF,EADH,CACMjC,MAAMkC,cADZ,EAC4BnC,SAASwD,kBADrC,EACyD,UAAC1H,KAAD,EAAW;UAC1DmG,cAAN;QAEIwB,SAAS3H,MAAME,MAAnB;;QAEI,CAACD,EAAE0H,MAAF,EAAUpC,QAAV,CAAmBnB,UAAUwD,MAA7B,CAAL,EAA2C;eAChC3H,EAAE0H,MAAF,EAAU1C,OAAV,CAAkBf,SAAS0D,MAA3B,CAAT;;;WAGK/B,gBAAP,CAAwBlG,IAAxB,CAA6BM,EAAE0H,MAAF,CAA7B,EAAwC,QAAxC;GAVJ,EAYGvB,EAZH,CAYMjC,MAAM0D,mBAZZ,EAYiC3D,SAASwD,kBAZ1C,EAY8D,UAAC1H,KAAD,EAAW;QAC/D2H,SAAS1H,EAAED,MAAME,MAAR,EAAgB+E,OAAhB,CAAwBf,SAAS0D,MAAjC,EAAyC,CAAzC,CAAf;MACED,MAAF,EAAUF,WAAV,CAAsBrD,UAAU0D,KAAhC,EAAuC,eAAevE,IAAf,CAAoBvD,MAAMgH,IAA1B,CAAvC;GAdJ;;;;;;;IAwBExF,EAAF,CAAKmC,IAAL,IAAyB8C,OAAOZ,gBAAhC;IACErE,EAAF,CAAKmC,IAAL,EAAW4C,WAAX,GAAyBE,MAAzB;;IACEjF,EAAF,CAAKmC,IAAL,EAAW6C,UAAX,GAAyB,YAAY;MACjChF,EAAF,CAAKmC,IAAL,IAAaK,kBAAb;WACOyC,OAAOZ,gBAAd;GAFF;;SAKOY,MAAP;CA9Ka,CAgLZxG,CAhLY,CAAf;;ACJA;;;;;;;AAOA,IAAM8H,WAAY,YAAM;;;;;;MAShBpE,OAAyB,UAA/B;MACMC,UAAyB,cAA/B;MACMC,WAAyB,aAA/B;MACMC,kBAA6BD,QAAnC;MACME,eAAyB,WAA/B;MACMC,qBAAyB/D,EAAEuB,EAAF,CAAKmC,IAAL,CAA/B;MACMM,sBAAyB,GAA/B;MACM+D,qBAAyB,EAA/B,CAhBsB;;MAiBhBC,sBAAyB,EAA/B,CAjBsB;;MAkBhBC,yBAAyB,GAA/B,CAlBsB;;MAoBhBC,UAAU;cACH,IADG;cAEH,IAFG;WAGH,KAHG;WAIH,OAJG;UAKH;GALb;MAQMC,cAAc;cACP,kBADO;cAEP,SAFO;WAGP,kBAHO;WAIP,kBAJO;UAKP;GALb;MAQMC,YAAY;UACL,MADK;UAEL,MAFK;UAGL,MAHK;WAIL;GAJb;MAOMlE,QAAQ;qBACaL,SADb;mBAEYA,SAFZ;yBAGeA,SAHf;+BAIkBA,SAJlB;+BAKkBA,SALlB;2BAMgBA,SANhB;4BAOYA,SAAxB,GAAoCC,YAPxB;8BAQaD,SAAzB,GAAqCC;GARvC;MAWMK,YAAY;cACL,UADK;YAEL,QAFK;WAGL,OAHK;WAIL,qBAJK;UAKL,oBALK;UAML,oBANK;UAOL,oBAPK;UAQL;GARb;MAWMF,WAAW;YACD,SADC;iBAED,uBAFC;UAGD,gBAHC;eAID,0CAJC;gBAKD,sBALC;gBAMD,+BANC;eAOD;;;;;;;GAPhB;;MAiBM6D,QAlFgB;;;sBAoFR/F,OAAZ,EAAqBY,MAArB,EAA6B;WACtB0F,MAAL,GAA0B,IAA1B;WACKC,SAAL,GAA0B,IAA1B;WACKC,cAAL,GAA0B,IAA1B;WAEKC,SAAL,GAA0B,KAA1B;WACKC,UAAL,GAA0B,KAA1B;WAEKC,YAAL,GAA0B,IAA1B;WAEKC,OAAL,GAA0B,KAAKC,UAAL,CAAgBjG,MAAhB,CAA1B;WACKyB,QAAL,GAA0BpE,EAAE+B,OAAF,EAAW,CAAX,CAA1B;WACK8G,kBAAL,GAA0B7I,EAAE,KAAKoE,QAAP,EAAiBjC,IAAjB,CAAsB8B,SAAS6E,UAA/B,EAA2C,CAA3C,CAA1B;;WAEKC,kBAAL;KAlGkB;;;;;;WAmHpBC,IAnHoB,mBAmHb;UACD,CAAC,KAAKP,UAAV,EAAsB;aACfQ,MAAL,CAAYb,UAAUc,IAAtB;;KArHgB;;WAyHpBC,eAzHoB,8BAyHF;;;UAGZ,CAACvI,SAASwI,MAAV,IACDpJ,EAAE,KAAKoE,QAAP,EAAiBlE,EAAjB,CAAoB,UAApB,KAAmCF,EAAE,KAAKoE,QAAP,EAAiBiF,GAAjB,CAAqB,YAArB,MAAuC,QAD7E,EACwF;aACjFL,IAAL;;KA9HgB;;WAkIpBM,IAlIoB,mBAkIb;UACD,CAAC,KAAKb,UAAV,EAAsB;aACfQ,MAAL,CAAYb,UAAUmB,IAAtB;;KApIgB;;WAwIpBC,KAxIoB,kBAwIdzJ,KAxIc,EAwIP;UACP,CAACA,KAAL,EAAY;aACLyI,SAAL,GAAiB,IAAjB;;;UAGExI,EAAE,KAAKoE,QAAP,EAAiBjC,IAAjB,CAAsB8B,SAASwF,SAA/B,EAA0C,CAA1C,KACFtK,KAAKsC,qBAAL,EADF,EACgC;aACzBJ,oBAAL,CAA0B,KAAK+C,QAA/B;aACKsF,KAAL,CAAW,IAAX;;;oBAGY,KAAKpB,SAAnB;WACKA,SAAL,GAAiB,IAAjB;KApJkB;;WAuJpBoB,KAvJoB,kBAuJd3J,KAvJc,EAuJP;UACP,CAACA,KAAL,EAAY;aACLyI,SAAL,GAAiB,KAAjB;;;UAGE,KAAKF,SAAT,EAAoB;sBACJ,KAAKA,SAAnB;aACKA,SAAL,GAAiB,IAAjB;;;UAGE,KAAKK,OAAL,CAAagB,QAAb,IAAyB,CAAC,KAAKnB,SAAnC,EAA8C;aACvCF,SAAL,GAAiBsB,YACf,CAAChJ,SAASiJ,eAAT,GAA2B,KAAKV,eAAhC,GAAkD,KAAKH,IAAxD,EAA8Dc,IAA9D,CAAmE,IAAnE,CADe,EAEf,KAAKnB,OAAL,CAAagB,QAFE,CAAjB;;KAlKgB;;WAyKpBI,EAzKoB,eAyKjBC,KAzKiB,EAyKV;;;WACHzB,cAAL,GAAsBvI,EAAE,KAAKoE,QAAP,EAAiBjC,IAAjB,CAAsB8B,SAASgG,WAA/B,EAA4C,CAA5C,CAAtB;;UAEMC,cAAc,KAAKC,aAAL,CAAmB,KAAK5B,cAAxB,CAApB;;UAEIyB,QAAQ,KAAK3B,MAAL,CAAYjG,MAAZ,GAAqB,CAA7B,IAAkC4H,QAAQ,CAA9C,EAAiD;;;;UAI7C,KAAKvB,UAAT,EAAqB;UACjB,KAAKrE,QAAP,EAAiBjD,GAAjB,CAAqB+C,MAAMkG,IAA3B,EAAiC;iBAAM,MAAKL,EAAL,CAAQC,KAAR,CAAN;SAAjC;;;;UAIEE,gBAAgBF,KAApB,EAA2B;aACpBR,KAAL;aACKE,KAAL;;;;UAIIW,YAAYL,QAAQE,WAAR,GAChB9B,UAAUc,IADM,GAEhBd,UAAUmB,IAFZ;;WAIKN,MAAL,CAAYoB,SAAZ,EAAuB,KAAKhC,MAAL,CAAY2B,KAAZ,CAAvB;KAjMkB;;WAoMpBpF,OApMoB,sBAoMV;QACN,KAAKR,QAAP,EAAiBkG,GAAjB,CAAqBzG,SAArB;QACEgB,UAAF,CAAa,KAAKT,QAAlB,EAA4BR,QAA5B;WAEKyE,MAAL,GAA0B,IAA1B;WACKM,OAAL,GAA0B,IAA1B;WACKvE,QAAL,GAA0B,IAA1B;WACKkE,SAAL,GAA0B,IAA1B;WACKE,SAAL,GAA0B,IAA1B;WACKC,UAAL,GAA0B,IAA1B;WACKF,cAAL,GAA0B,IAA1B;WACKM,kBAAL,GAA0B,IAA1B;KA/MkB;;;WAqNpBD,UArNoB,uBAqNTjG,MArNS,EAqND;eACR3C,EAAEuK,MAAF,CAAS,EAAT,EAAarC,OAAb,EAAsBvF,MAAtB,CAAT;WACK6H,eAAL,CAAqB9G,IAArB,EAA2Bf,MAA3B,EAAmCwF,WAAnC;aACOxF,MAAP;KAxNkB;;WA2NpBoG,kBA3NoB,iCA2NC;;;UACf,KAAKJ,OAAL,CAAa8B,QAAjB,EAA2B;UACvB,KAAKrG,QAAP,EACG+B,EADH,CACMjC,MAAMwG,OADZ,EACqB,UAAC3K,KAAD;iBAAW,OAAK4K,QAAL,CAAc5K,KAAd,CAAX;SADrB;;;UAIE,KAAK4I,OAAL,CAAaa,KAAb,KAAuB,OAA3B,EAAoC;UAChC,KAAKpF,QAAP,EACG+B,EADH,CACMjC,MAAM0G,UADZ,EACwB,UAAC7K,KAAD;iBAAW,OAAKyJ,KAAL,CAAWzJ,KAAX,CAAX;SADxB,EAEGoG,EAFH,CAEMjC,MAAM2G,UAFZ,EAEwB,UAAC9K,KAAD;iBAAW,OAAK2J,KAAL,CAAW3J,KAAX,CAAX;SAFxB;;YAGI,kBAAkBa,SAASkK,eAA/B,EAAgD;;;;;;;;YAQ5C,KAAK1G,QAAP,EAAiB+B,EAAjB,CAAoBjC,MAAM6G,QAA1B,EAAoC,YAAM;mBACnCvB,KAAL;;gBACI,OAAKd,YAAT,EAAuB;2BACR,OAAKA,YAAlB;;;mBAEGA,YAAL,GAAoBsC,WAAW,UAACjL,KAAD;qBAAW,OAAK2J,KAAL,CAAW3J,KAAX,CAAX;aAAX,EAAyCkI,yBAAyB,OAAKU,OAAL,CAAagB,QAA/E,CAApB;WALF;;;KA7Oc;;WAwPpBgB,QAxPoB,qBAwPX5K,KAxPW,EAwPJ;UACV,kBAAkBuD,IAAlB,CAAuBvD,MAAME,MAAN,CAAagL,OAApC,CAAJ,EAAkD;;;;cAI1ClL,MAAMmL,KAAd;aACOnD,kBAAL;gBACQ7B,cAAN;eACKoD,IAAL;;;aAEGtB,mBAAL;gBACQ9B,cAAN;eACK8C,IAAL;;;;;;KApQc;;WA2QpBmB,aA3QoB,0BA2QNpI,OA3QM,EA2QG;WAChBsG,MAAL,GAAcrI,EAAEmL,SAAF,CAAYnL,EAAE+B,OAAF,EAAWgD,MAAX,GAAoB5C,IAApB,CAAyB8B,SAASmH,IAAlC,CAAZ,CAAd;aACO,KAAK/C,MAAL,CAAYgD,OAAZ,CAAoBtJ,OAApB,CAAP;KA7QkB;;WAgRpBuJ,mBAhRoB,gCAgRAjB,SAhRA,EAgRWnD,aAhRX,EAgR0B;UACtCqE,kBAAkBlB,cAAcjC,UAAUc,IAAhD;UACMsC,kBAAkBnB,cAAcjC,UAAUmB,IAAhD;;UACMW,cAAkB,KAAKC,aAAL,CAAmBjD,aAAnB,CAAxB;;UACMuE,gBAAkB,KAAKpD,MAAL,CAAYjG,MAAZ,GAAqB,CAA7C;UACMsJ,gBAAkBF,mBAAmBtB,gBAAgB,CAAnC,IACAqB,mBAAmBrB,gBAAgBuB,aAD3D;;UAGIC,iBAAiB,CAAC,KAAK/C,OAAL,CAAagD,IAAnC,EAAyC;eAChCzE,aAAP;;;UAGI0E,QAAYvB,cAAcjC,UAAUmB,IAAxB,GAA+B,CAAC,CAAhC,GAAoC,CAAtD;UACMsC,YAAY,CAAC3B,cAAc0B,KAAf,IAAwB,KAAKvD,MAAL,CAAYjG,MAAtD;aAEOyJ,cAAc,CAAC,CAAf,GACL,KAAKxD,MAAL,CAAY,KAAKA,MAAL,CAAYjG,MAAZ,GAAqB,CAAjC,CADK,GACiC,KAAKiG,MAAL,CAAYwD,SAAZ,CADxC;KA/RkB;;WAoSpBC,kBApSoB,+BAoSDC,aApSC,EAoScC,kBApSd,EAoSkC;UAC9CC,cAAc,KAAK9B,aAAL,CAAmB4B,aAAnB,CAApB;;UACMG,YAAY,KAAK/B,aAAL,CAAmBnK,EAAE,KAAKoE,QAAP,EAAiBjC,IAAjB,CAAsB8B,SAASgG,WAA/B,EAA4C,CAA5C,CAAnB,CAAlB;;UACMkC,aAAanM,EAAEkE,KAAF,CAAQA,MAAMkI,KAAd,EAAqB;oCAAA;mBAE3BJ,kBAF2B;cAGhCE,SAHgC;YAIlCD;OAJa,CAAnB;QAOE,KAAK7H,QAAP,EAAiB7B,OAAjB,CAAyB4J,UAAzB;aAEOA,UAAP;KAhTkB;;WAmTpBE,0BAnToB,uCAmTOtK,OAnTP,EAmTgB;UAC9B,KAAK8G,kBAAT,EAA6B;UACzB,KAAKA,kBAAP,EACG1G,IADH,CACQ8B,SAASgD,MADjB,EAEG7B,WAFH,CAEejB,UAAU8C,MAFzB;;YAIMqF,gBAAgB,KAAKzD,kBAAL,CAAwB0D,QAAxB,CACpB,KAAKpC,aAAL,CAAmBpI,OAAnB,CADoB,CAAtB;;YAIIuK,aAAJ,EAAmB;YACfA,aAAF,EAAiBE,QAAjB,CAA0BrI,UAAU8C,MAApC;;;KA9Tc;;WAmUpBgC,MAnUoB,mBAmUboB,SAnUa,EAmUFtI,OAnUE,EAmUO;;;UACnBmF,gBAAgBlH,EAAE,KAAKoE,QAAP,EAAiBjC,IAAjB,CAAsB8B,SAASgG,WAA/B,EAA4C,CAA5C,CAAtB;;UACMwC,qBAAqB,KAAKtC,aAAL,CAAmBjD,aAAnB,CAA3B;;UACMwF,cAAgB3K,WAAWmF,iBAC/B,KAAKoE,mBAAL,CAAyBjB,SAAzB,EAAoCnD,aAApC,CADF;;UAEMyF,mBAAmB,KAAKxC,aAAL,CAAmBuC,WAAnB,CAAzB;;UACME,YAAYpK,QAAQ,KAAK8F,SAAb,CAAlB;UAEIuE,oBAAJ;UACIC,cAAJ;UACId,kBAAJ;;UAEI3B,cAAcjC,UAAUc,IAA5B,EAAkC;+BACT/E,UAAU4I,IAAjC;yBACiB5I,UAAU+E,IAA3B;6BACqBd,UAAU2E,IAA/B;OAHF,MAIO;+BACkB5I,UAAU6I,KAAjC;yBACiB7I,UAAUoF,IAA3B;6BACqBnB,UAAU4E,KAA/B;;;UAGEN,eAAe1M,EAAE0M,WAAF,EAAepH,QAAf,CAAwBnB,UAAU8C,MAAlC,CAAnB,EAA8D;aACvDwB,UAAL,GAAkB,KAAlB;;;;UAII0D,aAAa,KAAKL,kBAAL,CAAwBY,WAAxB,EAAqCV,kBAArC,CAAnB;;UACIG,WAAWzH,kBAAX,EAAJ,EAAqC;;;;UAIjC,CAACwC,aAAD,IAAkB,CAACwF,WAAvB,EAAoC;;;;;WAK/BjE,UAAL,GAAkB,IAAlB;;UAEImE,SAAJ,EAAe;aACRpD,KAAL;;;WAGG6C,0BAAL,CAAgCK,WAAhC;;UAEMO,YAAYjN,EAAEkE,KAAF,CAAQA,MAAMkG,IAAd,EAAoB;uBACrBsC,WADqB;mBAEzBV,kBAFyB;cAG9BS,kBAH8B;YAIhCE;OAJY,CAAlB;;UAOIxN,KAAKsC,qBAAL,MACFzB,EAAE,KAAKoE,QAAP,EAAiBkB,QAAjB,CAA0BnB,UAAUiI,KAApC,CADF,EAC8C;UAE1CM,WAAF,EAAeF,QAAf,CAAwBM,cAAxB;aAEKI,MAAL,CAAYR,WAAZ;UAEExF,aAAF,EAAiBsF,QAAjB,CAA0BK,oBAA1B;UACEH,WAAF,EAAeF,QAAf,CAAwBK,oBAAxB;UAEE3F,aAAF,EACG/F,GADH,CACOhC,KAAKiC,cADZ,EAC4B,YAAM;YAC5BsL,WAAF,EACGtH,WADH,CACkByH,oBADlB,SAC0CC,cAD1C,EAEGN,QAFH,CAEYrI,UAAU8C,MAFtB;YAIEC,aAAF,EAAiB9B,WAAjB,CAAgCjB,UAAU8C,MAA1C,SAAoD6F,cAApD,SAAsED,oBAAtE;iBAEKpE,UAAL,GAAkB,KAAlB;qBAEW;mBAAMzI,EAAE,OAAKoE,QAAP,EAAiB7B,OAAjB,CAAyB0K,SAAzB,CAAN;WAAX,EAAsD,CAAtD;SAVJ,EAaGzL,oBAbH,CAawBwC,mBAbxB;OAVF,MAyBO;UACHkD,aAAF,EAAiB9B,WAAjB,CAA6BjB,UAAU8C,MAAvC;UACEyF,WAAF,EAAeF,QAAf,CAAwBrI,UAAU8C,MAAlC;aAEKwB,UAAL,GAAkB,KAAlB;UACE,KAAKrE,QAAP,EAAiB7B,OAAjB,CAAyB0K,SAAzB;;;UAGEL,SAAJ,EAAe;aACRlD,KAAL;;KAzZgB;;;aAgab9D,gBAhaa,6BAgaIjD,MAhaJ,EAgaY;aACvB,KAAKkD,IAAL,CAAU,YAAY;YACvBE,OAAY/F,EAAE,IAAF,EAAQ+F,IAAR,CAAanC,QAAb,CAAhB;;YACM+E,UAAU3I,EAAEuK,MAAF,CAAS,EAAT,EAAarC,OAAb,EAAsBlI,EAAE,IAAF,EAAQ+F,IAAR,EAAtB,CAAhB;;YAEI,OAAOpD,MAAP,KAAkB,QAAtB,EAAgC;YAC5B4H,MAAF,CAAS5B,OAAT,EAAkBhG,MAAlB;;;YAGIwK,SAAS,OAAOxK,MAAP,KAAkB,QAAlB,GAA6BA,MAA7B,GAAsCgG,QAAQyE,KAA7D;;YAEI,CAACrH,IAAL,EAAW;iBACF,IAAI+B,QAAJ,CAAa,IAAb,EAAmBa,OAAnB,CAAP;YACE,IAAF,EAAQ5C,IAAR,CAAanC,QAAb,EAAuBmC,IAAvB;;;YAGE,OAAOpD,MAAP,KAAkB,QAAtB,EAAgC;eACzBoH,EAAL,CAAQpH,MAAR;SADF,MAEO,IAAI,OAAOwK,MAAP,KAAkB,QAAtB,EAAgC;cACjC,OAAOpH,KAAKoH,MAAL,CAAP,KAAwB,WAA5B,EAAyC;kBACjC,IAAI5J,KAAJ,wBAA8B4J,MAA9B,QAAN;;;eAEGA,MAAL;SAJK,MAKA,IAAIxE,QAAQgB,QAAZ,EAAsB;eACtBH,KAAL;eACKE,KAAL;;OAxBG,CAAP;KAjakB;;aA8bb2D,oBA9ba,iCA8bQtN,KA9bR,EA8be;UAC3BiC,WAAW7C,KAAK2F,sBAAL,CAA4B,IAA5B,CAAjB;;UAEI,CAAC9C,QAAL,EAAe;;;;UAIT/B,SAASD,EAAEgC,QAAF,EAAY,CAAZ,CAAf;;UAEI,CAAC/B,MAAD,IAAW,CAACD,EAAEC,MAAF,EAAUqF,QAAV,CAAmBnB,UAAUmJ,QAA7B,CAAhB,EAAwD;;;;UAIlD3K,SAAa3C,EAAEuK,MAAF,CAAS,EAAT,EAAavK,EAAEC,MAAF,EAAU8F,IAAV,EAAb,EAA+B/F,EAAE,IAAF,EAAQ+F,IAAR,EAA/B,CAAnB;UACMwH,aAAa,KAAKtL,YAAL,CAAkB,eAAlB,CAAnB;;UAEIsL,UAAJ,EAAgB;eACP5D,QAAP,GAAkB,KAAlB;;;eAGO/D,gBAAT,CAA0BlG,IAA1B,CAA+BM,EAAEC,MAAF,CAA/B,EAA0C0C,MAA1C;;UAEI4K,UAAJ,EAAgB;UACZtN,MAAF,EAAU8F,IAAV,CAAenC,QAAf,EAAyBmG,EAAzB,CAA4BwD,UAA5B;;;YAGIrH,cAAN;KAxdkB;;;;0BAwGC;eACZvC,OAAP;;;;0BAGmB;eACZuE,OAAP;;;;;;;;;;;;IAuXFtH,QAAF,EACGuF,EADH,CACMjC,MAAMkC,cADZ,EAC4BnC,SAASuJ,UADrC,EACiD1F,SAASuF,oBAD1D;IAGE5M,MAAF,EAAU0F,EAAV,CAAajC,MAAMuJ,aAAnB,EAAkC,YAAM;MACpCxJ,SAASyJ,SAAX,EAAsB7H,IAAtB,CAA2B,YAAY;UAC/B8H,YAAY3N,EAAE,IAAF,CAAlB;;eACS4F,gBAAT,CAA0BlG,IAA1B,CAA+BiO,SAA/B,EAA0CA,UAAU5H,IAAV,EAA1C;KAFF;GADF;;;;;;;IAcExE,EAAF,CAAKmC,IAAL,IAAyBoE,SAASlC,gBAAlC;IACErE,EAAF,CAAKmC,IAAL,EAAW4C,WAAX,GAAyBwB,QAAzB;;IACEvG,EAAF,CAAKmC,IAAL,EAAW6C,UAAX,GAAyB,YAAY;MACjChF,EAAF,CAAKmC,IAAL,IAAaK,kBAAb;WACO+D,SAASlC,gBAAhB;GAFF;;SAKOkC,QAAP;CA5fe,CA8fd9H,CA9fc,CAAjB;;ACPA;;;;;;;AAOA,IAAM4N,WAAY,YAAM;;;;;;MAShBlK,OAAsB,UAA5B;MACMC,UAAsB,cAA5B;MACMC,WAAsB,aAA5B;MACMC,kBAA0BD,QAAhC;MACME,eAAsB,WAA5B;MACMC,qBAAsB/D,EAAEuB,EAAF,CAAKmC,IAAL,CAA5B;MACMM,sBAAsB,GAA5B;MAEMkE,UAAU;YACL,IADK;YAEL;GAFX;MAKMC,cAAc;YACT,SADS;YAET;GAFX;MAKMjE,QAAQ;mBACYL,SADZ;qBAEaA,SAFb;mBAGYA,SAHZ;uBAIcA,SAJd;8BAKaA,SAAzB,GAAqCC;GALvC;MAQMK,YAAY;UACH,MADG;cAEH,UAFG;gBAGH,YAHG;eAIH;GAJf;MAOM0J,YAAY;WACP,OADO;YAEP;GAFX;MAKM5J,WAAW;aACD,oBADC;iBAED;;;;;;;GAFhB;;MAYM2J,QA3DgB;;;sBA6DR7L,OAAZ,EAAqBY,MAArB,EAA6B;WACtBmL,gBAAL,GAAwB,KAAxB;WACK1J,QAAL,GAAwBrC,OAAxB;WACK4G,OAAL,GAAwB,KAAKC,UAAL,CAAgBjG,MAAhB,CAAxB;WACKoL,aAAL,GAAwB/N,EAAEmL,SAAF,CAAYnL,EAClC,wCAAmC+B,QAAQiM,EAA3C,4DAC0CjM,QAAQiM,EADlD,SADkC,CAAZ,CAAxB;UAIMC,aAAajO,EAAEiE,SAAS2C,WAAX,CAAnB;;WACK,IAAIsH,IAAI,CAAb,EAAgBA,IAAID,WAAW7L,MAA/B,EAAuC8L,GAAvC,EAA4C;YACpCC,OAAOF,WAAWC,CAAX,CAAb;YACMlM,WAAW7C,KAAK2F,sBAAL,CAA4BqJ,IAA5B,CAAjB;;YACInM,aAAa,IAAb,IAAqBhC,EAAEgC,QAAF,EAAYoM,MAAZ,CAAmBrM,OAAnB,EAA4BK,MAA5B,GAAqC,CAA9D,EAAiE;eAC1D2L,aAAL,CAAmBM,IAAnB,CAAwBF,IAAxB;;;;WAICG,OAAL,GAAe,KAAK3F,OAAL,CAAa5D,MAAb,GAAsB,KAAKwJ,UAAL,EAAtB,GAA0C,IAAzD;;UAEI,CAAC,KAAK5F,OAAL,CAAa5D,MAAlB,EAA0B;aACnByJ,yBAAL,CAA+B,KAAKpK,QAApC,EAA8C,KAAK2J,aAAnD;;;UAGE,KAAKpF,OAAL,CAAalC,MAAjB,EAAyB;aAClBA,MAAL;;KArFgB;;;;;;WAuGpBA,MAvGoB,qBAuGX;UACHzG,EAAE,KAAKoE,QAAP,EAAiBkB,QAAjB,CAA0BnB,UAAUkB,IAApC,CAAJ,EAA+C;aACxCoJ,IAAL;OADF,MAEO;aACAC,IAAL;;KA3GgB;;WA+GpBA,IA/GoB,mBA+Gb;;;UACD,KAAKZ,gBAAL,IACF9N,EAAE,KAAKoE,QAAP,EAAiBkB,QAAjB,CAA0BnB,UAAUkB,IAApC,CADF,EAC6C;;;;UAIzCsJ,OAAJ;UACIC,WAAJ;;UAEI,KAAKN,OAAT,EAAkB;kBACNtO,EAAEmL,SAAF,CAAYnL,EAAE,KAAKsO,OAAP,EAAgB/B,QAAhB,GAA2BA,QAA3B,CAAoCtI,SAAS4K,OAA7C,CAAZ,CAAV;;YACI,CAACF,QAAQvM,MAAb,EAAqB;oBACT,IAAV;;;;UAIAuM,OAAJ,EAAa;sBACG3O,EAAE2O,OAAF,EAAW5I,IAAX,CAAgBnC,QAAhB,CAAd;;YACIgL,eAAeA,YAAYd,gBAA/B,EAAiD;;;;;UAK7CgB,aAAa9O,EAAEkE,KAAF,CAAQA,MAAMmB,IAAd,CAAnB;QACE,KAAKjB,QAAP,EAAiB7B,OAAjB,CAAyBuM,UAAzB;;UACIA,WAAWpK,kBAAX,EAAJ,EAAqC;;;;UAIjCiK,OAAJ,EAAa;iBACF/I,gBAAT,CAA0BlG,IAA1B,CAA+BM,EAAE2O,OAAF,CAA/B,EAA2C,MAA3C;;YACI,CAACC,WAAL,EAAkB;YACdD,OAAF,EAAW5I,IAAX,CAAgBnC,QAAhB,EAA0B,IAA1B;;;;UAIEmL,YAAY,KAAKC,aAAL,EAAlB;;QAEE,KAAK5K,QAAP,EACGgB,WADH,CACejB,UAAU8K,QADzB,EAEGzC,QAFH,CAEYrI,UAAU+K,UAFtB;WAIK9K,QAAL,CAAcrD,KAAd,CAAoBgO,SAApB,IAAiC,CAAjC;;UAEI,KAAKhB,aAAL,CAAmB3L,MAAvB,EAA+B;UAC3B,KAAK2L,aAAP,EACG3I,WADH,CACejB,UAAUgL,SADzB,EAEGC,IAFH,CAEQ,eAFR,EAEyB,IAFzB;;;WAKGC,gBAAL,CAAsB,IAAtB;;UAEMC,WAAW,SAAXA,QAAW,GAAM;UACnB,MAAKlL,QAAP,EACGgB,WADH,CACejB,UAAU+K,UADzB,EAEG1C,QAFH,CAEYrI,UAAU8K,QAFtB,EAGGzC,QAHH,CAGYrI,UAAUkB,IAHtB;cAKKjB,QAAL,CAAcrD,KAAd,CAAoBgO,SAApB,IAAiC,EAAjC;;cAEKM,gBAAL,CAAsB,KAAtB;;UAEE,MAAKjL,QAAP,EAAiB7B,OAAjB,CAAyB2B,MAAMqL,KAA/B;OAVF;;UAaI,CAACpQ,KAAKsC,qBAAL,EAAL,EAAmC;;;;;UAK7B+N,uBAAuBT,UAAU,CAAV,EAAavL,WAAb,KAA6BuL,UAAUU,KAAV,CAAgB,CAAhB,CAA1D;UACMC,wBAAgCF,oBAAtC;QAEE,KAAKpL,QAAP,EACGjD,GADH,CACOhC,KAAKiC,cADZ,EAC4BkO,QAD5B,EAEG9N,oBAFH,CAEwBwC,mBAFxB;WAIKI,QAAL,CAAcrD,KAAd,CAAoBgO,SAApB,IAAoC,KAAK3K,QAAL,CAAcsL,UAAd,CAApC;KA5LkB;;WA+LpBjB,IA/LoB,mBA+Lb;;;UACD,KAAKX,gBAAL,IACF,CAAC9N,EAAE,KAAKoE,QAAP,EAAiBkB,QAAjB,CAA0BnB,UAAUkB,IAApC,CADH,EAC8C;;;;UAIxCyJ,aAAa9O,EAAEkE,KAAF,CAAQA,MAAMyL,IAAd,CAAnB;QACE,KAAKvL,QAAP,EAAiB7B,OAAjB,CAAyBuM,UAAzB;;UACIA,WAAWpK,kBAAX,EAAJ,EAAqC;;;;UAI/BqK,YAAkB,KAAKC,aAAL,EAAxB;;WAEK5K,QAAL,CAAcrD,KAAd,CAAoBgO,SAApB,IAAoC,KAAK3K,QAAL,CAAcwL,qBAAd,GAAsCb,SAAtC,CAApC;WAEK7B,MAAL,CAAY,KAAK9I,QAAjB;QAEE,KAAKA,QAAP,EACGoI,QADH,CACYrI,UAAU+K,UADtB,EAEG9J,WAFH,CAEejB,UAAU8K,QAFzB,EAGG7J,WAHH,CAGejB,UAAUkB,IAHzB;;UAKI,KAAK0I,aAAL,CAAmB3L,MAAvB,EAA+B;aACxB,IAAI8L,IAAI,CAAb,EAAgBA,IAAI,KAAKH,aAAL,CAAmB3L,MAAvC,EAA+C8L,GAA/C,EAAoD;cAC5C3L,UAAU,KAAKwL,aAAL,CAAmBG,CAAnB,CAAhB;cACMlM,WAAW7C,KAAK2F,sBAAL,CAA4BvC,OAA5B,CAAjB;;cACIP,aAAa,IAAjB,EAAuB;gBACf6N,QAAQ7P,EAAEgC,QAAF,CAAd;;gBACI,CAAC6N,MAAMvK,QAAN,CAAenB,UAAUkB,IAAzB,CAAL,EAAqC;gBACjC9C,OAAF,EAAWiK,QAAX,CAAoBrI,UAAUgL,SAA9B,EACMC,IADN,CACW,eADX,EAC4B,KAD5B;;;;;;WAOHC,gBAAL,CAAsB,IAAtB;;UAEMC,WAAW,SAAXA,QAAW,GAAM;eAChBD,gBAAL,CAAsB,KAAtB;;UACE,OAAKjL,QAAP,EACGgB,WADH,CACejB,UAAU+K,UADzB,EAEG1C,QAFH,CAEYrI,UAAU8K,QAFtB,EAGG1M,OAHH,CAGW2B,MAAM4L,MAHjB;OAFF;;WAQK1L,QAAL,CAAcrD,KAAd,CAAoBgO,SAApB,IAAiC,EAAjC;;UAEI,CAAC5P,KAAKsC,qBAAL,EAAL,EAAmC;;;;;QAKjC,KAAK2C,QAAP,EACGjD,GADH,CACOhC,KAAKiC,cADZ,EAC4BkO,QAD5B,EAEG9N,oBAFH,CAEwBwC,mBAFxB;KArPkB;;WA0PpBqL,gBA1PoB,6BA0PHU,eA1PG,EA0Pc;WAC3BjC,gBAAL,GAAwBiC,eAAxB;KA3PkB;;WA8PpBnL,OA9PoB,sBA8PV;QACNC,UAAF,CAAa,KAAKT,QAAlB,EAA4BR,QAA5B;WAEK+E,OAAL,GAAwB,IAAxB;WACK2F,OAAL,GAAwB,IAAxB;WACKlK,QAAL,GAAwB,IAAxB;WACK2J,aAAL,GAAwB,IAAxB;WACKD,gBAAL,GAAwB,IAAxB;KArQkB;;;WA2QpBlF,UA3QoB,uBA2QTjG,MA3QS,EA2QD;eACR3C,EAAEuK,MAAF,CAAS,EAAT,EAAarC,OAAb,EAAsBvF,MAAtB,CAAT;aACO8D,MAAP,GAAgBjE,QAAQG,OAAO8D,MAAf,CAAhB,CAFiB;;WAGZ+D,eAAL,CAAqB9G,IAArB,EAA2Bf,MAA3B,EAAmCwF,WAAnC;aACOxF,MAAP;KA/QkB;;WAkRpBqM,aAlRoB,4BAkRJ;UACRgB,WAAWhQ,EAAE,KAAKoE,QAAP,EAAiBkB,QAAjB,CAA0BuI,UAAUoC,KAApC,CAAjB;aACOD,WAAWnC,UAAUoC,KAArB,GAA6BpC,UAAUqC,MAA9C;KApRkB;;WAuRpB3B,UAvRoB,yBAuRP;;;UACPxJ,SAAS,IAAb;;UACI5F,KAAKiE,SAAL,CAAe,KAAKuF,OAAL,CAAa5D,MAA5B,CAAJ,EAAyC;iBAC9B,KAAK4D,OAAL,CAAa5D,MAAtB,CADuC;;YAInC,OAAO,KAAK4D,OAAL,CAAa5D,MAAb,CAAoBoL,MAA3B,KAAsC,WAA1C,EAAuD;mBAC5C,KAAKxH,OAAL,CAAa5D,MAAb,CAAoB,CAApB,CAAT;;OALJ,MAOO;iBACI/E,EAAE,KAAK2I,OAAL,CAAa5D,MAAf,EAAuB,CAAvB,CAAT;;;UAGI/C,yDACqC,KAAK2G,OAAL,CAAa5D,MADlD,QAAN;QAGEA,MAAF,EAAU5C,IAAV,CAAeH,QAAf,EAAyB6D,IAAzB,CAA8B,UAACqI,CAAD,EAAInM,OAAJ,EAAgB;eACvCyM,yBAAL,CACEZ,SAASwC,qBAAT,CAA+BrO,OAA/B,CADF,EAEE,CAACA,OAAD,CAFF;OADF;aAOOgD,MAAP;KA9SkB;;WAiTpByJ,yBAjToB,sCAiTMzM,OAjTN,EAiTesO,YAjTf,EAiT6B;UAC3CtO,OAAJ,EAAa;YACLuO,SAAStQ,EAAE+B,OAAF,EAAWuD,QAAX,CAAoBnB,UAAUkB,IAA9B,CAAf;;YAEIgL,aAAajO,MAAjB,EAAyB;YACrBiO,YAAF,EACG7I,WADH,CACerD,UAAUgL,SADzB,EACoC,CAACmB,MADrC,EAEGlB,IAFH,CAEQ,eAFR,EAEyBkB,MAFzB;;;KAtTc;;;aAgUbF,qBAhUa,kCAgUSrO,OAhUT,EAgUkB;UAC9BC,WAAW7C,KAAK2F,sBAAL,CAA4B/C,OAA5B,CAAjB;aACOC,WAAWhC,EAAEgC,QAAF,EAAY,CAAZ,CAAX,GAA4B,IAAnC;KAlUkB;;aAqUb4D,gBArUa,6BAqUIjD,MArUJ,EAqUY;aACvB,KAAKkD,IAAL,CAAU,YAAY;YACrB0K,QAAUvQ,EAAE,IAAF,CAAhB;YACI+F,OAAYwK,MAAMxK,IAAN,CAAWnC,QAAX,CAAhB;;YACM+E,UAAU3I,EAAEuK,MAAF,CACd,EADc,EAEdrC,OAFc,EAGdqI,MAAMxK,IAAN,EAHc,EAId,OAAOpD,MAAP,KAAkB,QAAlB,IAA8BA,MAJhB,CAAhB;;YAOI,CAACoD,IAAD,IAAS4C,QAAQlC,MAAjB,IAA2B,YAAYnD,IAAZ,CAAiBX,MAAjB,CAA/B,EAAyD;kBAC/C8D,MAAR,GAAiB,KAAjB;;;YAGE,CAACV,IAAL,EAAW;iBACF,IAAI6H,QAAJ,CAAa,IAAb,EAAmBjF,OAAnB,CAAP;gBACM5C,IAAN,CAAWnC,QAAX,EAAqBmC,IAArB;;;YAGE,OAAOpD,MAAP,KAAkB,QAAtB,EAAgC;cAC1B,OAAOoD,KAAKpD,MAAL,CAAP,KAAwB,WAA5B,EAAyC;kBACjC,IAAIY,KAAJ,wBAA8BZ,MAA9B,QAAN;;;eAEGA,MAAL;;OAvBG,CAAP;KAtUkB;;;;0BA4FC;eACZgB,OAAP;;;;0BAGmB;eACZuE,OAAP;;;;;;;;;;;;IA0QFtH,QAAF,EAAYuF,EAAZ,CAAejC,MAAMkC,cAArB,EAAqCnC,SAAS2C,WAA9C,EAA2D,UAAU7G,KAAV,EAAiB;;QAEtEA,MAAMyQ,aAAN,CAAoBvF,OAApB,KAAgC,GAApC,EAAyC;YACjC/E,cAAN;;;QAGIuK,WAAWzQ,EAAE,IAAF,CAAjB;QACMgC,WAAW7C,KAAK2F,sBAAL,CAA4B,IAA5B,CAAjB;MACE9C,QAAF,EAAY6D,IAAZ,CAAiB,YAAY;UACrB6K,UAAU1Q,EAAE,IAAF,CAAhB;UACM+F,OAAU2K,QAAQ3K,IAAR,CAAanC,QAAb,CAAhB;UACMjB,SAAUoD,OAAO,QAAP,GAAkB0K,SAAS1K,IAAT,EAAlC;;eACSH,gBAAT,CAA0BlG,IAA1B,CAA+BgR,OAA/B,EAAwC/N,MAAxC;KAJF;GARF;;;;;;;IAuBEpB,EAAF,CAAKmC,IAAL,IAAyBkK,SAAShI,gBAAlC;IACErE,EAAF,CAAKmC,IAAL,EAAW4C,WAAX,GAAyBsH,QAAzB;;IACErM,EAAF,CAAKmC,IAAL,EAAW6C,UAAX,GAAyB,YAAY;MACjChF,EAAF,CAAKmC,IAAL,IAAaK,kBAAb;WACO6J,SAAShI,gBAAhB;GAFF;;SAKOgI,QAAP;CAzYe,CA2Yd5N,CA3Yc,CAAjB;;ACNA;;;;;;;AAOA,IAAM2Q,WAAY,YAAM;;;;;MAMlB,OAAOC,MAAP,KAAkB,WAAtB,EAAmC;UAC3B,IAAIrN,KAAJ,CAAU,8DAAV,CAAN;;;;;;;;;MASIG,OAA2B,UAAjC;MACMC,UAA2B,cAAjC;MACMC,WAA2B,aAAjC;MACMC,kBAA+BD,QAArC;MACME,eAA2B,WAAjC;MACMC,qBAA2B/D,EAAEuB,EAAF,CAAKmC,IAAL,CAAjC;MACMmN,iBAA2B,EAAjC,CAtBsB;;MAuBhBC,gBAA2B,EAAjC,CAvBsB;;MAwBhBC,cAA2B,CAAjC,CAxBsB;;MAyBhBC,mBAA2B,EAAjC,CAzBsB;;MA0BhBC,qBAA2B,EAAjC,CA1BsB;;MA2BhBC,2BAA2B,CAAjC,CA3BsB;;MA4BhBC,iBAA2B,IAAI9N,MAAJ,CAAc2N,gBAAd,SAAkCC,kBAAlC,SAAwDJ,cAAxD,CAAjC;MAEM3M,QAAQ;mBACcL,SADd;uBAEgBA,SAFhB;mBAGcA,SAHd;qBAIeA,SAJf;qBAKeA,SALf;8BAMeA,SAA3B,GAAuCC,YAN3B;kCAOiBD,SAA7B,GAAyCC,YAP7B;8BAQeD,SAA3B,GAAuCC;GARzC;MAWMK,YAAY;cACJ,UADI;UAEJ,MAFI;YAGJ,QAHI;eAIJ,qBAJI;cAKJ;GALd;MAQMF,WAAW;iBACC,0BADD;gBAEC,gBAFD;UAGC,gBAHD;gBAIC,aAJD;mBAKC;GALlB;MAQMmN,gBAAgB;SACR,WADQ;YAER,SAFQ;YAGR,cAHQ;eAIR;GAJd;MAOMlJ,UAAU;YACA,CADA;UAEA;GAFhB;MAKMC,cAAc;YACJ,0BADI;UAEJ;;;;;;;GAFhB;;MAYMwI,QAjFgB;;;sBAmFR5O,OAAZ,EAAqBY,MAArB,EAA6B;WACtByB,QAAL,GAAiBrC,OAAjB;WACKsP,OAAL,GAAiB,IAAjB;WACK1I,OAAL,GAAiB,KAAKC,UAAL,CAAgBjG,MAAhB,CAAjB;WACK2O,KAAL,GAAiB,KAAKC,eAAL,EAAjB;WACKC,SAAL,GAAiB,KAAKC,aAAL,EAAjB;;WAEK1I,kBAAL;KA1FkB;;;;;;WA8GpBtC,MA9GoB,qBA8GX;UACH,KAAKrC,QAAL,CAAcsN,QAAd,IAA0B1R,EAAE,KAAKoE,QAAP,EAAiBkB,QAAjB,CAA0BnB,UAAUwN,QAApC,CAA9B,EAA6E;;;;UAIvE5M,SAAW4L,SAASiB,qBAAT,CAA+B,KAAKxN,QAApC,CAAjB;;UACMyN,WAAW7R,EAAE,KAAKsR,KAAP,EAAchM,QAAd,CAAuBnB,UAAUkB,IAAjC,CAAjB;;eAESyM,WAAT;;UAEID,QAAJ,EAAc;;;;UAIR9F,gBAAgB;uBACJ,KAAK3H;OADvB;UAGM2N,YAAY/R,EAAEkE,KAAF,CAAQA,MAAMmB,IAAd,EAAoB0G,aAApB,CAAlB;QAEEhH,MAAF,EAAUxC,OAAV,CAAkBwP,SAAlB;;UAEIA,UAAUrN,kBAAV,EAAJ,EAAoC;;;;UAIhC3C,UAAU,KAAKqC,QAAnB,CAzBO;;UA2BHpE,EAAE+E,MAAF,EAAUO,QAAV,CAAmBnB,UAAU6N,MAA7B,CAAJ,EAA0C;YACpChS,EAAE,KAAKsR,KAAP,EAAchM,QAAd,CAAuBnB,UAAU8N,QAAjC,KAA8CjS,EAAE,KAAKsR,KAAP,EAAchM,QAAd,CAAuBnB,UAAU+N,SAAjC,CAAlD,EAA+F;oBACnFnN,MAAV;;;;WAGCsM,OAAL,GAAe,IAAIT,MAAJ,CAAW7O,OAAX,EAAoB,KAAKuP,KAAzB,EAAgC,KAAKa,gBAAL,EAAhC,CAAf,CAhCO;;;;;UAsCH,kBAAkBvR,SAASkK,eAA3B,IACD,CAAC9K,EAAE+E,MAAF,EAAUC,OAAV,CAAkBf,SAASmO,UAA3B,EAAuChQ,MAD3C,EACmD;UAC/C,MAAF,EAAUmK,QAAV,GAAqBpG,EAArB,CAAwB,WAAxB,EAAqC,IAArC,EAA2CnG,EAAEqS,IAA7C;;;WAGGjO,QAAL,CAAckD,KAAd;;WACKlD,QAAL,CAAcmD,YAAd,CAA2B,eAA3B,EAA4C,IAA5C;;QAEE,KAAK+J,KAAP,EAAc9J,WAAd,CAA0BrD,UAAUkB,IAApC;QACEN,MAAF,EACGyC,WADH,CACerD,UAAUkB,IADzB,EAEG9C,OAFH,CAEWvC,EAAEkE,KAAF,CAAQA,MAAMqL,KAAd,EAAqBxD,aAArB,CAFX;KA7JkB;;WAkKpBnH,OAlKoB,sBAkKV;QACNC,UAAF,CAAa,KAAKT,QAAlB,EAA4BR,QAA5B;QACE,KAAKQ,QAAP,EAAiBkG,GAAjB,CAAqBzG,SAArB;WACKO,QAAL,GAAgB,IAAhB;WACKkN,KAAL,GAAa,IAAb;;UACI,KAAKD,OAAL,KAAiB,IAArB,EAA2B;aACpBA,OAAL,CAAaiB,OAAb;;;WAEGjB,OAAL,GAAe,IAAf;KA1KkB;;WA6KpBkB,MA7KoB,qBA6KX;WACFf,SAAL,GAAiB,KAAKC,aAAL,EAAjB;;UACI,KAAKJ,OAAL,KAAiB,IAArB,EAA2B;aACpBA,OAAL,CAAamB,cAAb;;KAhLgB;;;WAsLpBzJ,kBAtLoB,iCAsLC;;;QACjB,KAAK3E,QAAP,EAAiB+B,EAAjB,CAAoBjC,MAAMuO,KAA1B,EAAiC,UAAC1S,KAAD,EAAW;cACpCmG,cAAN;cACMwM,eAAN;;cACKjM,MAAL;OAHF;KAvLkB;;WA8LpBmC,UA9LoB,uBA8LTjG,MA9LS,EA8LD;eACR3C,EAAEuK,MAAF,CACP,EADO,EAEP,KAAKoI,WAAL,CAAiBzK,OAFV,EAGPlI,EAAE,KAAKoE,QAAP,EAAiB2B,IAAjB,EAHO,EAIPpD,MAJO,CAAT;WAOK6H,eAAL,CACE9G,IADF,EAEEf,MAFF,EAGE,KAAKgQ,WAAL,CAAiBxK,WAHnB;aAMOxF,MAAP;KA5MkB;;WA+MpB4O,eA/MoB,8BA+MF;UACZ,CAAC,KAAKD,KAAV,EAAiB;YACTvM,SAAS4L,SAASiB,qBAAT,CAA+B,KAAKxN,QAApC,CAAf;;aACKkN,KAAL,GAAatR,EAAE+E,MAAF,EAAU5C,IAAV,CAAe8B,SAAS2O,IAAxB,EAA8B,CAA9B,CAAb;;;aAEK,KAAKtB,KAAZ;KApNkB;;WAuNpBuB,aAvNoB,4BAuNJ;UACRC,kBAAkB9S,EAAE,KAAKoE,QAAP,EAAiBW,MAAjB,EAAxB;UACIgO,YAAY3B,cAAc4B,MAA9B,CAFc;;UAKVF,gBAAgBxN,QAAhB,CAAyBnB,UAAU6N,MAAnC,CAAJ,EAAgD;oBAClCZ,cAAc6B,GAA1B;;YACIjT,EAAE,KAAKsR,KAAP,EAAchM,QAAd,CAAuBnB,UAAU+N,SAAjC,CAAJ,EAAiD;sBACnCd,cAAc8B,MAA1B;;OAHJ,MAKO,IAAIlT,EAAE,KAAKsR,KAAP,EAAchM,QAAd,CAAuBnB,UAAU+N,SAAjC,CAAJ,EAAiD;oBAC1Cd,cAAc+B,SAA1B;;;aAEKJ,SAAP;KApOkB;;WAuOpBtB,aAvOoB,4BAuOJ;aACPzR,EAAE,KAAKoE,QAAP,EAAiBY,OAAjB,CAAyB,SAAzB,EAAoC5C,MAApC,GAA6C,CAApD;KAxOkB;;WA2OpB+P,gBA3OoB,+BA2OD;;;UACXiB,aAAa,EAAnB;;UACI,OAAO,KAAKzK,OAAL,CAAa0K,MAApB,KAA+B,UAAnC,EAA+C;mBAClC9R,EAAX,GAAgB,UAACwE,IAAD,EAAU;eACnBuN,OAAL,GAAetT,EAAEuK,MAAF,CAAS,EAAT,EAAaxE,KAAKuN,OAAlB,EAA2B,OAAK3K,OAAL,CAAa0K,MAAb,CAAoBtN,KAAKuN,OAAzB,KAAqC,EAAhE,CAAf;iBACOvN,IAAP;SAFF;OADF,MAKO;mBACMsN,MAAX,GAAoB,KAAK1K,OAAL,CAAa0K,MAAjC;;;UAEIE,eAAe;mBACP,KAAKV,aAAL,EADO;mBAEP;kBACDO,UADC;gBAEH;qBACK,KAAKzK,OAAL,CAAa6K;;SALR;;OAArB;;UAWI,KAAKhC,SAAT,EAAoB;qBACLiC,SAAb,CAAuBC,UAAvB,GAAoC;mBACzB,CAAC,KAAKlC;SADjB;;;aAIK+B,YAAP;KArQkB;;;aA0Qb3N,gBA1Qa,6BA0QIjD,MA1QJ,EA0QY;aACvB,KAAKkD,IAAL,CAAU,YAAY;YACvBE,OAAO/F,EAAE,IAAF,EAAQ+F,IAAR,CAAanC,QAAb,CAAX;;YACM+E,UAAU,OAAOhG,MAAP,KAAkB,QAAlB,GAA6BA,MAA7B,GAAsC,IAAtD;;YAEI,CAACoD,IAAL,EAAW;iBACF,IAAI4K,QAAJ,CAAa,IAAb,EAAmBhI,OAAnB,CAAP;YACE,IAAF,EAAQ5C,IAAR,CAAanC,QAAb,EAAuBmC,IAAvB;;;YAGE,OAAOpD,MAAP,KAAkB,QAAtB,EAAgC;cAC1B,OAAOoD,KAAKpD,MAAL,CAAP,KAAwB,WAA5B,EAAyC;kBACjC,IAAIY,KAAJ,wBAA8BZ,MAA9B,QAAN;;;eAEGA,MAAL;;OAbG,CAAP;KA3QkB;;aA6RbmP,WA7Ra,wBA6RD/R,KA7RC,EA6RM;UACpBA,UAAUA,MAAMmL,KAAN,KAAgBgG,wBAAhB,IACZnR,MAAMgH,IAAN,KAAe,OAAf,IAA0BhH,MAAMmL,KAAN,KAAgB6F,WADxC,CAAJ,EAC0D;;;;UAIpD4C,UAAU3T,EAAEmL,SAAF,CAAYnL,EAAEiE,SAAS2C,WAAX,CAAZ,CAAhB;;WACK,IAAIsH,IAAI,CAAb,EAAgBA,IAAIyF,QAAQvR,MAA5B,EAAoC8L,GAApC,EAAyC;YACjCnJ,SAAgB4L,SAASiB,qBAAT,CAA+B+B,QAAQzF,CAAR,CAA/B,CAAtB;;YACM0F,UAAgB5T,EAAE2T,QAAQzF,CAAR,CAAF,EAAcnI,IAAd,CAAmBnC,QAAnB,CAAtB;YACMmI,gBAAgB;yBACJ4H,QAAQzF,CAAR;SADlB;;YAII,CAAC0F,OAAL,EAAc;;;;YAIRC,eAAeD,QAAQtC,KAA7B;;YACI,CAACtR,EAAE+E,MAAF,EAAUO,QAAV,CAAmBnB,UAAUkB,IAA7B,CAAL,EAAyC;;;;YAIrCtF,UAAUA,MAAMgH,IAAN,KAAe,OAAf,IACV,kBAAkBzD,IAAlB,CAAuBvD,MAAME,MAAN,CAAagL,OAApC,CADU,IACsClL,MAAMgH,IAAN,KAAe,OAAf,IAA0BhH,MAAMmL,KAAN,KAAgB6F,WAD1F,KAEG/Q,EAAEqH,QAAF,CAAWtC,MAAX,EAAmBhF,MAAME,MAAzB,CAFP,EAEyC;;;;YAInC6T,YAAY9T,EAAEkE,KAAF,CAAQA,MAAMyL,IAAd,EAAoB5D,aAApB,CAAlB;UACEhH,MAAF,EAAUxC,OAAV,CAAkBuR,SAAlB;;YACIA,UAAUpP,kBAAV,EAAJ,EAAoC;;SAxBG;;;;YA8BnC,kBAAkB9D,SAASkK,eAA/B,EAAgD;YAC5C,MAAF,EAAUyB,QAAV,GAAqBjC,GAArB,CAAyB,WAAzB,EAAsC,IAAtC,EAA4CtK,EAAEqS,IAA9C;;;gBAGMnE,CAAR,EAAW3G,YAAX,CAAwB,eAAxB,EAAyC,OAAzC;UAEEsM,YAAF,EAAgBzO,WAAhB,CAA4BjB,UAAUkB,IAAtC;UACEN,MAAF,EACGK,WADH,CACejB,UAAUkB,IADzB,EAEG9C,OAFH,CAEWvC,EAAEkE,KAAF,CAAQA,MAAM4L,MAAd,EAAsB/D,aAAtB,CAFX;;KAzUgB;;aA+Ub6F,qBA/Ua,kCA+US7P,OA/UT,EA+UkB;UAChCgD,MAAJ;UACM/C,WAAW7C,KAAK2F,sBAAL,CAA4B/C,OAA5B,CAAjB;;UAEIC,QAAJ,EAAc;iBACHhC,EAAEgC,QAAF,EAAY,CAAZ,CAAT;;;aAGK+C,UAAUhD,QAAQgS,UAAzB;KAvVkB;;aA0VbC,sBA1Va,mCA0VUjU,KA1VV,EA0ViB;UAC/B,CAACoR,eAAe7N,IAAf,CAAoBvD,MAAMmL,KAA1B,CAAD,IAAqC,UAAU5H,IAAV,CAAevD,MAAME,MAAN,CAAagL,OAA5B,KAAwClL,MAAMmL,KAAN,KAAgB4F,aAA7F,IACD,kBAAkBxN,IAAlB,CAAuBvD,MAAME,MAAN,CAAagL,OAApC,CADH,EACiD;;;;YAI3C/E,cAAN;YACMwM,eAAN;;UAEI,KAAKhB,QAAL,IAAiB1R,EAAE,IAAF,EAAQsF,QAAR,CAAiBnB,UAAUwN,QAA3B,CAArB,EAA2D;;;;UAIrD5M,SAAW4L,SAASiB,qBAAT,CAA+B,IAA/B,CAAjB;;UACMC,WAAW7R,EAAE+E,MAAF,EAAUO,QAAV,CAAmBnB,UAAUkB,IAA7B,CAAjB;;UAEI,CAACwM,QAAD,KAAc9R,MAAMmL,KAAN,KAAgB2F,cAAhB,IAAkC9Q,MAAMmL,KAAN,KAAgB4F,aAAhE,KACCe,aAAa9R,MAAMmL,KAAN,KAAgB2F,cAAhB,IAAkC9Q,MAAMmL,KAAN,KAAgB4F,aAA/D,CADL,EACoF;YAE9E/Q,MAAMmL,KAAN,KAAgB2F,cAApB,EAAoC;cAC5BpK,SAASzG,EAAE+E,MAAF,EAAU5C,IAAV,CAAe8B,SAAS2C,WAAxB,EAAqC,CAArC,CAAf;YACEH,MAAF,EAAUlE,OAAV,CAAkB,OAAlB;;;UAGA,IAAF,EAAQA,OAAR,CAAgB,OAAhB;;;;UAII0R,QAAQjU,EAAE+E,MAAF,EAAU5C,IAAV,CAAe8B,SAASiQ,aAAxB,EAAuCC,GAAvC,EAAd;;UAEI,CAACF,MAAM7R,MAAX,EAAmB;;;;UAIf4H,QAAQiK,MAAM5I,OAAN,CAActL,MAAME,MAApB,CAAZ;;UAEIF,MAAMmL,KAAN,KAAgB8F,gBAAhB,IAAoChH,QAAQ,CAAhD,EAAmD;;;;;UAI/CjK,MAAMmL,KAAN,KAAgB+F,kBAAhB,IAAsCjH,QAAQiK,MAAM7R,MAAN,GAAe,CAAjE,EAAoE;;;;;UAIhE4H,QAAQ,CAAZ,EAAe;gBACL,CAAR;;;YAGIA,KAAN,EAAa1C,KAAb;KA1YkB;;;;0BAgGC;eACZ3D,OAAP;;;;0BAGmB;eACZuE,OAAP;;;;0BAGuB;eAChBC,WAAP;;;;;;;;;;;;IA6SFvH,QAAF,EACGuF,EADH,CACMjC,MAAMkQ,gBADZ,EAC8BnQ,SAAS2C,WADvC,EACqD+J,SAASqD,sBAD9D,EAEG7N,EAFH,CAEMjC,MAAMkQ,gBAFZ,EAE8BnQ,SAAS2O,IAFvC,EAE6CjC,SAASqD,sBAFtD,EAGG7N,EAHH,CAGSjC,MAAMkC,cAHf,SAGiClC,MAAMmQ,cAHvC,EAGyD1D,SAASmB,WAHlE,EAIG3L,EAJH,CAIMjC,MAAMkC,cAJZ,EAI4BnC,SAAS2C,WAJrC,EAIkD,UAAU7G,KAAV,EAAiB;UACzDmG,cAAN;UACMwM,eAAN;;aACS9M,gBAAT,CAA0BlG,IAA1B,CAA+BM,EAAE,IAAF,CAA/B,EAAwC,QAAxC;GAPJ,EASGmG,EATH,CASMjC,MAAMkC,cATZ,EAS4BnC,SAASqQ,UATrC,EASiD,UAACC,CAAD,EAAO;MAClD7B,eAAF;GAVJ;;;;;;;IAoBEnR,EAAF,CAAKmC,IAAL,IAAyBiN,SAAS/K,gBAAlC;IACErE,EAAF,CAAKmC,IAAL,EAAW4C,WAAX,GAAyBqK,QAAzB;;IACEpP,EAAF,CAAKmC,IAAL,EAAW6C,UAAX,GAAyB,YAAY;MACjChF,EAAF,CAAKmC,IAAL,IAAaK,kBAAb;WACO4M,SAAS/K,gBAAhB;GAFF;;SAKO+K,QAAP;CAjbe,CAmbd3Q,CAnbc,EAmbX4Q,MAnbW,CAAjB;;ACRA;;;;;;;AAOA,IAAM4D,QAAS,YAAM;;;;;;MASb9Q,OAA+B,OAArC;MACMC,UAA+B,cAArC;MACMC,WAA+B,UAArC;MACMC,kBAAmCD,QAAzC;MACME,eAA+B,WAArC;MACMC,qBAA+B/D,EAAEuB,EAAF,CAAKmC,IAAL,CAArC;MACMM,sBAA+B,GAArC;MACMyQ,+BAA+B,GAArC;MACM5D,iBAA+B,EAArC,CAjBmB;;MAmBb3I,UAAU;cACH,IADG;cAEH,IAFG;WAGH,IAHG;UAIH;GAJb;MAOMC,cAAc;cACP,kBADO;cAEP,SAFO;WAGP,SAHO;UAIP;GAJb;MAOMjE,QAAQ;mBACeL,SADf;uBAEiBA,SAFjB;mBAGeA,SAHf;qBAIgBA,SAJhB;yBAKkBA,SALlB;uBAMiBA,SANjB;qCAOwBA,SAPxB;yCAQ0BA,SAR1B;yCAS0BA,SAT1B;6CAU4BA,SAV5B;8BAWgBA,SAA5B,GAAwCC;GAX1C;MAcMK,YAAY;wBACK,yBADL;cAEK,gBAFL;UAGK,YAHL;UAIK,MAJL;UAKK;GALvB;MAQMF,WAAW;YACM,eADN;iBAEM,uBAFN;kBAGM,wBAHN;mBAIM,mDAJN;oBAKM,aALN;oBAMM;;;;;;;GANvB;;MAgBMuQ,KAvEa;;;mBAyELzS,OAAZ,EAAqBY,MAArB,EAA6B;WACtBgG,OAAL,GAA4B,KAAKC,UAAL,CAAgBjG,MAAhB,CAA5B;WACKyB,QAAL,GAA4BrC,OAA5B;WACK2S,OAAL,GAA4B1U,EAAE+B,OAAF,EAAWI,IAAX,CAAgB8B,SAAS0Q,MAAzB,EAAiC,CAAjC,CAA5B;WACKC,SAAL,GAA4B,IAA5B;WACKC,QAAL,GAA4B,KAA5B;WACKC,kBAAL,GAA4B,KAA5B;WACKC,oBAAL,GAA4B,KAA5B;WACKC,oBAAL,GAA4B,CAA5B;WACKC,eAAL,GAA4B,CAA5B;KAlFe;;;;;;WAmGjBxO,MAnGiB,mBAmGVsF,aAnGU,EAmGK;aACb,KAAK8I,QAAL,GAAgB,KAAKpG,IAAL,EAAhB,GAA8B,KAAKC,IAAL,CAAU3C,aAAV,CAArC;KApGe;;WAuGjB2C,IAvGiB,iBAuGZ3C,aAvGY,EAuGG;;;UACd,KAAK+B,gBAAL,IAAyB,KAAK+G,QAAlC,EAA4C;;;;UAIxC1V,KAAKsC,qBAAL,MAAgCzB,EAAE,KAAKoE,QAAP,EAAiBkB,QAAjB,CAA0BnB,UAAUoB,IAApC,CAApC,EAA+E;aACxEuI,gBAAL,GAAwB,IAAxB;;;UAGIiE,YAAY/R,EAAEkE,KAAF,CAAQA,MAAMmB,IAAd,EAAoB;;OAApB,CAAlB;QAIE,KAAKjB,QAAP,EAAiB7B,OAAjB,CAAyBwP,SAAzB;;UAEI,KAAK8C,QAAL,IAAiB9C,UAAUrN,kBAAV,EAArB,EAAqD;;;;WAIhDmQ,QAAL,GAAgB,IAAhB;;WAEKK,eAAL;;WACKC,aAAL;;WAEKC,aAAL;;QAEExU,SAASyU,IAAX,EAAiB7I,QAAjB,CAA0BrI,UAAUmR,IAApC;;WAEKC,eAAL;;WACKC,eAAL;;QAEE,KAAKpR,QAAP,EAAiB+B,EAAjB,CACEjC,MAAMuR,aADR,EAEExR,SAASyR,YAFX,EAGE,UAAC3V,KAAD;eAAW,MAAK0O,IAAL,CAAU1O,KAAV,CAAX;OAHF;QAME,KAAK2U,OAAP,EAAgBvO,EAAhB,CAAmBjC,MAAMyR,iBAAzB,EAA4C,YAAM;UAC9C,MAAKvR,QAAP,EAAiBjD,GAAjB,CAAqB+C,MAAM0R,eAA3B,EAA4C,UAAC7V,KAAD,EAAW;cACjDC,EAAED,MAAME,MAAR,EAAgBC,EAAhB,CAAmB,MAAKkE,QAAxB,CAAJ,EAAuC;kBAChC2Q,oBAAL,GAA4B,IAA5B;;SAFJ;OADF;;WAQKc,aAAL,CAAmB;eAAM,MAAKC,YAAL,CAAkB/J,aAAlB,CAAN;OAAnB;KApJe;;WAuJjB0C,IAvJiB,iBAuJZ1O,KAvJY,EAuJL;;;UACNA,KAAJ,EAAW;cACHmG,cAAN;;;UAGE,KAAK4H,gBAAL,IAAyB,CAAC,KAAK+G,QAAnC,EAA6C;;;;UAIvCf,YAAY9T,EAAEkE,KAAF,CAAQA,MAAMyL,IAAd,CAAlB;QAEE,KAAKvL,QAAP,EAAiB7B,OAAjB,CAAyBuR,SAAzB;;UAEI,CAAC,KAAKe,QAAN,IAAkBf,UAAUpP,kBAAV,EAAtB,EAAsD;;;;WAIjDmQ,QAAL,GAAgB,KAAhB;UAEMzV,aAAaD,KAAKsC,qBAAL,MAAgCzB,EAAE,KAAKoE,QAAP,EAAiBkB,QAAjB,CAA0BnB,UAAUoB,IAApC,CAAnD;;UAEInG,UAAJ,EAAgB;aACT0O,gBAAL,GAAwB,IAAxB;;;WAGGyH,eAAL;;WACKC,eAAL;;QAEE5U,QAAF,EAAY0J,GAAZ,CAAgBpG,MAAM6R,OAAtB;QAEE,KAAK3R,QAAP,EAAiBgB,WAAjB,CAA6BjB,UAAUkB,IAAvC;QAEE,KAAKjB,QAAP,EAAiBkG,GAAjB,CAAqBpG,MAAMuR,aAA3B;QACE,KAAKf,OAAP,EAAgBpK,GAAhB,CAAoBpG,MAAMyR,iBAA1B;;UAEIvW,UAAJ,EAAgB;UAEZ,KAAKgF,QAAP,EACGjD,GADH,CACOhC,KAAKiC,cADZ,EAC4B,UAACrB,KAAD;iBAAW,OAAKiW,UAAL,CAAgBjW,KAAhB,CAAX;SAD5B,EAEGyB,oBAFH,CAEwBwC,mBAFxB;OAFF,MAKO;aACAgS,UAAL;;KAhMa;;WAoMjBpR,OApMiB,sBAoMP;QACNC,UAAF,CAAa,KAAKT,QAAlB,EAA4BR,QAA5B;QAEEnD,MAAF,EAAUG,QAAV,EAAoB,KAAKwD,QAAzB,EAAmC,KAAKwQ,SAAxC,EAAmDtK,GAAnD,CAAuDzG,SAAvD;WAEK8E,OAAL,GAA4B,IAA5B;WACKvE,QAAL,GAA4B,IAA5B;WACKsQ,OAAL,GAA4B,IAA5B;WACKE,SAAL,GAA4B,IAA5B;WACKC,QAAL,GAA4B,IAA5B;WACKC,kBAAL,GAA4B,IAA5B;WACKC,oBAAL,GAA4B,IAA5B;WACKE,eAAL,GAA4B,IAA5B;KAhNe;;WAmNjBgB,YAnNiB,2BAmNF;WACRb,aAAL;KApNe;;;WAyNjBxM,UAzNiB,uBAyNNjG,MAzNM,EAyNE;eACR3C,EAAEuK,MAAF,CAAS,EAAT,EAAarC,OAAb,EAAsBvF,MAAtB,CAAT;WACK6H,eAAL,CAAqB9G,IAArB,EAA2Bf,MAA3B,EAAmCwF,WAAnC;aACOxF,MAAP;KA5Ne;;WA+NjBmT,YA/NiB,yBA+NJ/J,aA/NI,EA+NW;;;UACpB3M,aAAaD,KAAKsC,qBAAL,MACjBzB,EAAE,KAAKoE,QAAP,EAAiBkB,QAAjB,CAA0BnB,UAAUoB,IAApC,CADF;;UAGI,CAAC,KAAKnB,QAAL,CAAc2P,UAAf,IACD,KAAK3P,QAAL,CAAc2P,UAAd,CAAyBtR,QAAzB,KAAsCyT,KAAKC,YAD9C,EAC4D;;iBAEjDd,IAAT,CAAce,WAAd,CAA0B,KAAKhS,QAA/B;;;WAGGA,QAAL,CAAcrD,KAAd,CAAoBsV,OAApB,GAA8B,OAA9B;;WACKjS,QAAL,CAAckS,eAAd,CAA8B,aAA9B;;WACKlS,QAAL,CAAcmS,SAAd,GAA0B,CAA1B;;UAEInX,UAAJ,EAAgB;aACT8N,MAAL,CAAY,KAAK9I,QAAjB;;;QAGA,KAAKA,QAAP,EAAiBoI,QAAjB,CAA0BrI,UAAUkB,IAApC;;UAEI,KAAKsD,OAAL,CAAarB,KAAjB,EAAwB;aACjBkP,aAAL;;;UAGIC,aAAazW,EAAEkE,KAAF,CAAQA,MAAMqL,KAAd,EAAqB;;OAArB,CAAnB;;UAIMmH,qBAAqB,SAArBA,kBAAqB,GAAM;YAC3B,OAAK/N,OAAL,CAAarB,KAAjB,EAAwB;iBACjBlD,QAAL,CAAckD,KAAd;;;eAEGwG,gBAAL,GAAwB,KAAxB;UACE,OAAK1J,QAAP,EAAiB7B,OAAjB,CAAyBkU,UAAzB;OALF;;UAQIrX,UAAJ,EAAgB;UACZ,KAAKsV,OAAP,EACGvT,GADH,CACOhC,KAAKiC,cADZ,EAC4BsV,kBAD5B,EAEGlV,oBAFH,CAEwBwC,mBAFxB;OADF,MAIO;;;KAvQQ;;WA4QjBwS,aA5QiB,4BA4QD;;;QACZ5V,QAAF,EACG0J,GADH,CACOpG,MAAM6R,OADb;OAEG5P,EAFH,CAEMjC,MAAM6R,OAFZ,EAEqB,UAAChW,KAAD,EAAW;YACxBa,aAAab,MAAME,MAAnB,IACA,OAAKmE,QAAL,KAAkBrE,MAAME,MADxB,IAEA,CAACD,EAAE,OAAKoE,QAAP,EAAiBuS,GAAjB,CAAqB5W,MAAME,MAA3B,EAAmCmC,MAFxC,EAEgD;iBACzCgC,QAAL,CAAckD,KAAd;;OANN;KA7Qe;;WAwRjBiO,eAxRiB,8BAwRC;;;UACZ,KAAKV,QAAL,IAAiB,KAAKlM,OAAL,CAAa8B,QAAlC,EAA4C;UACxC,KAAKrG,QAAP,EAAiB+B,EAAjB,CAAoBjC,MAAM0S,eAA1B,EAA2C,UAAC7W,KAAD,EAAW;cAChDA,MAAMmL,KAAN,KAAgB2F,cAApB,EAAoC;kBAC5B3K,cAAN;;mBACKuI,IAAL;;SAHJ;OADF,MAQO,IAAI,CAAC,KAAKoG,QAAV,EAAoB;UACvB,KAAKzQ,QAAP,EAAiBkG,GAAjB,CAAqBpG,MAAM0S,eAA3B;;KAlSa;;WAsSjBpB,eAtSiB,8BAsSC;;;UACZ,KAAKX,QAAT,EAAmB;UACfpU,MAAF,EAAU0F,EAAV,CAAajC,MAAM2S,MAAnB,EAA2B,UAAC9W,KAAD;iBAAW,OAAKkW,YAAL,CAAkBlW,KAAlB,CAAX;SAA3B;OADF,MAEO;UACHU,MAAF,EAAU6J,GAAV,CAAcpG,MAAM2S,MAApB;;KA1Sa;;WA8SjBb,UA9SiB,yBA8SJ;;;WACN5R,QAAL,CAAcrD,KAAd,CAAoBsV,OAApB,GAA8B,MAA9B;;WACKjS,QAAL,CAAcmD,YAAd,CAA2B,aAA3B,EAA0C,IAA1C;;WACKuG,gBAAL,GAAwB,KAAxB;;WACK+H,aAAL,CAAmB,YAAM;UACrBjV,SAASyU,IAAX,EAAiBjQ,WAAjB,CAA6BjB,UAAUmR,IAAvC;;eACKwB,iBAAL;;eACKC,eAAL;;UACE,OAAK3S,QAAP,EAAiB7B,OAAjB,CAAyB2B,MAAM4L,MAA/B;OAJF;KAlTe;;WA0TjBkH,eA1TiB,8BA0TC;UACZ,KAAKpC,SAAT,EAAoB;UAChB,KAAKA,SAAP,EAAkBjP,MAAlB;aACKiP,SAAL,GAAiB,IAAjB;;KA7Ta;;WAiUjBiB,aAjUiB,0BAiUHoB,QAjUG,EAiUO;;;UAChBC,UAAUlX,EAAE,KAAKoE,QAAP,EAAiBkB,QAAjB,CAA0BnB,UAAUoB,IAApC,IACdpB,UAAUoB,IADI,GACG,EADnB;;UAGI,KAAKsP,QAAL,IAAiB,KAAKlM,OAAL,CAAawO,QAAlC,EAA4C;YACpCC,YAAYjY,KAAKsC,qBAAL,MAAgCyV,OAAlD;aAEKtC,SAAL,GAAiBhU,SAASC,aAAT,CAAuB,KAAvB,CAAjB;aACK+T,SAAL,CAAeyC,SAAf,GAA2BlT,UAAUmT,QAArC;;YAEIJ,OAAJ,EAAa;YACT,KAAKtC,SAAP,EAAkBpI,QAAlB,CAA2B0K,OAA3B;;;UAGA,KAAKtC,SAAP,EAAkB2C,QAAlB,CAA2B3W,SAASyU,IAApC;UAEE,KAAKjR,QAAP,EAAiB+B,EAAjB,CAAoBjC,MAAMuR,aAA1B,EAAyC,UAAC1V,KAAD,EAAW;cAC9C,OAAKgV,oBAAT,EAA+B;mBACxBA,oBAAL,GAA4B,KAA5B;;;;cAGEhV,MAAME,MAAN,KAAiBF,MAAMyQ,aAA3B,EAA0C;;;;cAGtC,OAAK7H,OAAL,CAAawO,QAAb,KAA0B,QAA9B,EAAwC;mBACjC/S,QAAL,CAAckD,KAAd;WADF,MAEO;mBACAmH,IAAL;;SAXJ;;YAeI2I,SAAJ,EAAe;eACRlK,MAAL,CAAY,KAAK0H,SAAjB;;;UAGA,KAAKA,SAAP,EAAkBpI,QAAlB,CAA2BrI,UAAUkB,IAArC;;YAEI,CAAC4R,QAAL,EAAe;;;;YAIX,CAACG,SAAL,EAAgB;;;;;UAKd,KAAKxC,SAAP,EACGzT,GADH,CACOhC,KAAKiC,cADZ,EAC4B6V,QAD5B,EAEGzV,oBAFH,CAEwBiT,4BAFxB;OA1CF,MA8CO,IAAI,CAAC,KAAKI,QAAN,IAAkB,KAAKD,SAA3B,EAAsC;UACzC,KAAKA,SAAP,EAAkBxP,WAAlB,CAA8BjB,UAAUkB,IAAxC;;YAEMmS,iBAAiB,SAAjBA,cAAiB,GAAM;iBACtBR,eAAL;;cACIC,QAAJ,EAAc;;;SAFhB;;YAOI9X,KAAKsC,qBAAL,MACDzB,EAAE,KAAKoE,QAAP,EAAiBkB,QAAjB,CAA0BnB,UAAUoB,IAApC,CADH,EAC8C;YAC1C,KAAKqP,SAAP,EACGzT,GADH,CACOhC,KAAKiC,cADZ,EAC4BoW,cAD5B,EAEGhW,oBAFH,CAEwBiT,4BAFxB;SAFF,MAKO;;;OAfF,MAmBA,IAAIwC,QAAJ,EAAc;;;KAtYN;;;;;;WAiZjB7B,aAjZiB,4BAiZD;UACRqC,qBACJ,KAAKrT,QAAL,CAAcsT,YAAd,GAA6B9W,SAASkK,eAAT,CAAyB6M,YADxD;;UAGI,CAAC,KAAK7C,kBAAN,IAA4B2C,kBAAhC,EAAoD;aAC7CrT,QAAL,CAAcrD,KAAd,CAAoB6W,WAApB,GAAqC,KAAK3C,eAA1C;;;UAGE,KAAKH,kBAAL,IAA2B,CAAC2C,kBAAhC,EAAoD;aAC7CrT,QAAL,CAAcrD,KAAd,CAAoB8W,YAApB,GAAsC,KAAK5C,eAA3C;;KA1Za;;WA8ZjB6B,iBA9ZiB,gCA8ZG;WACb1S,QAAL,CAAcrD,KAAd,CAAoB6W,WAApB,GAAkC,EAAlC;WACKxT,QAAL,CAAcrD,KAAd,CAAoB8W,YAApB,GAAmC,EAAnC;KAhae;;WAmajB3C,eAnaiB,8BAmaC;UACV4C,OAAOlX,SAASyU,IAAT,CAAczF,qBAAd,EAAb;WACKkF,kBAAL,GAA0BgD,KAAKC,IAAL,GAAYD,KAAKE,KAAjB,GAAyBvX,OAAOwX,UAA1D;WACKhD,eAAL,GAAuB,KAAKiD,kBAAL,EAAvB;KAtae;;WAyajB/C,aAzaiB,4BAyaD;;;UACV,KAAKL,kBAAT,EAA6B;;;;UAKzB7Q,SAASkU,aAAX,EAA0BtS,IAA1B,CAA+B,UAACmE,KAAD,EAAQjI,OAAR,EAAoB;cAC3CqW,gBAAgBpY,EAAE+B,OAAF,EAAW,CAAX,EAAchB,KAAd,CAAoB8W,YAA1C;cACMQ,oBAAoBrY,EAAE+B,OAAF,EAAWsH,GAAX,CAAe,eAAf,CAA1B;YACEtH,OAAF,EAAWgE,IAAX,CAAgB,eAAhB,EAAiCqS,aAAjC,EAAgD/O,GAAhD,CAAoD,eAApD,EAAwEiP,WAAWD,iBAAX,IAAgC,OAAKpD,eAA7G;SAHF,EAL2B;;UAYzBhR,SAASsU,cAAX,EAA2B1S,IAA3B,CAAgC,UAACmE,KAAD,EAAQjI,OAAR,EAAoB;cAC5CyW,eAAexY,EAAE+B,OAAF,EAAW,CAAX,EAAchB,KAAd,CAAoB0X,WAAzC;cACMC,mBAAmB1Y,EAAE+B,OAAF,EAAWsH,GAAX,CAAe,cAAf,CAAzB;YACEtH,OAAF,EAAWgE,IAAX,CAAgB,cAAhB,EAAgCyS,YAAhC,EAA8CnP,GAA9C,CAAkD,cAAlD,EAAqEiP,WAAWI,gBAAX,IAA+B,OAAKzD,eAAzG;SAHF,EAZ2B;;UAmBzBhR,SAAS0U,cAAX,EAA2B9S,IAA3B,CAAgC,UAACmE,KAAD,EAAQjI,OAAR,EAAoB;cAC5CyW,eAAexY,EAAE+B,OAAF,EAAW,CAAX,EAAchB,KAAd,CAAoB0X,WAAzC;cACMC,mBAAmB1Y,EAAE+B,OAAF,EAAWsH,GAAX,CAAe,cAAf,CAAzB;YACEtH,OAAF,EAAWgE,IAAX,CAAgB,cAAhB,EAAgCyS,YAAhC,EAA8CnP,GAA9C,CAAkD,cAAlD,EAAqEiP,WAAWI,gBAAX,IAA+B,OAAKzD,eAAzG;SAHF,EAnB2B;;YA0BrBmD,gBAAgBxX,SAASyU,IAAT,CAActU,KAAd,CAAoB8W,YAA1C;YACMQ,oBAAoBrY,EAAE,MAAF,EAAUqJ,GAAV,CAAc,eAAd,CAA1B;UACE,MAAF,EAAUtD,IAAV,CAAe,eAAf,EAAgCqS,aAAhC,EAA+C/O,GAA/C,CAAmD,eAAnD,EAAuEiP,WAAWD,iBAAX,IAAgC,KAAKpD,eAA5G;;KAtca;;WA0cjB8B,eA1ciB,8BA0cC;;QAEd9S,SAASkU,aAAX,EAA0BtS,IAA1B,CAA+B,UAACmE,KAAD,EAAQjI,OAAR,EAAoB;YAC3C6W,UAAU5Y,EAAE+B,OAAF,EAAWgE,IAAX,CAAgB,eAAhB,CAAhB;;YACI,OAAO6S,OAAP,KAAmB,WAAvB,EAAoC;YAChC7W,OAAF,EAAWsH,GAAX,CAAe,eAAf,EAAgCuP,OAAhC,EAAyC/T,UAAzC,CAAoD,eAApD;;OAHJ,EAFgB;;QAUXZ,SAASsU,cAAd,UAAiCtU,SAAS0U,cAA1C,EAA4D9S,IAA5D,CAAiE,UAACmE,KAAD,EAAQjI,OAAR,EAAoB;YAC7E8W,SAAS7Y,EAAE+B,OAAF,EAAWgE,IAAX,CAAgB,cAAhB,CAAf;;YACI,OAAO8S,MAAP,KAAkB,WAAtB,EAAmC;YAC/B9W,OAAF,EAAWsH,GAAX,CAAe,cAAf,EAA+BwP,MAA/B,EAAuChU,UAAvC,CAAkD,cAAlD;;OAHJ,EAVgB;;UAkBV+T,UAAU5Y,EAAE,MAAF,EAAU+F,IAAV,CAAe,eAAf,CAAhB;;UACI,OAAO6S,OAAP,KAAmB,WAAvB,EAAoC;UAChC,MAAF,EAAUvP,GAAV,CAAc,eAAd,EAA+BuP,OAA/B,EAAwC/T,UAAxC,CAAmD,eAAnD;;KA9da;;WAkejBqT,kBAleiB,iCAkeI;;UACbY,YAAYlY,SAASC,aAAT,CAAuB,KAAvB,CAAlB;gBACUwW,SAAV,GAAsBlT,UAAU4U,kBAAhC;eACS1D,IAAT,CAAce,WAAd,CAA0B0C,SAA1B;UACME,iBAAiBF,UAAUlJ,qBAAV,GAAkCqJ,KAAlC,GAA0CH,UAAUI,WAA3E;eACS7D,IAAT,CAAc8D,WAAd,CAA0BL,SAA1B;aACOE,cAAP;KAxee;;;UA8eVpT,gBA9eU,6BA8eOjD,MA9eP,EA8eeoJ,aA9ef,EA8e8B;aACtC,KAAKlG,IAAL,CAAU,YAAY;YACvBE,OAAY/F,EAAE,IAAF,EAAQ+F,IAAR,CAAanC,QAAb,CAAhB;;YACM+E,UAAU3I,EAAEuK,MAAF,CACd,EADc,EAEdiK,MAAMtM,OAFQ,EAGdlI,EAAE,IAAF,EAAQ+F,IAAR,EAHc,EAId,OAAOpD,MAAP,KAAkB,QAAlB,IAA8BA,MAJhB,CAAhB;;YAOI,CAACoD,IAAL,EAAW;iBACF,IAAIyO,KAAJ,CAAU,IAAV,EAAgB7L,OAAhB,CAAP;YACE,IAAF,EAAQ5C,IAAR,CAAanC,QAAb,EAAuBmC,IAAvB;;;YAGE,OAAOpD,MAAP,KAAkB,QAAtB,EAAgC;cAC1B,OAAOoD,KAAKpD,MAAL,CAAP,KAAwB,WAA5B,EAAyC;kBACjC,IAAIY,KAAJ,wBAA8BZ,MAA9B,QAAN;;;eAEGA,MAAL,EAAaoJ,aAAb;SAJF,MAKO,IAAIpD,QAAQ+F,IAAZ,EAAkB;eAClBA,IAAL,CAAU3C,aAAV;;OApBG,CAAP;KA/ee;;;;0BAwFI;eACZpI,OAAP;;;;0BAGmB;eACZuE,OAAP;;;;;;;;;;;;IAobFtH,QAAF,EAAYuF,EAAZ,CAAejC,MAAMkC,cAArB,EAAqCnC,SAAS2C,WAA9C,EAA2D,UAAU7G,KAAV,EAAiB;;;QACtEE,MAAJ;QACM+B,WAAW7C,KAAK2F,sBAAL,CAA4B,IAA5B,CAAjB;;QAEI9C,QAAJ,EAAc;eACHhC,EAAEgC,QAAF,EAAY,CAAZ,CAAT;;;QAGIW,SAAS3C,EAAEC,MAAF,EAAU8F,IAAV,CAAenC,QAAf,IACb,QADa,GACF5D,EAAEuK,MAAF,CAAS,EAAT,EAAavK,EAAEC,MAAF,EAAU8F,IAAV,EAAb,EAA+B/F,EAAE,IAAF,EAAQ+F,IAAR,EAA/B,CADb;;QAGI,KAAKkF,OAAL,KAAiB,GAAjB,IAAwB,KAAKA,OAAL,KAAiB,MAA7C,EAAqD;YAC7C/E,cAAN;;;QAGIwK,UAAU1Q,EAAEC,MAAF,EAAUkB,GAAV,CAAc+C,MAAMmB,IAApB,EAA0B,UAAC0M,SAAD,EAAe;UACnDA,UAAUrN,kBAAV,EAAJ,EAAoC;;;;;cAK5BvD,GAAR,CAAY+C,MAAM4L,MAAlB,EAA0B,YAAM;YAC1B9P,WAAQE,EAAR,CAAW,UAAX,CAAJ,EAA4B;kBACrBoH,KAAL;;OAFJ;KANc,CAAhB;;UAaM1B,gBAAN,CAAuBlG,IAAvB,CAA4BM,EAAEC,MAAF,CAA5B,EAAuC0C,MAAvC,EAA+C,IAA/C;GA5BF;;;;;;;IAsCEpB,EAAF,CAAKmC,IAAL,IAAyB8Q,MAAM5O,gBAA/B;IACErE,EAAF,CAAKmC,IAAL,EAAW4C,WAAX,GAAyBkO,KAAzB;;IACEjT,EAAF,CAAKmC,IAAL,EAAW6C,UAAX,GAAyB,YAAY;MACjChF,EAAF,CAAKmC,IAAL,IAAaK,kBAAb;WACOyQ,MAAM5O,gBAAb;GAFF;;SAKO4O,KAAP;CA9jBY,CAgkBXxU,CAhkBW,CAAd;;ACNA;;;;;;;AAOA,IAAMoZ,UAAW,YAAM;;;;;MAMjB,OAAOxI,MAAP,KAAkB,WAAtB,EAAmC;UAC3B,IAAIrN,KAAJ,CAAU,8DAAV,CAAN;;;;;;;;;MAUIG,OAAsB,SAA5B;MACMC,UAAsB,cAA5B;MACMC,WAAsB,YAA5B;MACMC,kBAA0BD,QAAhC;MACMG,qBAAsB/D,EAAEuB,EAAF,CAAKmC,IAAL,CAA5B;MACMM,sBAAsB,GAA5B;MACMqV,eAAsB,YAA5B;MACMC,qBAAqB,IAAIjW,MAAJ,aAAqBgW,YAArB,WAAyC,GAAzC,CAA3B;MAEMlR,cAAc;eACI,SADJ;cAEI,QAFJ;WAGI,2BAHJ;aAII,QAJJ;WAKI,iBALJ;UAMI,SANJ;cAOI,kBAPJ;eAQI,mBARJ;YASI,iBATJ;eAUI,0BAVJ;uBAWI;GAXxB;MAcMiJ,gBAAgB;UACX,MADW;SAEX,KAFW;WAGX,OAHW;YAIX,QAJW;UAKX;GALX;MAQMlJ,UAAU;eACQ,IADR;cAEQ,yCACA,2BADA,GAEA,yCAJR;aAKQ,aALR;WAMQ,EANR;WAOQ,CAPR;UAQQ,KARR;cASQ,KATR;eAUQ,KAVR;YAWQ,CAXR;eAYQ,KAZR;uBAaQ;GAbxB;MAgBMqR,aAAa;UACV,MADU;SAEV;GAFT;MAKMrV,QAAQ;mBACQL,SADR;uBAEUA,SAFV;mBAGQA,SAHR;qBAISA,SAJT;2BAKYA,SALZ;qBAMSA,SANT;yBAOWA,SAPX;2BAQYA,SARZ;+BAScA,SATd;+BAUcA;GAV5B;MAaMM,YAAY;UACT,MADS;UAET;GAFT;MAKMF,WAAW;aACC,UADD;mBAEC,gBAFD;WAGC;GAHlB;MAMMuV,UAAU;WACL,OADK;WAEL,OAFK;WAGL,OAHK;YAIL;;;;;;;GAJX;;MAcMJ,OA3Ge;;;qBA6GPrX,OAAZ,EAAqBY,MAArB,EAA6B;;WAGtB8W,UAAL,GAAsB,IAAtB;WACKC,QAAL,GAAsB,CAAtB;WACKC,WAAL,GAAsB,EAAtB;WACKC,cAAL,GAAsB,EAAtB;WACKvI,OAAL,GAAsB,IAAtB,CAP2B;;WAUtBtP,OAAL,GAAeA,OAAf;WACKY,MAAL,GAAe,KAAKiG,UAAL,CAAgBjG,MAAhB,CAAf;WACKkX,GAAL,GAAe,IAAf;;WAEKC,aAAL;KA3HiB;;;;;;WAiKnBC,MAjKmB,qBAiKV;WACFN,UAAL,GAAkB,IAAlB;KAlKiB;;WAqKnBO,OArKmB,sBAqKT;WACHP,UAAL,GAAkB,KAAlB;KAtKiB;;WAyKnBQ,aAzKmB,4BAyKH;WACTR,UAAL,GAAkB,CAAC,KAAKA,UAAxB;KA1KiB;;WA6KnBhT,MA7KmB,mBA6KZ1G,KA7KY,EA6KL;UACR,CAAC,KAAK0Z,UAAV,EAAsB;;;;UAIlB1Z,KAAJ,EAAW;YACHma,UAAU,KAAKvH,WAAL,CAAiB/O,QAAjC;YACIgQ,UAAU5T,EAAED,MAAMyQ,aAAR,EAAuBzK,IAAvB,CAA4BmU,OAA5B,CAAd;;YAEI,CAACtG,OAAL,EAAc;oBACF,IAAI,KAAKjB,WAAT,CACR5S,MAAMyQ,aADE,EAER,KAAK2J,kBAAL,EAFQ,CAAV;YAIEpa,MAAMyQ,aAAR,EAAuBzK,IAAvB,CAA4BmU,OAA5B,EAAqCtG,OAArC;;;gBAGMgG,cAAR,CAAuBQ,KAAvB,GAA+B,CAACxG,QAAQgG,cAAR,CAAuBQ,KAAvD;;YAEIxG,QAAQyG,oBAAR,EAAJ,EAAoC;kBAC1BC,MAAR,CAAe,IAAf,EAAqB1G,OAArB;SADF,MAEO;kBACG2G,MAAR,CAAe,IAAf,EAAqB3G,OAArB;;OAjBJ,MAoBO;YAED5T,EAAE,KAAKwa,aAAL,EAAF,EAAwBlV,QAAxB,CAAiCnB,UAAUkB,IAA3C,CAAJ,EAAsD;eAC/CkV,MAAL,CAAY,IAAZ,EAAkB,IAAlB;;;;;aAIGD,MAAL,CAAY,IAAZ,EAAkB,IAAlB;;KA7Me;;WAiNnB1V,OAjNmB,sBAiNT;mBACK,KAAK8U,QAAlB;QAEE7U,UAAF,CAAa,KAAK9C,OAAlB,EAA2B,KAAK4Q,WAAL,CAAiB/O,QAA5C;QAEE,KAAK7B,OAAP,EAAgBuI,GAAhB,CAAoB,KAAKqI,WAAL,CAAiB9O,SAArC;QACE,KAAK9B,OAAP,EAAgBiD,OAAhB,CAAwB,QAAxB,EAAkCsF,GAAlC,CAAsC,eAAtC;;UAEI,KAAKuP,GAAT,EAAc;UACV,KAAKA,GAAP,EAAYlU,MAAZ;;;WAGG8T,UAAL,GAAsB,IAAtB;WACKC,QAAL,GAAsB,IAAtB;WACKC,WAAL,GAAsB,IAAtB;WACKC,cAAL,GAAsB,IAAtB;;UACI,KAAKvI,OAAL,KAAiB,IAArB,EAA2B;aACpBA,OAAL,CAAaiB,OAAb;;;WAGGjB,OAAL,GAAe,IAAf;WACKtP,OAAL,GAAe,IAAf;WACKY,MAAL,GAAe,IAAf;WACKkX,GAAL,GAAe,IAAf;KAxOiB;;WA2OnBnL,IA3OmB,mBA2OZ;;;UACD1O,EAAE,KAAK+B,OAAP,EAAgBsH,GAAhB,CAAoB,SAApB,MAAmC,MAAvC,EAA+C;cACvC,IAAI9F,KAAJ,CAAU,qCAAV,CAAN;;;UAGIwO,YAAY/R,EAAEkE,KAAF,CAAQ,KAAKyO,WAAL,CAAiBzO,KAAjB,CAAuBmB,IAA/B,CAAlB;;UACI,KAAKoV,aAAL,MAAwB,KAAKhB,UAAjC,EAA6C;UACzC,KAAK1X,OAAP,EAAgBQ,OAAhB,CAAwBwP,SAAxB;YAEM2I,aAAa1a,EAAEqH,QAAF,CACjB,KAAKtF,OAAL,CAAa4Y,aAAb,CAA2B7P,eADV,EAEjB,KAAK/I,OAFY,CAAnB;;YAKIgQ,UAAUrN,kBAAV,MAAkC,CAACgW,UAAvC,EAAmD;;;;YAI7Cb,MAAQ,KAAKW,aAAL,EAAd;YACMI,QAAQzb,KAAK0b,MAAL,CAAY,KAAKlI,WAAL,CAAiBjP,IAA7B,CAAd;YAEI6D,YAAJ,CAAiB,IAAjB,EAAuBqT,KAAvB;aACK7Y,OAAL,CAAawF,YAAb,CAA0B,kBAA1B,EAA8CqT,KAA9C;aAEKE,UAAL;;YAEI,KAAKnY,MAAL,CAAYoY,SAAhB,EAA2B;YACvBlB,GAAF,EAAOrN,QAAP,CAAgBrI,UAAUoB,IAA1B;;;YAGIwN,YAAa,OAAO,KAAKpQ,MAAL,CAAYoQ,SAAnB,KAAiC,UAAjC,GACjB,KAAKpQ,MAAL,CAAYoQ,SAAZ,CAAsBrT,IAAtB,CAA2B,IAA3B,EAAiCma,GAAjC,EAAsC,KAAK9X,OAA3C,CADiB,GAEjB,KAAKY,MAAL,CAAYoQ,SAFd;;YAIMiI,aAAa,KAAKC,cAAL,CAAoBlI,SAApB,CAAnB;;aACKmI,kBAAL,CAAwBF,UAAxB;YAEMG,YAAY,KAAKxY,MAAL,CAAYwY,SAAZ,KAA0B,KAA1B,GAAkCva,SAASyU,IAA3C,GAAkDrV,EAAE,KAAK2C,MAAL,CAAYwY,SAAd,CAApE;UAEEtB,GAAF,EAAO9T,IAAP,CAAY,KAAK4M,WAAL,CAAiB/O,QAA7B,EAAuC,IAAvC;;YAEI,CAAC5D,EAAEqH,QAAF,CAAW,KAAKtF,OAAL,CAAa4Y,aAAb,CAA2B7P,eAAtC,EAAuD,KAAK+O,GAA5D,CAAL,EAAuE;YACnEA,GAAF,EAAOtC,QAAP,CAAgB4D,SAAhB;;;UAGA,KAAKpZ,OAAP,EAAgBQ,OAAhB,CAAwB,KAAKoQ,WAAL,CAAiBzO,KAAjB,CAAuBkX,QAA/C;aAEK/J,OAAL,GAAe,IAAIT,MAAJ,CAAW,KAAK7O,OAAhB,EAAyB8X,GAAzB,EAA8B;qBAChCmB,UADgC;qBAEhC;oBACD;sBACE,KAAKrY,MAAL,CAAY0Q;aAFb;kBAIH;wBACM,KAAK1Q,MAAL,CAAY0Y;aALf;mBAOF;uBACIpX,SAASqX;;WAVqB;oBAajC,kBAACvV,IAAD,EAAU;gBACdA,KAAKwV,iBAAL,KAA2BxV,KAAKgN,SAApC,EAA+C;oBACxCyI,4BAAL,CAAkCzV,IAAlC;;WAfuC;oBAkBhC,kBAACA,IAAD,EAAU;kBACdyV,4BAAL,CAAkCzV,IAAlC;;SAnBW,CAAf;UAuBE8T,GAAF,EAAOrN,QAAP,CAAgBrI,UAAUkB,IAA1B,EAhE2C;;;;;YAsEvC,kBAAkBzE,SAASkK,eAA/B,EAAgD;YAC5C,MAAF,EAAUyB,QAAV,GAAqBpG,EAArB,CAAwB,WAAxB,EAAqC,IAArC,EAA2CnG,EAAEqS,IAA7C;;;YAGI/C,WAAW,SAAXA,QAAW,GAAM;cACjB,MAAK3M,MAAL,CAAYoY,SAAhB,EAA2B;kBACpBU,cAAL;;;cAEIC,iBAAiB,MAAK/B,WAA5B;gBACKA,WAAL,GAAuB,IAAvB;YAEE,MAAK5X,OAAP,EAAgBQ,OAAhB,CAAwB,MAAKoQ,WAAL,CAAiBzO,KAAjB,CAAuBqL,KAA/C;;cAEImM,mBAAmBnC,WAAWoC,GAAlC,EAAuC;kBAChCpB,MAAL,CAAY,IAAZ;;SAVJ;;YAcIpb,KAAKsC,qBAAL,MAAgCzB,EAAE,KAAK6Z,GAAP,EAAYvU,QAAZ,CAAqBnB,UAAUoB,IAA/B,CAApC,EAA0E;YACtE,KAAKsU,GAAP,EACG1Y,GADH,CACOhC,KAAKiC,cADZ,EAC4BkO,QAD5B,EAEG9N,oBAFH,CAEwB4X,QAAQwC,oBAFhC;SADF,MAIO;;;;KA7UQ;;WAmVnBnN,IAnVmB,iBAmVdwI,QAnVc,EAmVJ;;;UACP4C,MAAY,KAAKW,aAAL,EAAlB;UACM1G,YAAY9T,EAAEkE,KAAF,CAAQ,KAAKyO,WAAL,CAAiBzO,KAAjB,CAAuByL,IAA/B,CAAlB;;UACML,WAAY,SAAZA,QAAY,GAAM;YAClB,OAAKqK,WAAL,KAAqBJ,WAAWlU,IAAhC,IAAwCwU,IAAI9F,UAAhD,EAA4D;cACtDA,UAAJ,CAAeoF,WAAf,CAA2BU,GAA3B;;;eAGGgC,cAAL;;eACK9Z,OAAL,CAAauU,eAAb,CAA6B,kBAA7B;;UACE,OAAKvU,OAAP,EAAgBQ,OAAhB,CAAwB,OAAKoQ,WAAL,CAAiBzO,KAAjB,CAAuB4L,MAA/C;;YACI,OAAKuB,OAAL,KAAiB,IAArB,EAA2B;iBACpBA,OAAL,CAAaiB,OAAb;;;YAGE2E,QAAJ,EAAc;;;OAZhB;;QAiBE,KAAKlV,OAAP,EAAgBQ,OAAhB,CAAwBuR,SAAxB;;UAEIA,UAAUpP,kBAAV,EAAJ,EAAoC;;;;QAIlCmV,GAAF,EAAOzU,WAAP,CAAmBjB,UAAUkB,IAA7B,EA1Ba;;;UA8BT,kBAAkBzE,SAASkK,eAA/B,EAAgD;UAC5C,MAAF,EAAUyB,QAAV,GAAqBjC,GAArB,CAAyB,WAAzB,EAAsC,IAAtC,EAA4CtK,EAAEqS,IAA9C;;;WAGGuH,cAAL,CAAoBJ,QAAQ/G,KAA5B,IAAqC,KAArC;WACKmH,cAAL,CAAoBJ,QAAQ3R,KAA5B,IAAqC,KAArC;WACK+R,cAAL,CAAoBJ,QAAQsC,KAA5B,IAAqC,KAArC;;UAEI3c,KAAKsC,qBAAL,MACAzB,EAAE,KAAK6Z,GAAP,EAAYvU,QAAZ,CAAqBnB,UAAUoB,IAA/B,CADJ,EAC0C;UAEtCsU,GAAF,EACG1Y,GADH,CACOhC,KAAKiC,cADZ,EAC4BkO,QAD5B,EAEG9N,oBAFH,CAEwBwC,mBAFxB;OAHF,MAOO;;;;WAIF2V,WAAL,GAAmB,EAAnB;KApYiB;;WAwYnBpH,MAxYmB,qBAwYV;UACH,KAAKlB,OAAL,KAAiB,IAArB,EAA2B;aACpBA,OAAL,CAAamB,cAAb;;KA1Ye;;;WAgZnBiI,aAhZmB,4BAgZH;aACPjY,QAAQ,KAAKuZ,QAAL,EAAR,CAAP;KAjZiB;;WAoZnBb,kBApZmB,+BAoZAF,UApZA,EAoZY;QAC3B,KAAKR,aAAL,EAAF,EAAwBhO,QAAxB,CAAoC6M,YAApC,SAAoD2B,UAApD;KArZiB;;WAwZnBR,aAxZmB,4BAwZH;WACTX,GAAL,GAAW,KAAKA,GAAL,IAAY7Z,EAAE,KAAK2C,MAAL,CAAYqZ,QAAd,EAAwB,CAAxB,CAAvB;aACO,KAAKnC,GAAZ;KA1ZiB;;WA6ZnBiB,UA7ZmB,yBA6ZN;UACLmB,OAAOjc,EAAE,KAAKwa,aAAL,EAAF,CAAb;WACK0B,iBAAL,CAAuBD,KAAK9Z,IAAL,CAAU8B,SAASkY,aAAnB,CAAvB,EAA0D,KAAKJ,QAAL,EAA1D;WACK3W,WAAL,CAAoBjB,UAAUoB,IAA9B,SAAsCpB,UAAUkB,IAAhD;KAhaiB;;WAmanB6W,iBAnamB,8BAmaDpW,QAnaC,EAmaSsW,OAnaT,EAmakB;UAC7BC,OAAO,KAAK1Z,MAAL,CAAY0Z,IAAzB;;UACI,OAAOD,OAAP,KAAmB,QAAnB,KAAgCA,QAAQ3Z,QAAR,IAAoB2Z,QAAQjM,MAA5D,CAAJ,EAAyE;;YAEnEkM,IAAJ,EAAU;cACJ,CAACrc,EAAEoc,OAAF,EAAWrX,MAAX,GAAoB7E,EAApB,CAAuB4F,QAAvB,CAAL,EAAuC;qBAC5BwW,KAAT,GAAiBC,MAAjB,CAAwBH,OAAxB;;SAFJ,MAIO;mBACII,IAAT,CAAcxc,EAAEoc,OAAF,EAAWI,IAAX,EAAd;;OAPJ,MASO;iBACIH,OAAO,MAAP,GAAgB,MAAzB,EAAiCD,OAAjC;;KA/ae;;WAmbnBL,QAnbmB,uBAmbR;UACLU,QAAQ,KAAK1a,OAAL,CAAaE,YAAb,CAA0B,qBAA1B,CAAZ;;UAEI,CAACwa,KAAL,EAAY;gBACF,OAAO,KAAK9Z,MAAL,CAAY8Z,KAAnB,KAA6B,UAA7B,GACN,KAAK9Z,MAAL,CAAY8Z,KAAZ,CAAkB/c,IAAlB,CAAuB,KAAKqC,OAA5B,CADM,GAEN,KAAKY,MAAL,CAAY8Z,KAFd;;;aAKKA,KAAP;KA5biB;;;WAkcnBxB,cAlcmB,2BAkcJlI,SAlcI,EAkcO;aACjB3B,cAAc2B,UAAUvP,WAAV,EAAd,CAAP;KAnciB;;WAscnBsW,aAtcmB,4BAscH;;;UACR4C,WAAW,KAAK/Z,MAAL,CAAYJ,OAAZ,CAAoBoa,KAApB,CAA0B,GAA1B,CAAjB;eAESC,OAAT,CAAiB,UAACra,OAAD,EAAa;YACxBA,YAAY,OAAhB,EAAyB;YACrB,OAAKR,OAAP,EAAgBoE,EAAhB,CACE,OAAKwM,WAAL,CAAiBzO,KAAjB,CAAuBuO,KADzB,EAEE,OAAK9P,MAAL,CAAYX,QAFd,EAGE,UAACjC,KAAD;mBAAW,OAAK0G,MAAL,CAAY1G,KAAZ,CAAX;WAHF;SADF,MAOO,IAAIwC,YAAYiX,QAAQqD,MAAxB,EAAgC;cAC/BC,UAAWva,YAAYiX,QAAQsC,KAApB,GACf,OAAKnJ,WAAL,CAAiBzO,KAAjB,CAAuB0G,UADR,GAEf,OAAK+H,WAAL,CAAiBzO,KAAjB,CAAuB6R,OAFzB;cAGMgH,WAAWxa,YAAYiX,QAAQsC,KAApB,GACf,OAAKnJ,WAAL,CAAiBzO,KAAjB,CAAuB2G,UADR,GAEf,OAAK8H,WAAL,CAAiBzO,KAAjB,CAAuB8Y,QAFzB;YAIE,OAAKjb,OAAP,EACGoE,EADH,CAEI2W,OAFJ,EAGI,OAAKna,MAAL,CAAYX,QAHhB,EAII,UAACjC,KAAD;mBAAW,OAAKua,MAAL,CAAYva,KAAZ,CAAX;WAJJ,EAMGoG,EANH,CAOI4W,QAPJ,EAQI,OAAKpa,MAAL,CAAYX,QARhB,EASI,UAACjC,KAAD;mBAAW,OAAKwa,MAAL,CAAYxa,KAAZ,CAAX;WATJ;;;UAaA,OAAKgC,OAAP,EAAgBiD,OAAhB,CAAwB,QAAxB,EAAkCmB,EAAlC,CACE,eADF,EAEE;iBAAM,OAAKsI,IAAL,EAAN;SAFF;OA7BF;;UAmCI,KAAK9L,MAAL,CAAYX,QAAhB,EAA0B;aACnBW,MAAL,GAAc3C,EAAEuK,MAAF,CAAS,EAAT,EAAa,KAAK5H,MAAlB,EAA0B;mBAC3B,QAD2B;oBAE3B;SAFC,CAAd;OADF,MAKO;aACAsa,SAAL;;KAlfe;;WAsfnBA,SAtfmB,wBAsfP;UACJC,YAAY,OAAO,KAAKnb,OAAL,CAAaE,YAAb,CAA0B,qBAA1B,CAAzB;;UACI,KAAKF,OAAL,CAAaE,YAAb,CAA0B,OAA1B,KACDib,cAAc,QADjB,EAC2B;aACpBnb,OAAL,CAAawF,YAAb,CACE,qBADF,EAEE,KAAKxF,OAAL,CAAaE,YAAb,CAA0B,OAA1B,KAAsC,EAFxC;aAIKF,OAAL,CAAawF,YAAb,CAA0B,OAA1B,EAAmC,EAAnC;;KA9fe;;WAkgBnB+S,MAlgBmB,mBAkgBZva,KAlgBY,EAkgBL6T,OAlgBK,EAkgBI;UACfsG,UAAU,KAAKvH,WAAL,CAAiB/O,QAAjC;gBAEUgQ,WAAW5T,EAAED,MAAMyQ,aAAR,EAAuBzK,IAAvB,CAA4BmU,OAA5B,CAArB;;UAEI,CAACtG,OAAL,EAAc;kBACF,IAAI,KAAKjB,WAAT,CACR5S,MAAMyQ,aADE,EAER,KAAK2J,kBAAL,EAFQ,CAAV;UAIEpa,MAAMyQ,aAAR,EAAuBzK,IAAvB,CAA4BmU,OAA5B,EAAqCtG,OAArC;;;UAGE7T,KAAJ,EAAW;gBACD6Z,cAAR,CACE7Z,MAAMgH,IAAN,KAAe,SAAf,GAA2ByS,QAAQ3R,KAAnC,GAA2C2R,QAAQsC,KADrD,IAEI,IAFJ;;;UAKE9b,EAAE4T,QAAQ4G,aAAR,EAAF,EAA2BlV,QAA3B,CAAoCnB,UAAUkB,IAA9C,KACDuO,QAAQ+F,WAAR,KAAwBJ,WAAWlU,IADtC,EAC4C;gBAClCsU,WAAR,GAAsBJ,WAAWlU,IAAjC;;;;mBAIWuO,QAAQ8F,QAArB;cAEQC,WAAR,GAAsBJ,WAAWlU,IAAjC;;UAEI,CAACuO,QAAQjR,MAAR,CAAewa,KAAhB,IAAyB,CAACvJ,QAAQjR,MAAR,CAAewa,KAAf,CAAqBzO,IAAnD,EAAyD;gBAC/CA,IAAR;;;;cAIMgL,QAAR,GAAmB1O,WAAW,YAAM;YAC9B4I,QAAQ+F,WAAR,KAAwBJ,WAAWlU,IAAvC,EAA6C;kBACnCqJ,IAAR;;OAFe,EAIhBkF,QAAQjR,MAAR,CAAewa,KAAf,CAAqBzO,IAJL,CAAnB;KApiBiB;;WA2iBnB6L,MA3iBmB,mBA2iBZxa,KA3iBY,EA2iBL6T,OA3iBK,EA2iBI;UACfsG,UAAU,KAAKvH,WAAL,CAAiB/O,QAAjC;gBAEUgQ,WAAW5T,EAAED,MAAMyQ,aAAR,EAAuBzK,IAAvB,CAA4BmU,OAA5B,CAArB;;UAEI,CAACtG,OAAL,EAAc;kBACF,IAAI,KAAKjB,WAAT,CACR5S,MAAMyQ,aADE,EAER,KAAK2J,kBAAL,EAFQ,CAAV;UAIEpa,MAAMyQ,aAAR,EAAuBzK,IAAvB,CAA4BmU,OAA5B,EAAqCtG,OAArC;;;UAGE7T,KAAJ,EAAW;gBACD6Z,cAAR,CACE7Z,MAAMgH,IAAN,KAAe,UAAf,GAA4ByS,QAAQ3R,KAApC,GAA4C2R,QAAQsC,KADtD,IAEI,KAFJ;;;UAKElI,QAAQyG,oBAAR,EAAJ,EAAoC;;;;mBAIvBzG,QAAQ8F,QAArB;cAEQC,WAAR,GAAsBJ,WAAWoC,GAAjC;;UAEI,CAAC/H,QAAQjR,MAAR,CAAewa,KAAhB,IAAyB,CAACvJ,QAAQjR,MAAR,CAAewa,KAAf,CAAqB1O,IAAnD,EAAyD;gBAC/CA,IAAR;;;;cAIMiL,QAAR,GAAmB1O,WAAW,YAAM;YAC9B4I,QAAQ+F,WAAR,KAAwBJ,WAAWoC,GAAvC,EAA4C;kBAClClN,IAAR;;OAFe,EAIhBmF,QAAQjR,MAAR,CAAewa,KAAf,CAAqB1O,IAJL,CAAnB;KA3kBiB;;WAklBnB4L,oBAllBmB,mCAklBI;WAChB,IAAM9X,OAAX,IAAsB,KAAKqX,cAA3B,EAA2C;YACrC,KAAKA,cAAL,CAAoBrX,OAApB,CAAJ,EAAkC;iBACzB,IAAP;;;;aAIG,KAAP;KAzlBiB;;WA4lBnBqG,UA5lBmB,uBA4lBRjG,MA5lBQ,EA4lBA;eACR3C,EAAEuK,MAAF,CACP,EADO,EAEP,KAAKoI,WAAL,CAAiBzK,OAFV,EAGPlI,EAAE,KAAK+B,OAAP,EAAgBgE,IAAhB,EAHO,EAIPpD,MAJO,CAAT;;UAOI,OAAOA,OAAOwa,KAAd,KAAwB,QAA5B,EAAsC;eAC7BA,KAAP,GAAe;gBACNxa,OAAOwa,KADD;gBAENxa,OAAOwa;SAFhB;;;UAME,OAAOxa,OAAO8Z,KAAd,KAAwB,QAA5B,EAAsC;eAC7BA,KAAP,GAAe9Z,OAAO8Z,KAAP,CAAahd,QAAb,EAAf;;;UAGE,OAAOkD,OAAOyZ,OAAd,KAA0B,QAA9B,EAAwC;eAC/BA,OAAP,GAAiBzZ,OAAOyZ,OAAP,CAAe3c,QAAf,EAAjB;;;WAGG+K,eAAL,CACE9G,IADF,EAEEf,MAFF,EAGE,KAAKgQ,WAAL,CAAiBxK,WAHnB;aAMOxF,MAAP;KAznBiB;;WA4nBnBwX,kBA5nBmB,iCA4nBE;UACbxX,SAAS,EAAf;;UAEI,KAAKA,MAAT,EAAiB;aACV,IAAMya,GAAX,IAAkB,KAAKza,MAAvB,EAA+B;cACzB,KAAKgQ,WAAL,CAAiBzK,OAAjB,CAAyBkV,GAAzB,MAAkC,KAAKza,MAAL,CAAYya,GAAZ,CAAtC,EAAwD;mBAC/CA,GAAP,IAAc,KAAKza,MAAL,CAAYya,GAAZ,CAAd;;;;;aAKCza,MAAP;KAvoBiB;;WA0oBnBkZ,cA1oBmB,6BA0oBF;UACTI,OAAOjc,EAAE,KAAKwa,aAAL,EAAF,CAAb;UACM6C,WAAWpB,KAAK7M,IAAL,CAAU,OAAV,EAAmBzP,KAAnB,CAAyB2Z,kBAAzB,CAAjB;;UACI+D,aAAa,IAAb,IAAqBA,SAASjb,MAAT,GAAkB,CAA3C,EAA8C;aACvCgD,WAAL,CAAiBiY,SAASC,IAAT,CAAc,EAAd,CAAjB;;KA9oBe;;WAkpBnB9B,4BAlpBmB,yCAkpBUzV,IAlpBV,EAkpBgB;WAC5B8V,cAAL;;WACKX,kBAAL,CAAwB,KAAKD,cAAL,CAAoBlV,KAAKgN,SAAzB,CAAxB;KAppBiB;;WAupBnB0I,cAvpBmB,6BAupBF;UACT5B,MAAsB,KAAKW,aAAL,EAA5B;UACM+C,sBAAsB,KAAK5a,MAAL,CAAYoY,SAAxC;;UACIlB,IAAI5X,YAAJ,CAAiB,aAAjB,MAAoC,IAAxC,EAA8C;;;;QAG5C4X,GAAF,EAAOzU,WAAP,CAAmBjB,UAAUoB,IAA7B;WACK5C,MAAL,CAAYoY,SAAZ,GAAwB,KAAxB;WACKtM,IAAL;WACKC,IAAL;WACK/L,MAAL,CAAYoY,SAAZ,GAAwBwC,mBAAxB;KAjqBiB;;;YAsqBZ3X,gBAtqBY,6BAsqBKjD,MAtqBL,EAsqBa;aACvB,KAAKkD,IAAL,CAAU,YAAY;YACvBE,OAAY/F,EAAE,IAAF,EAAQ+F,IAAR,CAAanC,QAAb,CAAhB;;YACM+E,UAAU,OAAOhG,MAAP,KAAkB,QAAlB,IAA8BA,MAA9C;;YAEI,CAACoD,IAAD,IAAS,eAAezC,IAAf,CAAoBX,MAApB,CAAb,EAA0C;;;;YAItC,CAACoD,IAAL,EAAW;iBACF,IAAIqT,OAAJ,CAAY,IAAZ,EAAkBzQ,OAAlB,CAAP;YACE,IAAF,EAAQ5C,IAAR,CAAanC,QAAb,EAAuBmC,IAAvB;;;YAGE,OAAOpD,MAAP,KAAkB,QAAtB,EAAgC;cAC1B,OAAOoD,KAAKpD,MAAL,CAAP,KAAwB,WAA5B,EAAyC;kBACjC,IAAIY,KAAJ,wBAA8BZ,MAA9B,QAAN;;;eAEGA,MAAL;;OAjBG,CAAP;KAvqBiB;;;;0BAkIE;eACZgB,OAAP;;;;0BAGmB;eACZuE,OAAP;;;;0BAGgB;eACTxE,IAAP;;;;0BAGoB;eACbE,QAAP;;;;0BAGiB;eACVM,KAAP;;;;0BAGqB;eACdL,SAAP;;;;0BAGuB;eAChBsE,WAAP;;;;;;;;;;;;IA0iBF5G,EAAF,CAAKmC,IAAL,IAAyB0V,QAAQxT,gBAAjC;IACErE,EAAF,CAAKmC,IAAL,EAAW4C,WAAX,GAAyB8S,OAAzB;;IACE7X,EAAF,CAAKmC,IAAL,EAAW6C,UAAX,GAAyB,YAAY;MACjChF,EAAF,CAAKmC,IAAL,IAAaK,kBAAb;WACOqV,QAAQxT,gBAAf;GAFF;;SAKOwT,OAAP;CA5sBc,CA8sBbpZ,CA9sBa,EA8sBV4Q,MA9sBU,CAAhB;;ACRA;;;;;;;AAOA,IAAM4M,UAAW,YAAM;;;;;;MASf9Z,OAAsB,SAA5B;MACMC,UAAsB,cAA5B;MACMC,WAAsB,YAA5B;MACMC,kBAA0BD,QAAhC;MACMG,qBAAsB/D,EAAEuB,EAAF,CAAKmC,IAAL,CAA5B;MACM2V,eAAsB,YAA5B;MACMC,qBAAsB,IAAIjW,MAAJ,aAAqBgW,YAArB,WAAyC,GAAzC,CAA5B;MAEMnR,UAAUlI,EAAEuK,MAAF,CAAS,EAAT,EAAa6O,QAAQlR,OAArB,EAA8B;eAChC,OADgC;aAEhC,OAFgC;aAGhC,EAHgC;cAIhC,yCACA,2BADA,GAEA,kCAFA,GAGA;GAPE,CAAhB;MAUMC,cAAcnI,EAAEuK,MAAF,CAAS,EAAT,EAAa6O,QAAQjR,WAArB,EAAkC;aAC1C;GADQ,CAApB;MAIMhE,YAAY;UACT,MADS;UAET;GAFT;MAKMF,WAAW;WACL,iBADK;aAEL;GAFZ;MAKMC,QAAQ;mBACQL,SADR;uBAEUA,SAFV;mBAGQA,SAHR;qBAISA,SAJT;2BAKYA,SALZ;qBAMSA,SANT;yBAOWA,SAPX;2BAQYA,SARZ;+BAScA,SATd;+BAUcA;;;;;;;GAV5B;;MAoBM2Z,OA7De;;;;;;;;;;;;WAiGnB/C,aAjGmB,4BAiGH;aACP,KAAKsB,QAAL,MAAmB,KAAK0B,WAAL,EAA1B;KAlGiB;;WAqGnBvC,kBArGmB,+BAqGAF,UArGA,EAqGY;QAC3B,KAAKR,aAAL,EAAF,EAAwBhO,QAAxB,CAAoC6M,YAApC,SAAoD2B,UAApD;KAtGiB;;WAyGnBR,aAzGmB,4BAyGH;WACTX,GAAL,GAAW,KAAKA,GAAL,IAAY7Z,EAAE,KAAK2C,MAAL,CAAYqZ,QAAd,EAAwB,CAAxB,CAAvB;aACO,KAAKnC,GAAZ;KA3GiB;;WA8GnBiB,UA9GmB,yBA8GN;UACLmB,OAAOjc,EAAE,KAAKwa,aAAL,EAAF,CAAb,CADW;;WAIN0B,iBAAL,CAAuBD,KAAK9Z,IAAL,CAAU8B,SAASyZ,KAAnB,CAAvB,EAAkD,KAAK3B,QAAL,EAAlD;WACKG,iBAAL,CAAuBD,KAAK9Z,IAAL,CAAU8B,SAAS0Z,OAAnB,CAAvB,EAAoD,KAAKF,WAAL,EAApD;WAEKrY,WAAL,CAAoBjB,UAAUoB,IAA9B,SAAsCpB,UAAUkB,IAAhD;KArHiB;;;WA0HnBoY,WA1HmB,0BA0HL;aACL,KAAK1b,OAAL,CAAaE,YAAb,CAA0B,cAA1B,MACD,OAAO,KAAKU,MAAL,CAAYyZ,OAAnB,KAA+B,UAA/B,GACE,KAAKzZ,MAAL,CAAYyZ,OAAZ,CAAoB1c,IAApB,CAAyB,KAAKqC,OAA9B,CADF,GAEE,KAAKY,MAAL,CAAYyZ,OAHb,CAAP;KA3HiB;;WAiInBP,cAjImB,6BAiIF;UACTI,OAAOjc,EAAE,KAAKwa,aAAL,EAAF,CAAb;UACM6C,WAAWpB,KAAK7M,IAAL,CAAU,OAAV,EAAmBzP,KAAnB,CAAyB2Z,kBAAzB,CAAjB;;UACI+D,aAAa,IAAb,IAAqBA,SAASjb,MAAT,GAAkB,CAA3C,EAA8C;aACvCgD,WAAL,CAAiBiY,SAASC,IAAT,CAAc,EAAd,CAAjB;;KArIe;;;YA4IZ1X,gBA5IY,6BA4IKjD,MA5IL,EA4Ia;aACvB,KAAKkD,IAAL,CAAU,YAAY;YACvBE,OAAY/F,EAAE,IAAF,EAAQ+F,IAAR,CAAanC,QAAb,CAAhB;;YACM+E,UAAU,OAAOhG,MAAP,KAAkB,QAAlB,GAA6BA,MAA7B,GAAsC,IAAtD;;YAEI,CAACoD,IAAD,IAAS,eAAezC,IAAf,CAAoBX,MAApB,CAAb,EAA0C;;;;YAItC,CAACoD,IAAL,EAAW;iBACF,IAAIyX,OAAJ,CAAY,IAAZ,EAAkB7U,OAAlB,CAAP;YACE,IAAF,EAAQ5C,IAAR,CAAanC,QAAb,EAAuBmC,IAAvB;;;YAGE,OAAOpD,MAAP,KAAkB,QAAtB,EAAgC;cAC1B,OAAOoD,KAAKpD,MAAL,CAAP,KAAwB,WAA5B,EAAyC;kBACjC,IAAIY,KAAJ,wBAA8BZ,MAA9B,QAAN;;;eAEGA,MAAL;;OAjBG,CAAP;KA7IiB;;;;;0BAkEE;eACZgB,OAAP;;;;0BAGmB;eACZuE,OAAP;;;;0BAGgB;eACTxE,IAAP;;;;0BAGoB;eACbE,QAAP;;;;0BAGiB;eACVM,KAAP;;;;0BAGqB;eACdL,SAAP;;;;0BAGuB;eAChBsE,WAAP;;;;IA9BkBiR,OA7DD;;;;;;;;IA2KnB7X,EAAF,CAAKmC,IAAL,IAAyB8Z,QAAQ5X,gBAAjC;IACErE,EAAF,CAAKmC,IAAL,EAAW4C,WAAX,GAAyBkX,OAAzB;;IACEjc,EAAF,CAAKmC,IAAL,EAAW6C,UAAX,GAAyB,YAAY;MACjChF,EAAF,CAAKmC,IAAL,IAAaK,kBAAb;WACOyZ,QAAQ5X,gBAAf;GAFF;;SAKO4X,OAAP;CAlLc,CAoLbxd,CApLa,CAAhB;;ACPA;;;;;;;AAOA,IAAM4d,YAAa,YAAM;;;;;;MASjBla,OAAqB,WAA3B;MACMC,UAAqB,cAA3B;MACMC,WAAqB,cAA3B;MACMC,kBAAyBD,QAA/B;MACME,eAAqB,WAA3B;MACMC,qBAAqB/D,EAAEuB,EAAF,CAAKmC,IAAL,CAA3B;MAEMwE,UAAU;YACL,EADK;YAEL,MAFK;YAGL;GAHX;MAMMC,cAAc;YACT,QADS;YAET,QAFS;YAGT;GAHX;MAMMjE,QAAQ;2BACeL,SADf;uBAEaA,SAFb;4BAGWA,SAAvB,GAAmCC;GAHrC;MAMMK,YAAY;mBACA,eADA;mBAEA,eAFA;YAGA;GAHlB;MAMMF,WAAW;cACG,qBADH;YAEG,SAFH;oBAGG,mBAHH;eAIG,WAJH;eAKG,WALH;gBAMG,kBANH;cAOG,WAPH;oBAQG,gBARH;qBASG;GATpB;MAYM4Z,eAAe;YACR,QADQ;cAER;;;;;;;GAFb;;MAYMD,SAhEiB;;;uBAkET7b,OAAZ,EAAqBY,MAArB,EAA6B;;;WACtByB,QAAL,GAAsBrC,OAAtB;WACK+b,cAAL,GAAsB/b,QAAQkJ,OAAR,KAAoB,MAApB,GAA6BxK,MAA7B,GAAsCsB,OAA5D;WACK4G,OAAL,GAAsB,KAAKC,UAAL,CAAgBjG,MAAhB,CAAtB;WACKob,SAAL,GAAyB,KAAKpV,OAAL,CAAa1I,MAAhB,SAA0BgE,SAAS+Z,SAAnC,UACG,KAAKrV,OAAL,CAAa1I,MADhB,SAC0BgE,SAASga,UADnC,WAEG,KAAKtV,OAAL,CAAa1I,MAFhB,SAE0BgE,SAASia,cAFnC,CAAtB;WAGKC,QAAL,GAAsB,EAAtB;WACKC,QAAL,GAAsB,EAAtB;WACKC,aAAL,GAAsB,IAAtB;WACKC,aAAL,GAAsB,CAAtB;QAEE,KAAKR,cAAP,EAAuB3X,EAAvB,CAA0BjC,MAAMqa,MAAhC,EAAwC,UAACxe,KAAD;eAAW,MAAKye,QAAL,CAAcze,KAAd,CAAX;OAAxC;WAEK0e,OAAL;;WACKD,QAAL;KAjFmB;;;;;;WAkGrBC,OAlGqB,sBAkGX;;;UACFC,aAAa,KAAKZ,cAAL,KAAwB,KAAKA,cAAL,CAAoBrd,MAA5C,GACjBod,aAAac,QADI,GACOd,aAAae,MADvC;UAGMC,eAAe,KAAKlW,OAAL,CAAamW,MAAb,KAAwB,MAAxB,GACnBJ,UADmB,GACN,KAAK/V,OAAL,CAAamW,MAD5B;UAGMC,aAAaF,iBAAiBhB,aAAac,QAA9B,GACjB,KAAKK,aAAL,EADiB,GACM,CADzB;WAGKb,QAAL,GAAgB,EAAhB;WACKC,QAAL,GAAgB,EAAhB;WAEKE,aAAL,GAAqB,KAAKW,gBAAL,EAArB;UAEMC,UAAUlf,EAAEmL,SAAF,CAAYnL,EAAE,KAAK+d,SAAP,CAAZ,CAAhB;cAGGoB,GADH,CACO,UAACpd,OAAD,EAAa;YACZ9B,MAAJ;YACMmf,iBAAiBjgB,KAAK2F,sBAAL,CAA4B/C,OAA5B,CAAvB;;YAEIqd,cAAJ,EAAoB;mBACTpf,EAAEof,cAAF,EAAkB,CAAlB,CAAT;;;YAGEnf,MAAJ,EAAY;cACJof,YAAYpf,OAAO2P,qBAAP,EAAlB;;cACIyP,UAAUpG,KAAV,IAAmBoG,UAAUC,MAAjC,EAAyC;;mBAEhC,CACLtf,EAAEC,MAAF,EAAU4e,YAAV,IAA0BU,GAA1B,GAAgCR,UAD3B,EAELK,cAFK,CAAP;;;;eAMG,IAAP;OAnBJ,EAqBGhR,MArBH,CAqBU,UAACoR,IAAD;eAAWA,IAAX;OArBV,EAsBGC,IAtBH,CAsBQ,UAACC,CAAD,EAAIC,CAAJ;eAAaD,EAAE,CAAF,IAAOC,EAAE,CAAF,CAApB;OAtBR,EAuBG/C,OAvBH,CAuBW,UAAC4C,IAAD,EAAU;eACZrB,QAAL,CAAc9P,IAAd,CAAmBmR,KAAK,CAAL,CAAnB;;eACKpB,QAAL,CAAc/P,IAAd,CAAmBmR,KAAK,CAAL,CAAnB;OAzBJ;KAnHmB;;WAgJrB5a,OAhJqB,sBAgJX;QACNC,UAAF,CAAa,KAAKT,QAAlB,EAA4BR,QAA5B;QACE,KAAKka,cAAP,EAAuBxT,GAAvB,CAA2BzG,SAA3B;WAEKO,QAAL,GAAsB,IAAtB;WACK0Z,cAAL,GAAsB,IAAtB;WACKnV,OAAL,GAAsB,IAAtB;WACKoV,SAAL,GAAsB,IAAtB;WACKI,QAAL,GAAsB,IAAtB;WACKC,QAAL,GAAsB,IAAtB;WACKC,aAAL,GAAsB,IAAtB;WACKC,aAAL,GAAsB,IAAtB;KA3JmB;;;WAiKrB1V,UAjKqB,uBAiKVjG,MAjKU,EAiKF;eACR3C,EAAEuK,MAAF,CAAS,EAAT,EAAarC,OAAb,EAAsBvF,MAAtB,CAAT;;UAEI,OAAOA,OAAO1C,MAAd,KAAyB,QAA7B,EAAuC;YACjC+N,KAAKhO,EAAE2C,OAAO1C,MAAT,EAAiBmP,IAAjB,CAAsB,IAAtB,CAAT;;YACI,CAACpB,EAAL,EAAS;eACF7O,KAAK0b,MAAL,CAAYnX,IAAZ,CAAL;YACEf,OAAO1C,MAAT,EAAiBmP,IAAjB,CAAsB,IAAtB,EAA4BpB,EAA5B;;;eAEK/N,MAAP,SAAoB+N,EAApB;;;WAGGxD,eAAL,CAAqB9G,IAArB,EAA2Bf,MAA3B,EAAmCwF,WAAnC;aAEOxF,MAAP;KA/KmB;;WAkLrBqc,aAlLqB,4BAkLL;aACP,KAAKlB,cAAL,KAAwBrd,MAAxB,GACH,KAAKqd,cAAL,CAAoB8B,WADjB,GAC+B,KAAK9B,cAAL,CAAoBvH,SAD1D;KAnLmB;;WAuLrB0I,gBAvLqB,+BAuLF;aACV,KAAKnB,cAAL,CAAoBpG,YAApB,IAAoC9V,KAAKie,GAAL,CACzCjf,SAASyU,IAAT,CAAcqC,YAD2B,EAEzC9W,SAASkK,eAAT,CAAyB4M,YAFgB,CAA3C;KAxLmB;;WA8LrBoI,gBA9LqB,+BA8LF;aACV,KAAKhC,cAAL,KAAwBrd,MAAxB,GACHA,OAAOsf,WADJ,GACkB,KAAKjC,cAAL,CAAoBlO,qBAApB,GAA4C0P,MADrE;KA/LmB;;WAmMrBd,QAnMqB,uBAmMV;UACHjI,YAAe,KAAKyI,aAAL,KAAuB,KAAKrW,OAAL,CAAa0K,MAAzD;;UACMqE,eAAe,KAAKuH,gBAAL,EAArB;;UACMe,YAAe,KAAKrX,OAAL,CAAa0K,MAAb,GACjBqE,YADiB,GAEjB,KAAKoI,gBAAL,EAFJ;;UAII,KAAKxB,aAAL,KAAuB5G,YAA3B,EAAyC;aAClC+G,OAAL;;;UAGElI,aAAayJ,SAAjB,EAA4B;YACpB/f,SAAS,KAAKme,QAAL,CAAc,KAAKA,QAAL,CAAchc,MAAd,GAAuB,CAArC,CAAf;;YAEI,KAAKic,aAAL,KAAuBpe,MAA3B,EAAmC;eAC5BggB,SAAL,CAAehgB,MAAf;;;;;;UAKA,KAAKoe,aAAL,IAAsB9H,YAAY,KAAK4H,QAAL,CAAc,CAAd,CAAlC,IAAsD,KAAKA,QAAL,CAAc,CAAd,IAAmB,CAA7E,EAAgF;aACzEE,aAAL,GAAqB,IAArB;;aACK6B,MAAL;;;;;WAIG,IAAIhS,IAAI,KAAKiQ,QAAL,CAAc/b,MAA3B,EAAmC8L,GAAnC,GAAyC;YACjCiS,iBAAiB,KAAK9B,aAAL,KAAuB,KAAKD,QAAL,CAAclQ,CAAd,CAAvB,IAChBqI,aAAa,KAAK4H,QAAL,CAAcjQ,CAAd,CADG,KAEf,OAAO,KAAKiQ,QAAL,CAAcjQ,IAAI,CAAlB,CAAP,KAAgC,WAAhC,IACAqI,YAAY,KAAK4H,QAAL,CAAcjQ,IAAI,CAAlB,CAHG,CAAvB;;YAKIiS,cAAJ,EAAoB;eACbF,SAAL,CAAe,KAAK7B,QAAL,CAAclQ,CAAd,CAAf;;;KApOe;;WAyOrB+R,SAzOqB,sBAyOXhgB,MAzOW,EAyOH;WACXoe,aAAL,GAAqBpe,MAArB;;WAEKigB,MAAL;;UAEIE,UAAU,KAAKrC,SAAL,CAAepB,KAAf,CAAqB,GAArB,CAAd,CALgB;;;gBAOFyD,QAAQjB,GAAR,CAAY,UAACnd,QAAD,EAAc;eAC5BA,QAAH,uBAA4B/B,MAA5B,aACG+B,QADH,gBACqB/B,MADrB,SAAP;OADY,CAAd;UAKMogB,QAAQrgB,EAAEogB,QAAQ9C,IAAR,CAAa,GAAb,CAAF,CAAd;;UAEI+C,MAAM/a,QAAN,CAAenB,UAAUmc,aAAzB,CAAJ,EAA6C;cACrCtb,OAAN,CAAcf,SAASsc,QAAvB,EAAiCpe,IAAjC,CAAsC8B,SAASuc,eAA/C,EAAgEhU,QAAhE,CAAyErI,UAAU8C,MAAnF;cACMuF,QAAN,CAAerI,UAAU8C,MAAzB;OAFF,MAGO;;cAECuF,QAAN,CAAerI,UAAU8C,MAAzB,EAFK;;;cAKCwZ,OAAN,CAAcxc,SAASyc,cAAvB,EAAuCpX,IAAvC,CAA+CrF,SAAS+Z,SAAxD,UAAsE/Z,SAASga,UAA/E,EAA6FzR,QAA7F,CAAsGrI,UAAU8C,MAAhH,EALK;;cAOCwZ,OAAN,CAAcxc,SAASyc,cAAvB,EAAuCpX,IAAvC,CAA4CrF,SAAS0c,SAArD,EAAgEpU,QAAhE,CAAyEtI,SAAS+Z,SAAlF,EAA6FxR,QAA7F,CAAsGrI,UAAU8C,MAAhH;;;QAGA,KAAK6W,cAAP,EAAuBvb,OAAvB,CAA+B2B,MAAM0c,QAArC,EAA+C;uBAC9B3gB;OADjB;KApQmB;;WAyQrBigB,MAzQqB,qBAyQZ;QACL,KAAKnC,SAAP,EAAkB3P,MAAlB,CAAyBnK,SAASgD,MAAlC,EAA0C7B,WAA1C,CAAsDjB,UAAU8C,MAAhE;KA1QmB;;;cAgRdrB,gBAhRc,6BAgRGjD,MAhRH,EAgRW;aACvB,KAAKkD,IAAL,CAAU,YAAY;YACvBE,OAAY/F,EAAE,IAAF,EAAQ+F,IAAR,CAAanC,QAAb,CAAhB;;YACM+E,UAAU,OAAOhG,MAAP,KAAkB,QAAlB,IAA8BA,MAA9C;;YAEI,CAACoD,IAAL,EAAW;iBACF,IAAI6X,SAAJ,CAAc,IAAd,EAAoBjV,OAApB,CAAP;YACE,IAAF,EAAQ5C,IAAR,CAAanC,QAAb,EAAuBmC,IAAvB;;;YAGE,OAAOpD,MAAP,KAAkB,QAAtB,EAAgC;cAC1B,OAAOoD,KAAKpD,MAAL,CAAP,KAAwB,WAA5B,EAAyC;kBACjC,IAAIY,KAAJ,wBAA8BZ,MAA9B,QAAN;;;eAEGA,MAAL;;OAbG,CAAP;KAjRmB;;;;0BAuFA;eACZgB,OAAP;;;;0BAGmB;eACZuE,OAAP;;;;;;;;;;;;IAiNFzH,MAAF,EAAU0F,EAAV,CAAajC,MAAMuJ,aAAnB,EAAkC,YAAM;QAChCoT,aAAa7gB,EAAEmL,SAAF,CAAYnL,EAAEiE,SAAS6c,QAAX,CAAZ,CAAnB;;SAEK,IAAI5S,IAAI2S,WAAWze,MAAxB,EAAgC8L,GAAhC,GAAsC;UAC9B6S,OAAO/gB,EAAE6gB,WAAW3S,CAAX,CAAF,CAAb;;gBACUtI,gBAAV,CAA2BlG,IAA3B,CAAgCqhB,IAAhC,EAAsCA,KAAKhb,IAAL,EAAtC;;GALJ;;;;;;;IAgBExE,EAAF,CAAKmC,IAAL,IAAyBka,UAAUhY,gBAAnC;IACErE,EAAF,CAAKmC,IAAL,EAAW4C,WAAX,GAAyBsX,SAAzB;;IACErc,EAAF,CAAKmC,IAAL,EAAW6C,UAAX,GAAyB,YAAY;MACjChF,EAAF,CAAKmC,IAAL,IAAaK,kBAAb;WACO6Z,UAAUhY,gBAAjB;GAFF;;SAKOgY,SAAP;CApUgB,CAsUf5d,CAtUe,CAAlB;;ACPA;;;;;;;AAOA,IAAMghB,MAAO,YAAM;;;;;;MASXtd,OAAsB,KAA5B;MACMC,UAAsB,cAA5B;MACMC,WAAsB,QAA5B;MACMC,kBAA0BD,QAAhC;MACME,eAAsB,WAA5B;MACMC,qBAAsB/D,EAAEuB,EAAF,CAAKmC,IAAL,CAA5B;MACMM,sBAAsB,GAA5B;MAEME,QAAQ;mBACYL,SADZ;uBAEcA,SAFd;mBAGYA,SAHZ;qBAIaA,SAJb;8BAKaA,SAAzB,GAAqCC;GALvC;MAQMK,YAAY;mBACA,eADA;YAEA,QAFA;cAGA,UAHA;UAIA,MAJA;UAKA;GALlB;MAQMF,WAAW;cACS,WADT;oBAES,mBAFT;YAGS,SAHT;eAIS,gBAJT;iBAKS,iEALT;qBAMS,kBANT;2BAOS;;;;;;;GAP1B;;MAiBM+c,GAlDW;;;iBAoDHjf,OAAZ,EAAqB;WACdqC,QAAL,GAAgBrC,OAAhB;KArDa;;;;;;WAkEf2M,IAlEe,mBAkER;;;UACD,KAAKtK,QAAL,CAAc2P,UAAd,IACA,KAAK3P,QAAL,CAAc2P,UAAd,CAAyBtR,QAAzB,KAAsCyT,KAAKC,YAD3C,IAEAnW,EAAE,KAAKoE,QAAP,EAAiBkB,QAAjB,CAA0BnB,UAAU8C,MAApC,CAFA,IAGAjH,EAAE,KAAKoE,QAAP,EAAiBkB,QAAjB,CAA0BnB,UAAUwN,QAApC,CAHJ,EAGmD;;;;UAI/C1R,MAAJ;UACIghB,QAAJ;UACMC,cAAclhB,EAAE,KAAKoE,QAAP,EAAiBY,OAAjB,CAAyBf,SAASyc,cAAlC,EAAkD,CAAlD,CAApB;UACM1e,WAAc7C,KAAK2F,sBAAL,CAA4B,KAAKV,QAAjC,CAApB;;UAEI8c,WAAJ,EAAiB;YACTC,eAAeD,YAAYE,QAAZ,KAAyB,IAAzB,GAAgCnd,SAASod,SAAzC,GAAqDpd,SAASgD,MAAnF;mBACWjH,EAAEmL,SAAF,CAAYnL,EAAEkhB,WAAF,EAAe/e,IAAf,CAAoBgf,YAApB,CAAZ,CAAX;mBACWF,SAASA,SAAS7e,MAAT,GAAkB,CAA3B,CAAX;;;UAGI0R,YAAY9T,EAAEkE,KAAF,CAAQA,MAAMyL,IAAd,EAAoB;uBACrB,KAAKvL;OADJ,CAAlB;UAIM2N,YAAY/R,EAAEkE,KAAF,CAAQA,MAAMmB,IAAd,EAAoB;uBACrB4b;OADC,CAAlB;;UAIIA,QAAJ,EAAc;UACVA,QAAF,EAAY1e,OAAZ,CAAoBuR,SAApB;;;QAGA,KAAK1P,QAAP,EAAiB7B,OAAjB,CAAyBwP,SAAzB;;UAEIA,UAAUrN,kBAAV,MACDoP,UAAUpP,kBAAV,EADH,EACmC;;;;UAI/B1C,QAAJ,EAAc;iBACHhC,EAAEgC,QAAF,EAAY,CAAZ,CAAT;;;WAGGie,SAAL,CACE,KAAK7b,QADP,EAEE8c,WAFF;;UAKM5R,WAAW,SAAXA,QAAW,GAAM;YACfgS,cAActhB,EAAEkE,KAAF,CAAQA,MAAM4L,MAAd,EAAsB;yBACzB,MAAK1L;SADF,CAApB;YAIMqS,aAAazW,EAAEkE,KAAF,CAAQA,MAAMqL,KAAd,EAAqB;yBACvB0R;SADE,CAAnB;UAIEA,QAAF,EAAY1e,OAAZ,CAAoB+e,WAApB;UACE,MAAKld,QAAP,EAAiB7B,OAAjB,CAAyBkU,UAAzB;OAVF;;UAaIxW,MAAJ,EAAY;aACLggB,SAAL,CAAehgB,MAAf,EAAuBA,OAAO8T,UAA9B,EAA0CzE,QAA1C;OADF,MAEO;;;KAhIM;;WAqIf1K,OArIe,sBAqIL;QACNC,UAAF,CAAa,KAAKT,QAAlB,EAA4BR,QAA5B;WACKQ,QAAL,GAAgB,IAAhB;KAvIa;;;WA6If6b,SA7Ie,sBA6ILle,OA7IK,EA6IIoZ,SA7IJ,EA6IelE,QA7If,EA6IyB;;;UAClCsK,cAAJ;;UACIpG,UAAUiG,QAAV,KAAuB,IAA3B,EAAiC;yBACdphB,EAAEmb,SAAF,EAAahZ,IAAb,CAAkB8B,SAASod,SAA3B,CAAjB;OADF,MAEO;yBACYrhB,EAAEmb,SAAF,EAAa5O,QAAb,CAAsBtI,SAASgD,MAA/B,CAAjB;;;UAGIua,SAAkBD,eAAe,CAAf,CAAxB;UACMxR,kBAAkBkH,YACnB9X,KAAKsC,qBAAL,EADmB,IAElB+f,UAAUxhB,EAAEwhB,MAAF,EAAUlc,QAAV,CAAmBnB,UAAUoB,IAA7B,CAFhB;;UAIM+J,WAAW,SAAXA,QAAW;eAAM,OAAKmS,mBAAL,CACrB1f,OADqB,EAErByf,MAFqB,EAGrBzR,eAHqB,EAIrBkH,QAJqB,CAAN;OAAjB;;UAOIuK,UAAUzR,eAAd,EAA+B;UAC3ByR,MAAF,EACGrgB,GADH,CACOhC,KAAKiC,cADZ,EAC4BkO,QAD5B,EAEG9N,oBAFH,CAEwBwC,mBAFxB;OADF,MAKO;;;;UAIHwd,MAAJ,EAAY;UACRA,MAAF,EAAUpc,WAAV,CAAsBjB,UAAUkB,IAAhC;;KA3KW;;WA+Kfoc,mBA/Ke,gCA+KK1f,OA/KL,EA+Kcyf,MA/Kd,EA+KsBzR,eA/KtB,EA+KuCkH,QA/KvC,EA+KiD;UAC1DuK,MAAJ,EAAY;UACRA,MAAF,EAAUpc,WAAV,CAAsBjB,UAAU8C,MAAhC;YAEMya,gBAAgB1hB,EAAEwhB,OAAOzN,UAAT,EAAqB5R,IAArB,CACpB8B,SAAS0d,qBADW,EAEpB,CAFoB,CAAtB;;YAIID,aAAJ,EAAmB;YACfA,aAAF,EAAiBtc,WAAjB,CAA6BjB,UAAU8C,MAAvC;;;YAGEua,OAAOvf,YAAP,CAAoB,MAApB,MAAgC,KAApC,EAA2C;iBAClCsF,YAAP,CAAoB,eAApB,EAAqC,KAArC;;;;QAIFxF,OAAF,EAAWyK,QAAX,CAAoBrI,UAAU8C,MAA9B;;UACIlF,QAAQE,YAAR,CAAqB,MAArB,MAAiC,KAArC,EAA4C;gBAClCsF,YAAR,CAAqB,eAArB,EAAsC,IAAtC;;;UAGEwI,eAAJ,EAAqB;aACd7C,MAAL,CAAYnL,OAAZ;UACEA,OAAF,EAAWyK,QAAX,CAAoBrI,UAAUkB,IAA9B;OAFF,MAGO;UACHtD,OAAF,EAAWqD,WAAX,CAAuBjB,UAAUoB,IAAjC;;;UAGExD,QAAQgS,UAAR,IACA/T,EAAE+B,QAAQgS,UAAV,EAAsBzO,QAAtB,CAA+BnB,UAAUyd,aAAzC,CADJ,EAC6D;YAErDC,kBAAkB7hB,EAAE+B,OAAF,EAAWiD,OAAX,CAAmBf,SAASsc,QAA5B,EAAsC,CAAtC,CAAxB;;YACIsB,eAAJ,EAAqB;YACjBA,eAAF,EAAmB1f,IAAnB,CAAwB8B,SAASuc,eAAjC,EAAkDhU,QAAlD,CAA2DrI,UAAU8C,MAArE;;;gBAGMM,YAAR,CAAqB,eAArB,EAAsC,IAAtC;;;UAGE0P,QAAJ,EAAc;;;KAvND;;;QA+NRrR,gBA/NQ,6BA+NSjD,MA/NT,EA+NiB;aACvB,KAAKkD,IAAL,CAAU,YAAY;YACrB0K,QAAQvQ,EAAE,IAAF,CAAd;YACI+F,OAAUwK,MAAMxK,IAAN,CAAWnC,QAAX,CAAd;;YAEI,CAACmC,IAAL,EAAW;iBACF,IAAIib,GAAJ,CAAQ,IAAR,CAAP;gBACMjb,IAAN,CAAWnC,QAAX,EAAqBmC,IAArB;;;YAGE,OAAOpD,MAAP,KAAkB,QAAtB,EAAgC;cAC1B,OAAOoD,KAAKpD,MAAL,CAAP,KAAwB,WAA5B,EAAyC;kBACjC,IAAIY,KAAJ,wBAA8BZ,MAA9B,QAAN;;;eAEGA,MAAL;;OAbG,CAAP;KAhOa;;;;0BA2DM;eACZgB,OAAP;;;;;;;;;;;;IA+LF/C,QAAF,EACGuF,EADH,CACMjC,MAAMkC,cADZ,EAC4BnC,SAAS2C,WADrC,EACkD,UAAU7G,KAAV,EAAiB;UACzDmG,cAAN;;QACIN,gBAAJ,CAAqBlG,IAArB,CAA0BM,EAAE,IAAF,CAA1B,EAAmC,MAAnC;GAHJ;;;;;;;IAaEuB,EAAF,CAAKmC,IAAL,IAAyBsd,IAAIpb,gBAA7B;IACErE,EAAF,CAAKmC,IAAL,EAAW4C,WAAX,GAAyB0a,GAAzB;;IACEzf,EAAF,CAAKmC,IAAL,EAAW6C,UAAX,GAAyB,YAAY;MACjChF,EAAF,CAAKmC,IAAL,IAAaK,kBAAb;WACOid,IAAIpb,gBAAX;GAFF;;SAKOob,GAAP;CA/QU,CAiRThhB,CAjRS,CAAZ;;ACEA;;;;;;;AAOA,CAAC,YAAM;MACD,OAAOA,CAAP,KAAa,WAAjB,EAA8B;UACtB,IAAIuD,KAAJ,CAAU,kGAAV,CAAN;;;MAGIue,UAAU9hB,EAAEuB,EAAF,CAAK4O,MAAL,CAAYwM,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,EAA0BA,KAA1B,CAAgC,GAAhC,CAAhB;MACMoF,WAAW,CAAjB;MACMC,UAAW,CAAjB;MACMC,WAAW,CAAjB;MACMC,WAAW,CAAjB;MACMC,WAAW,CAAjB;;MAEIL,QAAQ,CAAR,IAAaE,OAAb,IAAwBF,QAAQ,CAAR,IAAaG,QAArC,IAAiDH,QAAQ,CAAR,MAAeC,QAAf,IAA2BD,QAAQ,CAAR,MAAeG,QAA1C,IAAsDH,QAAQ,CAAR,IAAaI,QAApH,IAAgIJ,QAAQ,CAAR,KAAcK,QAAlJ,EAA4J;UACpJ,IAAI5e,KAAJ,CAAU,8EAAV,CAAN;;CAbJ,EAeGvD,CAfH;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/workspace/public/js/bootstrap.min.js b/workspace/public/js/bootstrap.min.js new file mode 100644 index 0000000..27aace3 --- /dev/null +++ b/workspace/public/js/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v4.0.0-beta.2 (https://getbootstrap.com) + * Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +var bootstrap=function(t,e,n){"use strict";function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}e=e&&e.hasOwnProperty("default")?e.default:e,n=n&&n.hasOwnProperty("default")?n.default:n;var s=function(){function t(t){return{}.toString.call(t).match(/\s([a-zA-Z]+)/)[1].toLowerCase()}function n(){return{bindType:r.end,delegateType:r.end,handle:function(t){if(e(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}}}function i(){if(window.QUnit)return!1;var t=document.createElement("bootstrap");for(var e in o)if("undefined"!=typeof t.style[e])return{end:o[e]};return!1}function s(t){var n=this,i=!1;return e(this).one(a.TRANSITION_END,function(){i=!0}),setTimeout(function(){i||a.triggerTransitionEnd(n)},t),this}var r=!1,o={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},a={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},getSelectorFromElement:function(t){var n=t.getAttribute("data-target");n&&"#"!==n||(n=t.getAttribute("href")||"");try{return e(document).find(n).length>0?n:null}catch(t){return null}},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){e(t).trigger(r.end)},supportsTransitionEnd:function(){return Boolean(r)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(e,n,i){for(var s in i)if(Object.prototype.hasOwnProperty.call(i,s)){var r=i[s],o=n[s],l=o&&a.isElement(o)?"element":t(o);if(!new RegExp(r).test(l))throw new Error(e.toUpperCase()+': Option "'+s+'" provided type "'+l+'" but expected type "'+r+'".')}}};return r=i(),e.fn.emulateTransitionEnd=s,a.supportsTransitionEnd()&&(e.event.special[a.TRANSITION_END]=n()),a}(),r=function(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t},o=function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e},a=function(){var t="alert",n=e.fn[t],i={CLOSE:"close.bs.alert",CLOSED:"closed.bs.alert",CLICK_DATA_API:"click.bs.alert.data-api"},o={ALERT:"alert",FADE:"fade",SHOW:"show"},a=function(){function t(t){this._element=t}var n=t.prototype;return n.close=function(t){t=t||this._element;var e=this._getRootElement(t);this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},n.dispose=function(){e.removeData(this._element,"bs.alert"),this._element=null},n._getRootElement=function(t){var n=s.getSelectorFromElement(t),i=!1;return n&&(i=e(n)[0]),i||(i=e(t).closest("."+o.ALERT)[0]),i},n._triggerCloseEvent=function(t){var n=e.Event(i.CLOSE);return e(t).trigger(n),n},n._removeElement=function(t){var n=this;e(t).removeClass(o.SHOW),s.supportsTransitionEnd()&&e(t).hasClass(o.FADE)?e(t).one(s.TRANSITION_END,function(e){return n._destroyElement(t,e)}).emulateTransitionEnd(150):this._destroyElement(t)},n._destroyElement=function(t){e(t).detach().trigger(i.CLOSED).remove()},t._jQueryInterface=function(n){return this.each(function(){var i=e(this),s=i.data("bs.alert");s||(s=new t(this),i.data("bs.alert",s)),"close"===n&&s[n](this)})},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},r(t,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}}]),t}();return e(document).on(i.CLICK_DATA_API,{DISMISS:'[data-dismiss="alert"]'}.DISMISS,a._handleDismiss(new a)),e.fn[t]=a._jQueryInterface,e.fn[t].Constructor=a,e.fn[t].noConflict=function(){return e.fn[t]=n,a._jQueryInterface},a}(),l=function(){var t="button",n=e.fn[t],i={ACTIVE:"active",BUTTON:"btn",FOCUS:"focus"},s={DATA_TOGGLE_CARROT:'[data-toggle^="button"]',DATA_TOGGLE:'[data-toggle="buttons"]',INPUT:"input",ACTIVE:".active",BUTTON:".btn"},o={CLICK_DATA_API:"click.bs.button.data-api",FOCUS_BLUR_DATA_API:"focus.bs.button.data-api blur.bs.button.data-api"},a=function(){function t(t){this._element=t}var n=t.prototype;return n.toggle=function(){var t=!0,n=!0,r=e(this._element).closest(s.DATA_TOGGLE)[0];if(r){var o=e(this._element).find(s.INPUT)[0];if(o){if("radio"===o.type)if(o.checked&&e(this._element).hasClass(i.ACTIVE))t=!1;else{var a=e(r).find(s.ACTIVE)[0];a&&e(a).removeClass(i.ACTIVE)}if(t){if(o.hasAttribute("disabled")||r.hasAttribute("disabled")||o.classList.contains("disabled")||r.classList.contains("disabled"))return;o.checked=!e(this._element).hasClass(i.ACTIVE),e(o).trigger("change")}o.focus(),n=!1}}n&&this._element.setAttribute("aria-pressed",!e(this._element).hasClass(i.ACTIVE)),t&&e(this._element).toggleClass(i.ACTIVE)},n.dispose=function(){e.removeData(this._element,"bs.button"),this._element=null},t._jQueryInterface=function(n){return this.each(function(){var i=e(this).data("bs.button");i||(i=new t(this),e(this).data("bs.button",i)),"toggle"===n&&i[n]()})},r(t,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}}]),t}();return e(document).on(o.CLICK_DATA_API,s.DATA_TOGGLE_CARROT,function(t){t.preventDefault();var n=t.target;e(n).hasClass(i.BUTTON)||(n=e(n).closest(s.BUTTON)),a._jQueryInterface.call(e(n),"toggle")}).on(o.FOCUS_BLUR_DATA_API,s.DATA_TOGGLE_CARROT,function(t){var n=e(t.target).closest(s.BUTTON)[0];e(n).toggleClass(i.FOCUS,/^focus(in)?$/.test(t.type))}),e.fn[t]=a._jQueryInterface,e.fn[t].Constructor=a,e.fn[t].noConflict=function(){return e.fn[t]=n,a._jQueryInterface},a}(),h=function(){var t="carousel",n="bs.carousel",i="."+n,o=e.fn[t],a={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},l={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},h={NEXT:"next",PREV:"prev",LEFT:"left",RIGHT:"right"},c={SLIDE:"slide"+i,SLID:"slid"+i,KEYDOWN:"keydown"+i,MOUSEENTER:"mouseenter"+i,MOUSELEAVE:"mouseleave"+i,TOUCHEND:"touchend"+i,LOAD_DATA_API:"load.bs.carousel.data-api",CLICK_DATA_API:"click.bs.carousel.data-api"},u={CAROUSEL:"carousel",ACTIVE:"active",SLIDE:"slide",RIGHT:"carousel-item-right",LEFT:"carousel-item-left",NEXT:"carousel-item-next",PREV:"carousel-item-prev",ITEM:"carousel-item"},d={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},f=function(){function o(t,n){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this._config=this._getConfig(n),this._element=e(t)[0],this._indicatorsElement=e(this._element).find(d.INDICATORS)[0],this._addEventListeners()}var f=o.prototype;return f.next=function(){this._isSliding||this._slide(h.NEXT)},f.nextWhenVisible=function(){!document.hidden&&e(this._element).is(":visible")&&"hidden"!==e(this._element).css("visibility")&&this.next()},f.prev=function(){this._isSliding||this._slide(h.PREV)},f.pause=function(t){t||(this._isPaused=!0),e(this._element).find(d.NEXT_PREV)[0]&&s.supportsTransitionEnd()&&(s.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},f.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},f.to=function(t){var n=this;this._activeElement=e(this._element).find(d.ACTIVE_ITEM)[0];var i=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)e(this._element).one(c.SLID,function(){return n.to(t)});else{if(i===t)return this.pause(),void this.cycle();var s=t>i?h.NEXT:h.PREV;this._slide(s,this._items[t])}},f.dispose=function(){e(this._element).off(i),e.removeData(this._element,n),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},f._getConfig=function(n){return n=e.extend({},a,n),s.typeCheckConfig(t,n,l),n},f._addEventListeners=function(){var t=this;this._config.keyboard&&e(this._element).on(c.KEYDOWN,function(e){return t._keydown(e)}),"hover"===this._config.pause&&(e(this._element).on(c.MOUSEENTER,function(e){return t.pause(e)}).on(c.MOUSELEAVE,function(e){return t.cycle(e)}),"ontouchstart"in document.documentElement&&e(this._element).on(c.TOUCHEND,function(){t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout(function(e){return t.cycle(e)},500+t._config.interval)}))},f._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next();break;default:return}},f._getItemIndex=function(t){return this._items=e.makeArray(e(t).parent().find(d.ITEM)),this._items.indexOf(t)},f._getItemByDirection=function(t,e){var n=t===h.NEXT,i=t===h.PREV,s=this._getItemIndex(e),r=this._items.length-1;if((i&&0===s||n&&s===r)&&!this._config.wrap)return e;var o=(s+(t===h.PREV?-1:1))%this._items.length;return-1===o?this._items[this._items.length-1]:this._items[o]},f._triggerSlideEvent=function(t,n){var i=this._getItemIndex(t),s=this._getItemIndex(e(this._element).find(d.ACTIVE_ITEM)[0]),r=e.Event(c.SLIDE,{relatedTarget:t,direction:n,from:s,to:i});return e(this._element).trigger(r),r},f._setActiveIndicatorElement=function(t){if(this._indicatorsElement){e(this._indicatorsElement).find(d.ACTIVE).removeClass(u.ACTIVE);var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&e(n).addClass(u.ACTIVE)}},f._slide=function(t,n){var i,r,o,a=this,l=e(this._element).find(d.ACTIVE_ITEM)[0],f=this._getItemIndex(l),_=n||l&&this._getItemByDirection(t,l),g=this._getItemIndex(_),m=Boolean(this._interval);if(t===h.NEXT?(i=u.LEFT,r=u.NEXT,o=h.LEFT):(i=u.RIGHT,r=u.PREV,o=h.RIGHT),_&&e(_).hasClass(u.ACTIVE))this._isSliding=!1;else if(!this._triggerSlideEvent(_,o).isDefaultPrevented()&&l&&_){this._isSliding=!0,m&&this.pause(),this._setActiveIndicatorElement(_);var p=e.Event(c.SLID,{relatedTarget:_,direction:o,from:f,to:g});s.supportsTransitionEnd()&&e(this._element).hasClass(u.SLIDE)?(e(_).addClass(r),s.reflow(_),e(l).addClass(i),e(_).addClass(i),e(l).one(s.TRANSITION_END,function(){e(_).removeClass(i+" "+r).addClass(u.ACTIVE),e(l).removeClass(u.ACTIVE+" "+r+" "+i),a._isSliding=!1,setTimeout(function(){return e(a._element).trigger(p)},0)}).emulateTransitionEnd(600)):(e(l).removeClass(u.ACTIVE),e(_).addClass(u.ACTIVE),this._isSliding=!1,e(this._element).trigger(p)),m&&this.cycle()}},o._jQueryInterface=function(t){return this.each(function(){var i=e(this).data(n),s=e.extend({},a,e(this).data());"object"==typeof t&&e.extend(s,t);var r="string"==typeof t?t:s.slide;if(i||(i=new o(this,s),e(this).data(n,i)),"number"==typeof t)i.to(t);else if("string"==typeof r){if("undefined"==typeof i[r])throw new Error('No method named "'+r+'"');i[r]()}else s.interval&&(i.pause(),i.cycle())})},o._dataApiClickHandler=function(t){var i=s.getSelectorFromElement(this);if(i){var r=e(i)[0];if(r&&e(r).hasClass(u.CAROUSEL)){var a=e.extend({},e(r).data(),e(this).data()),l=this.getAttribute("data-slide-to");l&&(a.interval=!1),o._jQueryInterface.call(e(r),a),l&&e(r).data(n).to(l),t.preventDefault()}}},r(o,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}},{key:"Default",get:function(){return a}}]),o}();return e(document).on(c.CLICK_DATA_API,d.DATA_SLIDE,f._dataApiClickHandler),e(window).on(c.LOAD_DATA_API,function(){e(d.DATA_RIDE).each(function(){var t=e(this);f._jQueryInterface.call(t,t.data())})}),e.fn[t]=f._jQueryInterface,e.fn[t].Constructor=f,e.fn[t].noConflict=function(){return e.fn[t]=o,f._jQueryInterface},f}(),c=function(){var t="collapse",n="bs.collapse",i=e.fn[t],o={toggle:!0,parent:""},a={toggle:"boolean",parent:"(string|element)"},l={SHOW:"show.bs.collapse",SHOWN:"shown.bs.collapse",HIDE:"hide.bs.collapse",HIDDEN:"hidden.bs.collapse",CLICK_DATA_API:"click.bs.collapse.data-api"},h={SHOW:"show",COLLAPSE:"collapse",COLLAPSING:"collapsing",COLLAPSED:"collapsed"},c={WIDTH:"width",HEIGHT:"height"},u={ACTIVES:".show, .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},d=function(){function i(t,n){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(n),this._triggerArray=e.makeArray(e('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'));for(var i=e(u.DATA_TOGGLE),r=0;r<i.length;r++){var o=i[r],a=s.getSelectorFromElement(o);null!==a&&e(a).filter(t).length>0&&this._triggerArray.push(o)}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var d=i.prototype;return d.toggle=function(){e(this._element).hasClass(h.SHOW)?this.hide():this.show()},d.show=function(){var t=this;if(!this._isTransitioning&&!e(this._element).hasClass(h.SHOW)){var r,o;if(this._parent&&((r=e.makeArray(e(this._parent).children().children(u.ACTIVES))).length||(r=null)),!(r&&(o=e(r).data(n))&&o._isTransitioning)){var a=e.Event(l.SHOW);if(e(this._element).trigger(a),!a.isDefaultPrevented()){r&&(i._jQueryInterface.call(e(r),"hide"),o||e(r).data(n,null));var c=this._getDimension();e(this._element).removeClass(h.COLLAPSE).addClass(h.COLLAPSING),this._element.style[c]=0,this._triggerArray.length&&e(this._triggerArray).removeClass(h.COLLAPSED).attr("aria-expanded",!0),this.setTransitioning(!0);var d=function(){e(t._element).removeClass(h.COLLAPSING).addClass(h.COLLAPSE).addClass(h.SHOW),t._element.style[c]="",t.setTransitioning(!1),e(t._element).trigger(l.SHOWN)};if(s.supportsTransitionEnd()){var f="scroll"+(c[0].toUpperCase()+c.slice(1));e(this._element).one(s.TRANSITION_END,d).emulateTransitionEnd(600),this._element.style[c]=this._element[f]+"px"}else d()}}}},d.hide=function(){var t=this;if(!this._isTransitioning&&e(this._element).hasClass(h.SHOW)){var n=e.Event(l.HIDE);if(e(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension();if(this._element.style[i]=this._element.getBoundingClientRect()[i]+"px",s.reflow(this._element),e(this._element).addClass(h.COLLAPSING).removeClass(h.COLLAPSE).removeClass(h.SHOW),this._triggerArray.length)for(var r=0;r<this._triggerArray.length;r++){var o=this._triggerArray[r],a=s.getSelectorFromElement(o);null!==a&&(e(a).hasClass(h.SHOW)||e(o).addClass(h.COLLAPSED).attr("aria-expanded",!1))}this.setTransitioning(!0);var c=function(){t.setTransitioning(!1),e(t._element).removeClass(h.COLLAPSING).addClass(h.COLLAPSE).trigger(l.HIDDEN)};this._element.style[i]="",s.supportsTransitionEnd()?e(this._element).one(s.TRANSITION_END,c).emulateTransitionEnd(600):c()}}},d.setTransitioning=function(t){this._isTransitioning=t},d.dispose=function(){e.removeData(this._element,n),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},d._getConfig=function(n){return n=e.extend({},o,n),n.toggle=Boolean(n.toggle),s.typeCheckConfig(t,n,a),n},d._getDimension=function(){return e(this._element).hasClass(c.WIDTH)?c.WIDTH:c.HEIGHT},d._getParent=function(){var t=this,n=null;s.isElement(this._config.parent)?(n=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(n=this._config.parent[0])):n=e(this._config.parent)[0];var r='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';return e(n).find(r).each(function(e,n){t._addAriaAndCollapsedClass(i._getTargetFromElement(n),[n])}),n},d._addAriaAndCollapsedClass=function(t,n){if(t){var i=e(t).hasClass(h.SHOW);n.length&&e(n).toggleClass(h.COLLAPSED,!i).attr("aria-expanded",i)}},i._getTargetFromElement=function(t){var n=s.getSelectorFromElement(t);return n?e(n)[0]:null},i._jQueryInterface=function(t){return this.each(function(){var s=e(this),r=s.data(n),a=e.extend({},o,s.data(),"object"==typeof t&&t);if(!r&&a.toggle&&/show|hide/.test(t)&&(a.toggle=!1),r||(r=new i(this,a),s.data(n,r)),"string"==typeof t){if("undefined"==typeof r[t])throw new Error('No method named "'+t+'"');r[t]()}})},r(i,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}},{key:"Default",get:function(){return o}}]),i}();return e(document).on(l.CLICK_DATA_API,u.DATA_TOGGLE,function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var i=e(this),r=s.getSelectorFromElement(this);e(r).each(function(){var t=e(this),s=t.data(n)?"toggle":i.data();d._jQueryInterface.call(t,s)})}),e.fn[t]=d._jQueryInterface,e.fn[t].Constructor=d,e.fn[t].noConflict=function(){return e.fn[t]=i,d._jQueryInterface},d}(),u=function(){if("undefined"==typeof n)throw new Error("Bootstrap dropdown require Popper.js (https://popper.js.org)");var t="dropdown",i="bs.dropdown",o="."+i,a=e.fn[t],l=new RegExp("38|40|27"),h={HIDE:"hide"+o,HIDDEN:"hidden"+o,SHOW:"show"+o,SHOWN:"shown"+o,CLICK:"click"+o,CLICK_DATA_API:"click.bs.dropdown.data-api",KEYDOWN_DATA_API:"keydown.bs.dropdown.data-api",KEYUP_DATA_API:"keyup.bs.dropdown.data-api"},c={DISABLED:"disabled",SHOW:"show",DROPUP:"dropup",MENURIGHT:"dropdown-menu-right",MENULEFT:"dropdown-menu-left"},u={DATA_TOGGLE:'[data-toggle="dropdown"]',FORM_CHILD:".dropdown form",MENU:".dropdown-menu",NAVBAR_NAV:".navbar-nav",VISIBLE_ITEMS:".dropdown-menu .dropdown-item:not(.disabled)"},d={TOP:"top-start",TOPEND:"top-end",BOTTOM:"bottom-start",BOTTOMEND:"bottom-end"},f={offset:0,flip:!0},_={offset:"(number|string|function)",flip:"boolean"},g=function(){function a(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var g=a.prototype;return g.toggle=function(){if(!this._element.disabled&&!e(this._element).hasClass(c.DISABLED)){var t=a._getParentFromElement(this._element),i=e(this._menu).hasClass(c.SHOW);if(a._clearMenus(),!i){var s={relatedTarget:this._element},r=e.Event(h.SHOW,s);if(e(t).trigger(r),!r.isDefaultPrevented()){var o=this._element;e(t).hasClass(c.DROPUP)&&(e(this._menu).hasClass(c.MENULEFT)||e(this._menu).hasClass(c.MENURIGHT))&&(o=t),this._popper=new n(o,this._menu,this._getPopperConfig()),"ontouchstart"in document.documentElement&&!e(t).closest(u.NAVBAR_NAV).length&&e("body").children().on("mouseover",null,e.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),e(this._menu).toggleClass(c.SHOW),e(t).toggleClass(c.SHOW).trigger(e.Event(h.SHOWN,s))}}}},g.dispose=function(){e.removeData(this._element,i),e(this._element).off(o),this._element=null,this._menu=null,null!==this._popper&&this._popper.destroy(),this._popper=null},g.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},g._addEventListeners=function(){var t=this;e(this._element).on(h.CLICK,function(e){e.preventDefault(),e.stopPropagation(),t.toggle()})},g._getConfig=function(n){return n=e.extend({},this.constructor.Default,e(this._element).data(),n),s.typeCheckConfig(t,n,this.constructor.DefaultType),n},g._getMenuElement=function(){if(!this._menu){var t=a._getParentFromElement(this._element);this._menu=e(t).find(u.MENU)[0]}return this._menu},g._getPlacement=function(){var t=e(this._element).parent(),n=d.BOTTOM;return t.hasClass(c.DROPUP)?(n=d.TOP,e(this._menu).hasClass(c.MENURIGHT)&&(n=d.TOPEND)):e(this._menu).hasClass(c.MENURIGHT)&&(n=d.BOTTOMEND),n},g._detectNavbar=function(){return e(this._element).closest(".navbar").length>0},g._getPopperConfig=function(){var t=this,n={};"function"==typeof this._config.offset?n.fn=function(n){return n.offsets=e.extend({},n.offsets,t._config.offset(n.offsets)||{}),n}:n.offset=this._config.offset;var i={placement:this._getPlacement(),modifiers:{offset:n,flip:{enabled:this._config.flip}}};return this._inNavbar&&(i.modifiers.applyStyle={enabled:!this._inNavbar}),i},a._jQueryInterface=function(t){return this.each(function(){var n=e(this).data(i),s="object"==typeof t?t:null;if(n||(n=new a(this,s),e(this).data(i,n)),"string"==typeof t){if("undefined"==typeof n[t])throw new Error('No method named "'+t+'"');n[t]()}})},a._clearMenus=function(t){if(!t||3!==t.which&&("keyup"!==t.type||9===t.which))for(var n=e.makeArray(e(u.DATA_TOGGLE)),s=0;s<n.length;s++){var r=a._getParentFromElement(n[s]),o=e(n[s]).data(i),l={relatedTarget:n[s]};if(o){var d=o._menu;if(e(r).hasClass(c.SHOW)&&!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&9===t.which)&&e.contains(r,t.target))){var f=e.Event(h.HIDE,l);e(r).trigger(f),f.isDefaultPrevented()||("ontouchstart"in document.documentElement&&e("body").children().off("mouseover",null,e.noop),n[s].setAttribute("aria-expanded","false"),e(d).removeClass(c.SHOW),e(r).removeClass(c.SHOW).trigger(e.Event(h.HIDDEN,l)))}}}},a._getParentFromElement=function(t){var n,i=s.getSelectorFromElement(t);return i&&(n=e(i)[0]),n||t.parentNode},a._dataApiKeydownHandler=function(t){if(!(!l.test(t.which)||/button/i.test(t.target.tagName)&&32===t.which||/input|textarea/i.test(t.target.tagName)||(t.preventDefault(),t.stopPropagation(),this.disabled||e(this).hasClass(c.DISABLED)))){var n=a._getParentFromElement(this),i=e(n).hasClass(c.SHOW);if((i||27===t.which&&32===t.which)&&(!i||27!==t.which&&32!==t.which)){var s=e(n).find(u.VISIBLE_ITEMS).get();if(s.length){var r=s.indexOf(t.target);38===t.which&&r>0&&r--,40===t.which&&r<s.length-1&&r++,r<0&&(r=0),s[r].focus()}}else{if(27===t.which){var o=e(n).find(u.DATA_TOGGLE)[0];e(o).trigger("focus")}e(this).trigger("click")}}},r(a,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}},{key:"Default",get:function(){return f}},{key:"DefaultType",get:function(){return _}}]),a}();return e(document).on(h.KEYDOWN_DATA_API,u.DATA_TOGGLE,g._dataApiKeydownHandler).on(h.KEYDOWN_DATA_API,u.MENU,g._dataApiKeydownHandler).on(h.CLICK_DATA_API+" "+h.KEYUP_DATA_API,g._clearMenus).on(h.CLICK_DATA_API,u.DATA_TOGGLE,function(t){t.preventDefault(),t.stopPropagation(),g._jQueryInterface.call(e(this),"toggle")}).on(h.CLICK_DATA_API,u.FORM_CHILD,function(t){t.stopPropagation()}),e.fn[t]=g._jQueryInterface,e.fn[t].Constructor=g,e.fn[t].noConflict=function(){return e.fn[t]=a,g._jQueryInterface},g}(),d=function(){var t="modal",n=".bs.modal",i=e.fn[t],o={backdrop:!0,keyboard:!0,focus:!0,show:!0},a={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},l={HIDE:"hide.bs.modal",HIDDEN:"hidden.bs.modal",SHOW:"show.bs.modal",SHOWN:"shown.bs.modal",FOCUSIN:"focusin.bs.modal",RESIZE:"resize.bs.modal",CLICK_DISMISS:"click.dismiss.bs.modal",KEYDOWN_DISMISS:"keydown.dismiss.bs.modal",MOUSEUP_DISMISS:"mouseup.dismiss.bs.modal",MOUSEDOWN_DISMISS:"mousedown.dismiss.bs.modal",CLICK_DATA_API:"click.bs.modal.data-api"},h={SCROLLBAR_MEASURER:"modal-scrollbar-measure",BACKDROP:"modal-backdrop",OPEN:"modal-open",FADE:"fade",SHOW:"show"},c={DIALOG:".modal-dialog",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",STICKY_CONTENT:".sticky-top",NAVBAR_TOGGLER:".navbar-toggler"},u=function(){function i(t,n){this._config=this._getConfig(n),this._element=t,this._dialog=e(t).find(c.DIALOG)[0],this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._originalBodyPadding=0,this._scrollbarWidth=0}var u=i.prototype;return u.toggle=function(t){return this._isShown?this.hide():this.show(t)},u.show=function(t){var n=this;if(!this._isTransitioning&&!this._isShown){s.supportsTransitionEnd()&&e(this._element).hasClass(h.FADE)&&(this._isTransitioning=!0);var i=e.Event(l.SHOW,{relatedTarget:t});e(this._element).trigger(i),this._isShown||i.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),e(document.body).addClass(h.OPEN),this._setEscapeEvent(),this._setResizeEvent(),e(this._element).on(l.CLICK_DISMISS,c.DATA_DISMISS,function(t){return n.hide(t)}),e(this._dialog).on(l.MOUSEDOWN_DISMISS,function(){e(n._element).one(l.MOUSEUP_DISMISS,function(t){e(t.target).is(n._element)&&(n._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return n._showElement(t)}))}},u.hide=function(t){var n=this;if(t&&t.preventDefault(),!this._isTransitioning&&this._isShown){var i=e.Event(l.HIDE);if(e(this._element).trigger(i),this._isShown&&!i.isDefaultPrevented()){this._isShown=!1;var r=s.supportsTransitionEnd()&&e(this._element).hasClass(h.FADE);r&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),e(document).off(l.FOCUSIN),e(this._element).removeClass(h.SHOW),e(this._element).off(l.CLICK_DISMISS),e(this._dialog).off(l.MOUSEDOWN_DISMISS),r?e(this._element).one(s.TRANSITION_END,function(t){return n._hideModal(t)}).emulateTransitionEnd(300):this._hideModal()}}},u.dispose=function(){e.removeData(this._element,"bs.modal"),e(window,document,this._element,this._backdrop).off(n),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._scrollbarWidth=null},u.handleUpdate=function(){this._adjustDialog()},u._getConfig=function(n){return n=e.extend({},o,n),s.typeCheckConfig(t,n,a),n},u._showElement=function(t){var n=this,i=s.supportsTransitionEnd()&&e(this._element).hasClass(h.FADE);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,i&&s.reflow(this._element),e(this._element).addClass(h.SHOW),this._config.focus&&this._enforceFocus();var r=e.Event(l.SHOWN,{relatedTarget:t}),o=function(){n._config.focus&&n._element.focus(),n._isTransitioning=!1,e(n._element).trigger(r)};i?e(this._dialog).one(s.TRANSITION_END,o).emulateTransitionEnd(300):o()},u._enforceFocus=function(){var t=this;e(document).off(l.FOCUSIN).on(l.FOCUSIN,function(n){document===n.target||t._element===n.target||e(t._element).has(n.target).length||t._element.focus()})},u._setEscapeEvent=function(){var t=this;this._isShown&&this._config.keyboard?e(this._element).on(l.KEYDOWN_DISMISS,function(e){27===e.which&&(e.preventDefault(),t.hide())}):this._isShown||e(this._element).off(l.KEYDOWN_DISMISS)},u._setResizeEvent=function(){var t=this;this._isShown?e(window).on(l.RESIZE,function(e){return t.handleUpdate(e)}):e(window).off(l.RESIZE)},u._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._isTransitioning=!1,this._showBackdrop(function(){e(document.body).removeClass(h.OPEN),t._resetAdjustments(),t._resetScrollbar(),e(t._element).trigger(l.HIDDEN)})},u._removeBackdrop=function(){this._backdrop&&(e(this._backdrop).remove(),this._backdrop=null)},u._showBackdrop=function(t){var n=this,i=e(this._element).hasClass(h.FADE)?h.FADE:"";if(this._isShown&&this._config.backdrop){var r=s.supportsTransitionEnd()&&i;if(this._backdrop=document.createElement("div"),this._backdrop.className=h.BACKDROP,i&&e(this._backdrop).addClass(i),e(this._backdrop).appendTo(document.body),e(this._element).on(l.CLICK_DISMISS,function(t){n._ignoreBackdropClick?n._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===n._config.backdrop?n._element.focus():n.hide())}),r&&s.reflow(this._backdrop),e(this._backdrop).addClass(h.SHOW),!t)return;if(!r)return void t();e(this._backdrop).one(s.TRANSITION_END,t).emulateTransitionEnd(150)}else if(!this._isShown&&this._backdrop){e(this._backdrop).removeClass(h.SHOW);var o=function(){n._removeBackdrop(),t&&t()};s.supportsTransitionEnd()&&e(this._element).hasClass(h.FADE)?e(this._backdrop).one(s.TRANSITION_END,o).emulateTransitionEnd(150):o()}else t&&t()},u._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},u._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},u._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},u._setScrollbar=function(){var t=this;if(this._isBodyOverflowing){e(c.FIXED_CONTENT).each(function(n,i){var s=e(i)[0].style.paddingRight,r=e(i).css("padding-right");e(i).data("padding-right",s).css("padding-right",parseFloat(r)+t._scrollbarWidth+"px")}),e(c.STICKY_CONTENT).each(function(n,i){var s=e(i)[0].style.marginRight,r=e(i).css("margin-right");e(i).data("margin-right",s).css("margin-right",parseFloat(r)-t._scrollbarWidth+"px")}),e(c.NAVBAR_TOGGLER).each(function(n,i){var s=e(i)[0].style.marginRight,r=e(i).css("margin-right");e(i).data("margin-right",s).css("margin-right",parseFloat(r)+t._scrollbarWidth+"px")});var n=document.body.style.paddingRight,i=e("body").css("padding-right");e("body").data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}},u._resetScrollbar=function(){e(c.FIXED_CONTENT).each(function(t,n){var i=e(n).data("padding-right");"undefined"!=typeof i&&e(n).css("padding-right",i).removeData("padding-right")}),e(c.STICKY_CONTENT+", "+c.NAVBAR_TOGGLER).each(function(t,n){var i=e(n).data("margin-right");"undefined"!=typeof i&&e(n).css("margin-right",i).removeData("margin-right")});var t=e("body").data("padding-right");"undefined"!=typeof t&&e("body").css("padding-right",t).removeData("padding-right")},u._getScrollbarWidth=function(){var t=document.createElement("div");t.className=h.SCROLLBAR_MEASURER,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},i._jQueryInterface=function(t,n){return this.each(function(){var s=e(this).data("bs.modal"),r=e.extend({},i.Default,e(this).data(),"object"==typeof t&&t);if(s||(s=new i(this,r),e(this).data("bs.modal",s)),"string"==typeof t){if("undefined"==typeof s[t])throw new Error('No method named "'+t+'"');s[t](n)}else r.show&&s.show(n)})},r(i,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}},{key:"Default",get:function(){return o}}]),i}();return e(document).on(l.CLICK_DATA_API,c.DATA_TOGGLE,function(t){var n,i=this,r=s.getSelectorFromElement(this);r&&(n=e(r)[0]);var o=e(n).data("bs.modal")?"toggle":e.extend({},e(n).data(),e(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var a=e(n).one(l.SHOW,function(t){t.isDefaultPrevented()||a.one(l.HIDDEN,function(){e(i).is(":visible")&&i.focus()})});u._jQueryInterface.call(e(n),o,this)}),e.fn[t]=u._jQueryInterface,e.fn[t].Constructor=u,e.fn[t].noConflict=function(){return e.fn[t]=i,u._jQueryInterface},u}(),f=function(){if("undefined"==typeof n)throw new Error("Bootstrap tooltips require Popper.js (https://popper.js.org)");var t="tooltip",i=".bs.tooltip",o=e.fn[t],a=new RegExp("(^|\\s)bs-tooltip\\S+","g"),l={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)"},h={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},c={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip"},u={SHOW:"show",OUT:"out"},d={HIDE:"hide"+i,HIDDEN:"hidden"+i,SHOW:"show"+i,SHOWN:"shown"+i,INSERTED:"inserted"+i,CLICK:"click"+i,FOCUSIN:"focusin"+i,FOCUSOUT:"focusout"+i,MOUSEENTER:"mouseenter"+i,MOUSELEAVE:"mouseleave"+i},f={FADE:"fade",SHOW:"show"},_={TOOLTIP:".tooltip",TOOLTIP_INNER:".tooltip-inner",ARROW:".arrow"},g={HOVER:"hover",FOCUS:"focus",CLICK:"click",MANUAL:"manual"},m=function(){function o(t,e){this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var m=o.prototype;return m.enable=function(){this._isEnabled=!0},m.disable=function(){this._isEnabled=!1},m.toggleEnabled=function(){this._isEnabled=!this._isEnabled},m.toggle=function(t){if(this._isEnabled)if(t){var n=this.constructor.DATA_KEY,i=e(t.currentTarget).data(n);i||(i=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(e(this.getTipElement()).hasClass(f.SHOW))return void this._leave(null,this);this._enter(null,this)}},m.dispose=function(){clearTimeout(this._timeout),e.removeData(this.element,this.constructor.DATA_KEY),e(this.element).off(this.constructor.EVENT_KEY),e(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&e(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,null!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},m.show=function(){var t=this;if("none"===e(this.element).css("display"))throw new Error("Please use show on visible elements");var i=e.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){e(this.element).trigger(i);var r=e.contains(this.element.ownerDocument.documentElement,this.element);if(i.isDefaultPrevented()||!r)return;var a=this.getTipElement(),l=s.getUID(this.constructor.NAME);a.setAttribute("id",l),this.element.setAttribute("aria-describedby",l),this.setContent(),this.config.animation&&e(a).addClass(f.FADE);var h="function"==typeof this.config.placement?this.config.placement.call(this,a,this.element):this.config.placement,c=this._getAttachment(h);this.addAttachmentClass(c);var d=!1===this.config.container?document.body:e(this.config.container);e(a).data(this.constructor.DATA_KEY,this),e.contains(this.element.ownerDocument.documentElement,this.tip)||e(a).appendTo(d),e(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new n(this.element,a,{placement:c,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:_.ARROW}},onCreate:function(e){e.originalPlacement!==e.placement&&t._handlePopperPlacementChange(e)},onUpdate:function(e){t._handlePopperPlacementChange(e)}}),e(a).addClass(f.SHOW),"ontouchstart"in document.documentElement&&e("body").children().on("mouseover",null,e.noop);var g=function(){t.config.animation&&t._fixTransition();var n=t._hoverState;t._hoverState=null,e(t.element).trigger(t.constructor.Event.SHOWN),n===u.OUT&&t._leave(null,t)};s.supportsTransitionEnd()&&e(this.tip).hasClass(f.FADE)?e(this.tip).one(s.TRANSITION_END,g).emulateTransitionEnd(o._TRANSITION_DURATION):g()}},m.hide=function(t){var n=this,i=this.getTipElement(),r=e.Event(this.constructor.Event.HIDE),o=function(){n._hoverState!==u.SHOW&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),e(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),t&&t()};e(this.element).trigger(r),r.isDefaultPrevented()||(e(i).removeClass(f.SHOW),"ontouchstart"in document.documentElement&&e("body").children().off("mouseover",null,e.noop),this._activeTrigger[g.CLICK]=!1,this._activeTrigger[g.FOCUS]=!1,this._activeTrigger[g.HOVER]=!1,s.supportsTransitionEnd()&&e(this.tip).hasClass(f.FADE)?e(i).one(s.TRANSITION_END,o).emulateTransitionEnd(150):o(),this._hoverState="")},m.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},m.isWithContent=function(){return Boolean(this.getTitle())},m.addAttachmentClass=function(t){e(this.getTipElement()).addClass("bs-tooltip-"+t)},m.getTipElement=function(){return this.tip=this.tip||e(this.config.template)[0],this.tip},m.setContent=function(){var t=e(this.getTipElement());this.setElementContent(t.find(_.TOOLTIP_INNER),this.getTitle()),t.removeClass(f.FADE+" "+f.SHOW)},m.setElementContent=function(t,n){var i=this.config.html;"object"==typeof n&&(n.nodeType||n.jquery)?i?e(n).parent().is(t)||t.empty().append(n):t.text(e(n).text()):t[i?"html":"text"](n)},m.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},m._getAttachment=function(t){return h[t.toUpperCase()]},m._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach(function(n){if("click"===n)e(t.element).on(t.constructor.Event.CLICK,t.config.selector,function(e){return t.toggle(e)});else if(n!==g.MANUAL){var i=n===g.HOVER?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,s=n===g.HOVER?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;e(t.element).on(i,t.config.selector,function(e){return t._enter(e)}).on(s,t.config.selector,function(e){return t._leave(e)})}e(t.element).closest(".modal").on("hide.bs.modal",function(){return t.hide()})}),this.config.selector?this.config=e.extend({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},m._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},m._enter=function(t,n){var i=this.constructor.DATA_KEY;(n=n||e(t.currentTarget).data(i))||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(i,n)),t&&(n._activeTrigger["focusin"===t.type?g.FOCUS:g.HOVER]=!0),e(n.getTipElement()).hasClass(f.SHOW)||n._hoverState===u.SHOW?n._hoverState=u.SHOW:(clearTimeout(n._timeout),n._hoverState=u.SHOW,n.config.delay&&n.config.delay.show?n._timeout=setTimeout(function(){n._hoverState===u.SHOW&&n.show()},n.config.delay.show):n.show())},m._leave=function(t,n){var i=this.constructor.DATA_KEY;(n=n||e(t.currentTarget).data(i))||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(i,n)),t&&(n._activeTrigger["focusout"===t.type?g.FOCUS:g.HOVER]=!1),n._isWithActiveTrigger()||(clearTimeout(n._timeout),n._hoverState=u.OUT,n.config.delay&&n.config.delay.hide?n._timeout=setTimeout(function(){n._hoverState===u.OUT&&n.hide()},n.config.delay.hide):n.hide())},m._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},m._getConfig=function(n){return"number"==typeof(n=e.extend({},this.constructor.Default,e(this.element).data(),n)).delay&&(n.delay={show:n.delay,hide:n.delay}),"number"==typeof n.title&&(n.title=n.title.toString()),"number"==typeof n.content&&(n.content=n.content.toString()),s.typeCheckConfig(t,n,this.constructor.DefaultType),n},m._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},m._cleanTipClass=function(){var t=e(this.getTipElement()),n=t.attr("class").match(a);null!==n&&n.length>0&&t.removeClass(n.join(""))},m._handlePopperPlacementChange=function(t){this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},m._fixTransition=function(){var t=this.getTipElement(),n=this.config.animation;null===t.getAttribute("x-placement")&&(e(t).removeClass(f.FADE),this.config.animation=!1,this.hide(),this.show(),this.config.animation=n)},o._jQueryInterface=function(t){return this.each(function(){var n=e(this).data("bs.tooltip"),i="object"==typeof t&&t;if((n||!/dispose|hide/.test(t))&&(n||(n=new o(this,i),e(this).data("bs.tooltip",n)),"string"==typeof t)){if("undefined"==typeof n[t])throw new Error('No method named "'+t+'"');n[t]()}})},r(o,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}},{key:"Default",get:function(){return c}},{key:"NAME",get:function(){return t}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return d}},{key:"EVENT_KEY",get:function(){return i}},{key:"DefaultType",get:function(){return l}}]),o}();return e.fn[t]=m._jQueryInterface,e.fn[t].Constructor=m,e.fn[t].noConflict=function(){return e.fn[t]=o,m._jQueryInterface},m}(),_=function(){var t="popover",n=".bs.popover",i=e.fn[t],s=new RegExp("(^|\\s)bs-popover\\S+","g"),a=e.extend({},f.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),l=e.extend({},f.DefaultType,{content:"(string|element|function)"}),h={FADE:"fade",SHOW:"show"},c={TITLE:".popover-header",CONTENT:".popover-body"},u={HIDE:"hide"+n,HIDDEN:"hidden"+n,SHOW:"show"+n,SHOWN:"shown"+n,INSERTED:"inserted"+n,CLICK:"click"+n,FOCUSIN:"focusin"+n,FOCUSOUT:"focusout"+n,MOUSEENTER:"mouseenter"+n,MOUSELEAVE:"mouseleave"+n},d=function(i){function d(){return i.apply(this,arguments)||this}o(d,i);var f=d.prototype;return f.isWithContent=function(){return this.getTitle()||this._getContent()},f.addAttachmentClass=function(t){e(this.getTipElement()).addClass("bs-popover-"+t)},f.getTipElement=function(){return this.tip=this.tip||e(this.config.template)[0],this.tip},f.setContent=function(){var t=e(this.getTipElement());this.setElementContent(t.find(c.TITLE),this.getTitle()),this.setElementContent(t.find(c.CONTENT),this._getContent()),t.removeClass(h.FADE+" "+h.SHOW)},f._getContent=function(){return this.element.getAttribute("data-content")||("function"==typeof this.config.content?this.config.content.call(this.element):this.config.content)},f._cleanTipClass=function(){var t=e(this.getTipElement()),n=t.attr("class").match(s);null!==n&&n.length>0&&t.removeClass(n.join(""))},d._jQueryInterface=function(t){return this.each(function(){var n=e(this).data("bs.popover"),i="object"==typeof t?t:null;if((n||!/destroy|hide/.test(t))&&(n||(n=new d(this,i),e(this).data("bs.popover",n)),"string"==typeof t)){if("undefined"==typeof n[t])throw new Error('No method named "'+t+'"');n[t]()}})},r(d,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}},{key:"Default",get:function(){return a}},{key:"NAME",get:function(){return t}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return u}},{key:"EVENT_KEY",get:function(){return n}},{key:"DefaultType",get:function(){return l}}]),d}(f);return e.fn[t]=d._jQueryInterface,e.fn[t].Constructor=d,e.fn[t].noConflict=function(){return e.fn[t]=i,d._jQueryInterface},d}(),g=function(){var t="scrollspy",n=e.fn[t],i={offset:10,method:"auto",target:""},o={offset:"number",method:"string",target:"(string|element)"},a={ACTIVATE:"activate.bs.scrollspy",SCROLL:"scroll.bs.scrollspy",LOAD_DATA_API:"load.bs.scrollspy.data-api"},l={DROPDOWN_ITEM:"dropdown-item",DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active"},h={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},c={OFFSET:"offset",POSITION:"position"},u=function(){function n(t,n){var i=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(n),this._selector=this._config.target+" "+h.NAV_LINKS+","+this._config.target+" "+h.LIST_ITEMS+","+this._config.target+" "+h.DROPDOWN_ITEMS,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,e(this._scrollElement).on(a.SCROLL,function(t){return i._process(t)}),this.refresh(),this._process()}var u=n.prototype;return u.refresh=function(){var t=this,n=this._scrollElement!==this._scrollElement.window?c.POSITION:c.OFFSET,i="auto"===this._config.method?n:this._config.method,r=i===c.POSITION?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),e.makeArray(e(this._selector)).map(function(t){var n,o=s.getSelectorFromElement(t);if(o&&(n=e(o)[0]),n){var a=n.getBoundingClientRect();if(a.width||a.height)return[e(n)[i]().top+r,o]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(e){t._offsets.push(e[0]),t._targets.push(e[1])})},u.dispose=function(){e.removeData(this._element,"bs.scrollspy"),e(this._scrollElement).off(".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},u._getConfig=function(n){if("string"!=typeof(n=e.extend({},i,n)).target){var r=e(n.target).attr("id");r||(r=s.getUID(t),e(n.target).attr("id",r)),n.target="#"+r}return s.typeCheckConfig(t,n,o),n},u._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},u._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},u._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},u._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var s=this._offsets.length;s--;)this._activeTarget!==this._targets[s]&&t>=this._offsets[s]&&("undefined"==typeof this._offsets[s+1]||t<this._offsets[s+1])&&this._activate(this._targets[s])}},u._activate=function(t){this._activeTarget=t,this._clear();var n=this._selector.split(",");n=n.map(function(e){return e+'[data-target="'+t+'"],'+e+'[href="'+t+'"]'});var i=e(n.join(","));i.hasClass(l.DROPDOWN_ITEM)?(i.closest(h.DROPDOWN).find(h.DROPDOWN_TOGGLE).addClass(l.ACTIVE),i.addClass(l.ACTIVE)):(i.addClass(l.ACTIVE),i.parents(h.NAV_LIST_GROUP).prev(h.NAV_LINKS+", "+h.LIST_ITEMS).addClass(l.ACTIVE),i.parents(h.NAV_LIST_GROUP).prev(h.NAV_ITEMS).children(h.NAV_LINKS).addClass(l.ACTIVE)),e(this._scrollElement).trigger(a.ACTIVATE,{relatedTarget:t})},u._clear=function(){e(this._selector).filter(h.ACTIVE).removeClass(l.ACTIVE)},n._jQueryInterface=function(t){return this.each(function(){var i=e(this).data("bs.scrollspy"),s="object"==typeof t&&t;if(i||(i=new n(this,s),e(this).data("bs.scrollspy",i)),"string"==typeof t){if("undefined"==typeof i[t])throw new Error('No method named "'+t+'"');i[t]()}})},r(n,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}},{key:"Default",get:function(){return i}}]),n}();return e(window).on(a.LOAD_DATA_API,function(){for(var t=e.makeArray(e(h.DATA_SPY)),n=t.length;n--;){var i=e(t[n]);u._jQueryInterface.call(i,i.data())}}),e.fn[t]=u._jQueryInterface,e.fn[t].Constructor=u,e.fn[t].noConflict=function(){return e.fn[t]=n,u._jQueryInterface},u}(),m=function(){var t=e.fn.tab,n={HIDE:"hide.bs.tab",HIDDEN:"hidden.bs.tab",SHOW:"show.bs.tab",SHOWN:"shown.bs.tab",CLICK_DATA_API:"click.bs.tab.data-api"},i={DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active",DISABLED:"disabled",FADE:"fade",SHOW:"show"},o={DROPDOWN:".dropdown",NAV_LIST_GROUP:".nav, .list-group",ACTIVE:".active",ACTIVE_UL:"> li > .active",DATA_TOGGLE:'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',DROPDOWN_TOGGLE:".dropdown-toggle",DROPDOWN_ACTIVE_CHILD:"> .dropdown-menu .active"},a=function(){function t(t){this._element=t}var a=t.prototype;return a.show=function(){var t=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&e(this._element).hasClass(i.ACTIVE)||e(this._element).hasClass(i.DISABLED))){var r,a,l=e(this._element).closest(o.NAV_LIST_GROUP)[0],h=s.getSelectorFromElement(this._element);if(l){var c="UL"===l.nodeName?o.ACTIVE_UL:o.ACTIVE;a=e.makeArray(e(l).find(c)),a=a[a.length-1]}var u=e.Event(n.HIDE,{relatedTarget:this._element}),d=e.Event(n.SHOW,{relatedTarget:a});if(a&&e(a).trigger(u),e(this._element).trigger(d),!d.isDefaultPrevented()&&!u.isDefaultPrevented()){h&&(r=e(h)[0]),this._activate(this._element,l);var f=function(){var i=e.Event(n.HIDDEN,{relatedTarget:t._element}),s=e.Event(n.SHOWN,{relatedTarget:a});e(a).trigger(i),e(t._element).trigger(s)};r?this._activate(r,r.parentNode,f):f()}}},a.dispose=function(){e.removeData(this._element,"bs.tab"),this._element=null},a._activate=function(t,n,r){var a,l=this,h=(a="UL"===n.nodeName?e(n).find(o.ACTIVE_UL):e(n).children(o.ACTIVE))[0],c=r&&s.supportsTransitionEnd()&&h&&e(h).hasClass(i.FADE),u=function(){return l._transitionComplete(t,h,c,r)};h&&c?e(h).one(s.TRANSITION_END,u).emulateTransitionEnd(150):u(),h&&e(h).removeClass(i.SHOW)},a._transitionComplete=function(t,n,r,a){if(n){e(n).removeClass(i.ACTIVE);var l=e(n.parentNode).find(o.DROPDOWN_ACTIVE_CHILD)[0];l&&e(l).removeClass(i.ACTIVE),"tab"===n.getAttribute("role")&&n.setAttribute("aria-selected",!1)}if(e(t).addClass(i.ACTIVE),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),r?(s.reflow(t),e(t).addClass(i.SHOW)):e(t).removeClass(i.FADE),t.parentNode&&e(t.parentNode).hasClass(i.DROPDOWN_MENU)){var h=e(t).closest(o.DROPDOWN)[0];h&&e(h).find(o.DROPDOWN_TOGGLE).addClass(i.ACTIVE),t.setAttribute("aria-expanded",!0)}a&&a()},t._jQueryInterface=function(n){return this.each(function(){var i=e(this),s=i.data("bs.tab");if(s||(s=new t(this),i.data("bs.tab",s)),"string"==typeof n){if("undefined"==typeof s[n])throw new Error('No method named "'+n+'"');s[n]()}})},r(t,null,[{key:"VERSION",get:function(){return"4.0.0-beta.2"}}]),t}();return e(document).on(n.CLICK_DATA_API,o.DATA_TOGGLE,function(t){t.preventDefault(),a._jQueryInterface.call(e(this),"show")}),e.fn.tab=a._jQueryInterface,e.fn.tab.Constructor=a,e.fn.tab.noConflict=function(){return e.fn.tab=t,a._jQueryInterface},a}();return function(){if("undefined"==typeof e)throw new Error("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=e.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||t[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(),t.Util=s,t.Alert=a,t.Button=l,t.Carousel=h,t.Collapse=c,t.Dropdown=u,t.Modal=d,t.Popover=_,t.Scrollspy=g,t.Tab=m,t.Tooltip=f,t}({},$,Popper); +//# sourceMappingURL=bootstrap.min.js.map \ No newline at end of file diff --git a/workspace/public/js/bootstrap.min.js.map b/workspace/public/js/bootstrap.min.js.map new file mode 100644 index 0000000..613897d --- /dev/null +++ b/workspace/public/js/bootstrap.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/index.js"],"names":["Util","toType","obj","toString","call","match","toLowerCase","getSpecialTransitionEndEvent","transition","end","event","$","target","is","this","handleObj","handler","apply","arguments","transitionEndTest","window","QUnit","el","document","createElement","name","TransitionEndEvent","style","transitionEndEmulator","duration","called","one","TRANSITION_END","triggerTransitionEnd","_this","prefix","Math","random","getElementById","element","selector","getAttribute","find","length","error","offsetHeight","trigger","Boolean","nodeType","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","isElement","RegExp","test","Error","toUpperCase","fn","emulateTransitionEnd","supportsTransitionEnd","special","Alert","NAME","JQUERY_NO_CONFLICT","Event","ClassName","_element","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","getSelectorFromElement","parent","closest","ALERT","closeEvent","CLOSE","removeClass","SHOW","hasClass","FADE","_destroyElement","detach","CLOSED","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","CLICK_DATA_API","DISMISS","Constructor","noConflict","Button","Selector","toggle","triggerChangeEvent","addAriaPressed","DATA_TOGGLE","input","INPUT","type","checked","ACTIVE","activeElement","hasAttribute","classList","contains","focus","setAttribute","toggleClass","DATA_TOGGLE_CARROT","button","BUTTON","FOCUS_BLUR_DATA_API","FOCUS","Carousel","DATA_KEY","EVENT_KEY","Default","DefaultType","Direction","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","_config","_getConfig","_indicatorsElement","INDICATORS","_addEventListeners","next","_slide","NEXT","nextWhenVisible","hidden","css","prev","PREV","pause","NEXT_PREV","cycle","interval","setInterval","visibilityState","bind","to","index","ACTIVE_ITEM","activeIndex","_getItemIndex","SLID","direction","off","extend","typeCheckConfig","keyboard","KEYDOWN","_this2","_keydown","MOUSEENTER","MOUSELEAVE","documentElement","TOUCHEND","setTimeout","tagName","which","makeArray","ITEM","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","wrap","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","SLIDE","_setActiveIndicatorElement","nextIndicator","children","addClass","directionalClassName","orderClassName","activeElementIndex","nextElement","nextElementIndex","isCycling","LEFT","RIGHT","slidEvent","reflow","_this3","action","slide","_dataApiClickHandler","CAROUSEL","slideIndex","DATA_SLIDE","LOAD_DATA_API","DATA_RIDE","$carousel","Collapse","Dimension","_isTransitioning","_triggerArray","id","tabToggles","i","elem","filter","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","ACTIVES","startEvent","dimension","_getDimension","COLLAPSE","COLLAPSING","COLLAPSED","attr","setTransitioning","complete","SHOWN","scrollSize","slice","HIDE","getBoundingClientRect","HIDDEN","isTransitioning","WIDTH","HEIGHT","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","$target","Dropdown","Popper","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","AttachmentMap","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","DISABLED","_getParentFromElement","isActive","_clearMenus","showEvent","DROPUP","MENULEFT","MENURIGHT","_getPopperConfig","NAVBAR_NAV","noop","destroy","update","scheduleUpdate","CLICK","stopPropagation","constructor","MENU","_getPlacement","$parentDropdown","placement","BOTTOM","TOP","TOPEND","BOTTOMEND","offsetConf","offset","offsets","popperConfig","flip","modifiers","applyStyle","toggles","context","dropdownMenu","hideEvent","parentNode","_dataApiKeydownHandler","items","VISIBLE_ITEMS","get","KEYDOWN_DATA_API","KEYUP_DATA_API","FORM_CHILD","e","Modal","_dialog","DIALOG","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_originalBodyPadding","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","body","OPEN","_setEscapeEvent","_setResizeEvent","CLICK_DISMISS","DATA_DISMISS","MOUSEDOWN_DISMISS","MOUSEUP_DISMISS","_showBackdrop","_showElement","FOCUSIN","_hideModal","handleUpdate","Node","ELEMENT_NODE","appendChild","display","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","_this4","has","KEYDOWN_DISMISS","RESIZE","_this6","_resetAdjustments","_resetScrollbar","_this7","_removeBackdrop","callback","animate","backdrop","doAnimate","className","BACKDROP","appendTo","_this8","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","left","right","innerWidth","_getScrollbarWidth","FIXED_CONTENT","actualPadding","calculatedPadding","parseFloat","_this9","STICKY_CONTENT","actualMargin","marginRight","calculatedMargin","NAVBAR_TOGGLER","padding","margin","scrollDiv","SCROLLBAR_MEASURER","scrollbarWidth","width","clientWidth","removeChild","Tooltip","BSCLS_PREFIX_REGEX","HoverState","Trigger","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","isInTheDom","ownerDocument","tipId","getUID","setContent","animation","attachment","_getAttachment","addAttachmentClass","container","INSERTED","fallbackPlacement","ARROW","originalPlacement","_handlePopperPlacementChange","_fixTransition","prevHoverState","OUT","_TRANSITION_DURATION","_cleanTipClass","HOVER","getTitle","CLASS_PREFIX","template","$tip","setElementContent","TOOLTIP_INNER","content","html","empty","append","text","title","split","forEach","MANUAL","eventIn","eventOut","FOCUSOUT","_fixTitle","titleType","delay","key","tabClass","join","initConfigAnimation","Popover","_getContent","TITLE","CONTENT","ScrollSpy","OffsetMethod","_scrollElement","_selector","NAV_LINKS","LIST_ITEMS","DROPDOWN_ITEMS","_offsets","_targets","_activeTarget","_scrollHeight","SCROLL","_process","refresh","autoMethod","POSITION","OFFSET","offsetMethod","method","offsetBase","_getScrollTop","_getScrollHeight","map","targetSelector","targetBCR","height","top","item","sort","a","b","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","$link","DROPDOWN_ITEM","DROPDOWN","DROPDOWN_TOGGLE","parents","NAV_LIST_GROUP","NAV_ITEMS","ACTIVATE","scrollSpys","DATA_SPY","$spy","Tab","previous","listElement","itemSelector","nodeName","ACTIVE_UL","hiddenEvent","activeElements","active","_transitionComplete","dropdownChild","DROPDOWN_ACTIVE_CHILD","DROPDOWN_MENU","dropdownElement","version"],"mappings":"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","sourcesContent":["import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n let transition = false\n\n const MAX_UID = 1000000\n\n const TransitionEndEvent = {\n WebkitTransition : 'webkitTransitionEnd',\n MozTransition : 'transitionend',\n OTransition : 'oTransitionEnd otransitionend',\n transition : 'transitionend'\n }\n\n // shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-zA-Z]+)/)[1].toLowerCase()\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: transition.end,\n delegateType: transition.end,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n }\n\n function transitionEndTest() {\n if (window.QUnit) {\n return false\n }\n\n const el = document.createElement('bootstrap')\n\n for (const name in TransitionEndEvent) {\n if (typeof el.style[name] !== 'undefined') {\n return {\n end: TransitionEndEvent[name]\n }\n }\n }\n\n return false\n }\n\n function transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n }\n\n function setTransitionEndSupport() {\n transition = transitionEndTest()\n\n $.fn.emulateTransitionEnd = transitionEndEmulator\n\n if (Util.supportsTransitionEnd()) {\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n }\n }\n\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n const Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n if (!selector || selector === '#') {\n selector = element.getAttribute('href') || ''\n }\n\n try {\n const $selector = $(document).find(selector)\n return $selector.length > 0 ? selector : null\n } catch (error) {\n return null\n }\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(transition.end)\n },\n\n supportsTransitionEnd() {\n return Boolean(transition)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value) ?\n 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n }\n\n setTransitionEndSupport()\n\n return Util\n\n})($)\n\nexport default Util\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'alert'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.alert'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n\n const Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n }\n\n const Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Alert {\n\n constructor(element) {\n this._element = element\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n\n // public\n\n close(element) {\n element = element || this._element\n\n const rootElement = this._getRootElement(element)\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n\n // private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!Util.supportsTransitionEnd() ||\n !$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n )\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n }\n\n return Alert\n\n})($)\n\nexport default Alert\n","import $ from 'jquery'\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'button'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.button'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n }\n\n const Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n }\n\n const Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} `\n + `blur${EVENT_KEY}${DATA_API_KEY}`\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Button {\n\n constructor(element) {\n this._element = element\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n\n // public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = $(this._element).find(Selector.INPUT)[0]\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n $(this._element).hasClass(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n\n } else {\n const activeElement = $(rootElement).find(Selector.ACTIVE)[0]\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !$(this._element).hasClass(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !$(this._element).hasClass(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Button._jQueryInterface\n $.fn[NAME].Constructor = Button\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n }\n\n return Button\n\n})($)\n\nexport default Button\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.carousel'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 600\n const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\n const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\n const TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\n const Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true\n }\n\n const DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean'\n }\n\n const Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n }\n\n const Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item'\n }\n\n const Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n\n this._isPaused = false\n this._isSliding = false\n\n this.touchTimeout = null\n\n this._config = this._getConfig(config)\n this._element = $(element)[0]\n this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]\n\n this._addEventListeners()\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n\n // public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if ($(this._element).find(Selector.NEXT_PREV)[0] &&\n Util.supportsTransitionEnd()) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n Direction.NEXT :\n Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n if ('ontouchstart' in document.documentElement) {\n // if it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n $(this._element).on(Event.TOUCHEND, () => {\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n })\n }\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n return\n }\n }\n\n _getItemIndex(element) {\n this._items = $.makeArray($(element).parent().find(Selector.ITEM))\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0])\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n $(this._indicatorsElement)\n .find(Selector.ACTIVE)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.SLIDE)) {\n\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n\n })\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = $.extend({}, Default, $(this).data())\n\n if (typeof config === 'object') {\n $.extend(_config, config)\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new Error(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = $.extend({}, $(target).data(), $(this).data())\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n $(window).on(Event.LOAD_DATA_API, () => {\n $(Selector.DATA_RIDE).each(function () {\n const $carousel = $(this)\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n })\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n }\n\n return Carousel\n\n})($)\n\nexport default Carousel\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'collapse'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.collapse'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 600\n\n const Default = {\n toggle : true,\n parent : ''\n }\n\n const DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n }\n\n const Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n }\n\n const Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n }\n\n const Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Collapse {\n\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray($(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n const tabToggles = $(Selector.DATA_TOGGLE)\n for (let i = 0; i < tabToggles.length; i++) {\n const elem = tabToggles[i]\n const selector = Util.getSelectorFromElement(elem)\n if (selector !== null && $(selector).filter(element).length > 0) {\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n\n // public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = $.makeArray($(this._parent).children().children(Selector.ACTIVES))\n if (!actives.length) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n if (this._triggerArray.length) {\n for (let i = 0; i < this._triggerArray.length; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n if (selector !== null) {\n const $elem = $(selector)\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n config.toggle = Boolean(config.toggle) // coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent = null\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // it's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = $(this._config.parent)[0]\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n $(parent).find(selector).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n }\n\n\n // static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? $(selector)[0] : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = $.extend(\n {},\n Default,\n $this.data(),\n typeof config === 'object' && config\n )\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n $(selector).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Collapse._jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n }\n\n return Collapse\n\n})($)\n\nexport default Collapse\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (() => {\n\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new Error('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n }\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\n const TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\n const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\n const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\n const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left'\n }\n\n const Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled)'\n }\n\n const AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end'\n }\n\n const Default = {\n offset : 0,\n flip : true\n }\n\n const DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Dropdown {\n\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget : this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n let element = this._element\n // for dropup with alignment we use the parent as popper container\n if ($(parent).hasClass(ClassName.DROPUP)) {\n if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {\n element = parent\n }\n }\n this._popper = new Popper(element, this._menu, this._getPopperConfig())\n\n // if this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !$(parent).closest(Selector.NAVBAR_NAV).length) {\n $('body').children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n this._popper = null\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = $.extend(\n {},\n this.constructor.Default,\n $(this._element).data(),\n config\n )\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n this._menu = $(parent).find(Selector.MENU)[0]\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element).parent()\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = $.extend({}, data.offsets, this._config.offset(data.offsets) || {})\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n const popperConfig = {\n placement : this._getPlacement(),\n modifiers : {\n offset : offsetConf,\n flip : {\n enabled : this._config.flip\n }\n }\n }\n\n // Disable Popper.js for Dropdown in Navbar\n if (this._inNavbar) {\n popperConfig.modifiers.applyStyle = {\n enabled: !this._inNavbar\n }\n }\n return popperConfig\n }\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = $.makeArray($(Selector.DATA_TOGGLE))\n for (let i = 0; i < toggles.length; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget : toggles[i]\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE)\n && $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // if this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $('body').children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n return parent || element.parentNode\n }\n\n static _dataApiKeydownHandler(event) {\n if (!REGEXP_KEYDOWN.test(event.which) || /button/i.test(event.target.tagName) && event.which === SPACE_KEYCODE ||\n /input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = $(parent).find(Selector.DATA_TOGGLE)[0]\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = $(parent).find(Selector.VISIBLE_ITEMS).get()\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n }\n\n return Dropdown\n\n})($, Popper)\n\nexport default Dropdown\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'modal'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.modal'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 300\n const BACKDROP_TRANSITION_DURATION = 150\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\n const Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n }\n\n const DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top',\n NAVBAR_TOGGLER : '.navbar-toggler'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Modal {\n\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = $(element).find(Selector.DIALOG)[0]\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._originalBodyPadding = 0\n this._scrollbarWidth = 0\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n\n // public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isTransitioning || this._isShown) {\n return\n }\n\n if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n $(document.body).addClass(ClassName.OPEN)\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (this._isTransitioning || !this._isShown) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n\n const transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n $(window, document, this._element, this._backdrop).off(EVENT_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // don't move modals dom position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n !$(this._element).has(event.target).length) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE) ?\n ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n const doAnimate = Util.supportsTransitionEnd() && animate\n\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n $(this._backdrop).addClass(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (doAnimate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!doAnimate) {\n callback()\n return\n }\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)) {\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n } else {\n callbackRemove()\n }\n\n } else if (callback) {\n callback()\n }\n }\n\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const actualPadding = $(element)[0].style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element).data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(Selector.STICKY_CONTENT).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust navbar-toggler margin\n $(Selector.NAVBAR_TOGGLER).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) + this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $('body').css('padding-right')\n $('body').data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const padding = $(element).data('padding-right')\n if (typeof padding !== 'undefined') {\n $(element).css('padding-right', padding).removeData('padding-right')\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n $(`${Selector.STICKY_CONTENT}, ${Selector.NAVBAR_TOGGLER}`).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $('body').data('padding-right')\n if (typeof padding !== 'undefined') {\n $('body').css('padding-right', padding).removeData('padding-right')\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n\n // static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = $.extend(\n {},\n Modal.Default,\n $(this).data(),\n typeof config === 'object' && config\n )\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = $(selector)[0]\n }\n\n const config = $(target).data(DATA_KEY) ?\n 'toggle' : $.extend({}, $(target).data(), $(this).data())\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Modal._jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n }\n\n return Modal\n\n})($)\n\nexport default Modal\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tooltip = (() => {\n\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new Error('Bootstrap tooltips require Popper.js (https://popper.js.org)')\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tooltip'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.tooltip'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n const CLASS_PREFIX = 'bs-tooltip'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)'\n }\n\n const AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n }\n\n const Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">'\n + '<div class=\"arrow\"></div>'\n + '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip'\n }\n\n const HoverState = {\n SHOW : 'show',\n OUT : 'out'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n }\n\n const Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tooltip {\n\n constructor(element, config) {\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n\n // public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n\n } else {\n\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate : (data) => {\n this._handlePopperPlacementChange(data)\n }\n })\n\n $(tip).addClass(ClassName.SHOW)\n\n // if this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $('body').children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(Tooltip._TRANSITION_DURATION)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // if this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $('body').children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (Util.supportsTransitionEnd() &&\n $(this.tip).hasClass(ClassName.FADE)) {\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n } else {\n complete()\n }\n\n this._hoverState = ''\n\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle())\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n\n // private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => this.hide()\n )\n })\n\n if (this.config.selector) {\n this.config = $.extend({}, this.config, {\n trigger : 'manual',\n selector : ''\n })\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n if (this.element.getAttribute('title') ||\n titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = $.extend(\n {},\n this.constructor.Default,\n $(this.element).data(),\n config\n )\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show : config.delay,\n hide : config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(data) {\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(data.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tooltip._jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n }\n\n return Tooltip\n\n})($, Popper)\n\nexport default Tooltip\n","import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'popover'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.popover'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-popover'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const Default = $.extend({}, Tooltip.Default, {\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">'\n + '<div class=\"arrow\"></div>'\n + '<h3 class=\"popover-header\"></h3>'\n + '<div class=\"popover-body\"></div></div>'\n })\n\n const DefaultType = $.extend({}, Tooltip.DefaultType, {\n content : '(string|element|function)'\n })\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Popover extends Tooltip {\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n\n // overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // we use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n this.setElementContent($tip.find(Selector.CONTENT), this._getContent())\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // private\n\n _getContent() {\n return this.element.getAttribute('data-content')\n || (typeof this.config.content === 'function' ?\n this.config.content.call(this.element) :\n this.config.content)\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /destroy|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Popover._jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n }\n\n return Popover\n\n})($)\n\nexport default Popover\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst ScrollSpy = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'scrollspy'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.scrollspy'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n offset : 10,\n method : 'auto',\n target : ''\n }\n\n const DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n }\n\n const Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n }\n\n const Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n }\n\n const OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class ScrollSpy {\n\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},`\n + `${this._config.target} ${Selector.LIST_ITEMS},`\n + `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n\n // public\n\n refresh() {\n const autoMethod = this._scrollElement !== this._scrollElement.window ?\n OffsetMethod.POSITION : OffsetMethod.OFFSET\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = $.makeArray($(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = $(targetSelector)[0]\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // todo (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset\n + scrollHeight\n - this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i]\n && scrollTop >= this._offsets[i]\n && (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n let queries = this._selector.split(',')\n // eslint-disable-next-line arrow-body-style\n queries = queries.map((selector) => {\n return `${selector}[data-target=\"${target}\"],` +\n `${selector}[href=\"${target}\"]`\n })\n\n const $link = $(queries.join(','))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE)\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = $.makeArray($(Selector.DATA_SPY))\n\n for (let i = scrollSpys.length; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = ScrollSpy._jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n }\n\n return ScrollSpy\n\n})($)\n\nexport default ScrollSpy\n","import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tab = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tab'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.tab'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DROPDOWN : '.dropdown',\n NAV_LIST_GROUP : '.nav, .list-group',\n ACTIVE : '.active',\n ACTIVE_UL : '> li > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tab {\n\n constructor(element) {\n this._element = element\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n\n // public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = $(selector)[0]\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n\n // private\n\n _activate(element, container, callback) {\n let activeElements\n if (container.nodeName === 'UL') {\n activeElements = $(container).find(Selector.ACTIVE_UL)\n } else {\n activeElements = $(container).children(Selector.ACTIVE)\n }\n\n const active = activeElements[0]\n const isTransitioning = callback\n && Util.supportsTransitionEnd()\n && (active && $(active).hasClass(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n isTransitioning,\n callback\n )\n\n if (active && isTransitioning) {\n $(active)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n } else {\n complete()\n }\n\n if (active) {\n $(active).removeClass(ClassName.SHOW)\n }\n }\n\n _transitionComplete(element, active, isTransitioning, callback) {\n if (active) {\n $(active).removeClass(ClassName.ACTIVE)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n if (isTransitioning) {\n Util.reflow(element)\n $(element).addClass(ClassName.SHOW)\n } else {\n $(element).removeClass(ClassName.FADE)\n }\n\n if (element.parentNode &&\n $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n if (dropdownElement) {\n $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tab._jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n }\n\n return Tab\n\n})($)\n\nexport default Tab\n","import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(() => {\n if (typeof $ === 'undefined') {\n throw new Error('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n})($)\n\nexport {\n Util,\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n Scrollspy,\n Tab,\n Tooltip\n}\n"]} \ No newline at end of file diff --git a/workspace/public/js/contact_me.js b/workspace/public/js/contact_me.js new file mode 100644 index 0000000..6e91590 --- /dev/null +++ b/workspace/public/js/contact_me.js @@ -0,0 +1,75 @@ +$(function() { + + $("#contactForm input,#contactForm textarea").jqBootstrapValidation({ + preventSubmit: true, + submitError: function($form, event, errors) { + // additional error messages or events + }, + submitSuccess: function($form, event) { + event.preventDefault(); // prevent default submit behaviour + // get values from FORM + var name = $("input#name").val(); + var email = $("input#email").val(); + var phone = $("input#phone").val(); + var message = $("textarea#message").val(); + var firstName = name; // For Success/Failure Message + // Check for white space in name for Success/Fail message + if (firstName.indexOf(' ') >= 0) { + firstName = name.split(' ').slice(0, -1).join(' '); + } + $this = $("#sendMessageButton"); + $this.prop("disabled", true); // Disable submit button until AJAX call is complete to prevent duplicate messages + $.ajax({ + url: "././mail/contact_me.php", + type: "POST", + data: { + name: name, + phone: phone, + email: email, + message: message + }, + cache: false, + success: function() { + // Success message + $('#success').html("<div class='alert alert-success'>"); + $('#success > .alert-success').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×") + .append("</button>"); + $('#success > .alert-success') + .append("<strong>Your message has been sent. </strong>"); + $('#success > .alert-success') + .append('</div>'); + //clear all fields + $('#contactForm').trigger("reset"); + }, + error: function() { + // Fail message + $('#success').html("<div class='alert alert-danger'>"); + $('#success > .alert-danger').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×") + .append("</button>"); + $('#success > .alert-danger').append($("<strong>").text("Sorry " + firstName + ", it seems that my mail server is not responding. Please try again later!")); + $('#success > .alert-danger').append('</div>'); + //clear all fields + $('#contactForm').trigger("reset"); + }, + complete: function() { + setTimeout(function() { + $this.prop("disabled", false); // Re-enable submit button when AJAX call is complete + }, 1000); + } + }); + }, + filter: function() { + return $(this).is(":visible"); + }, + }); + + $("a[data-toggle=\"tab\"]").click(function(e) { + e.preventDefault(); + $(this).tab("show"); + }); +}); + +/*When clicking on Full hide fail/success boxes */ +$('#name').focus(function() { + $('#success').html(''); +}); diff --git a/workspace/public/js/freelancer.js b/workspace/public/js/freelancer.js new file mode 100644 index 0000000..9e95fc9 --- /dev/null +++ b/workspace/public/js/freelancer.js @@ -0,0 +1,53 @@ +(function($) { + "use strict"; // Start of use strict + + // Smooth scrolling using jQuery easing + $('a.js-scroll-trigger[href*="#"]:not([href="#"])').click(function() { + if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) { + var target = $(this.hash); + target = target.length ? target : $('[name=' + this.hash.slice(1) + ']'); + if (target.length) { + $('html, body').animate({ + scrollTop: (target.offset().top - 48) + }, 1000, "easeInOutExpo"); + return false; + } + } + }); + + // Closes responsive menu when a scroll trigger link is clicked + $('.js-scroll-trigger').click(function() { + $('.navbar-collapse').collapse('hide'); + }); + + // Activate scrollspy to add active class to navbar items on scroll + $('body').scrollspy({ + target: '#mainNav', + offset: 54 + }); + + // Collapse Navbar + var navbarCollapse = function() { + if ($("#mainNav").offset().top > 100) { + $("#mainNav").addClass("navbar-shrink"); + } else { + $("#mainNav").removeClass("navbar-shrink"); + } + }; + // Collapse now if page is not at top + navbarCollapse(); + // Collapse the navbar when page is scrolled + $(window).scroll(navbarCollapse); + + // Floating label headings for the contact form + $(function() { + $("body").on("input propertychange", ".floating-label-form-group", function(e) { + $(this).toggleClass("floating-label-form-group-with-value", !!$(e.target).val()); + }).on("focus", ".floating-label-form-group", function() { + $(this).addClass("floating-label-form-group-with-focus"); + }).on("blur", ".floating-label-form-group", function() { + $(this).removeClass("floating-label-form-group-with-focus"); + }); + }); + +})(jQuery); // End of use strict diff --git a/workspace/public/js/freelancer.min.js b/workspace/public/js/freelancer.min.js new file mode 100644 index 0000000..27001d6 --- /dev/null +++ b/workspace/public/js/freelancer.min.js @@ -0,0 +1,6 @@ +/*! + * Start Bootstrap - Freelancer v4.0.0-beta.2 (https://startbootstrap.com/template-overviews/freelancer) + * Copyright 2013-2017 Start Bootstrap + * Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap-freelancer/blob/master/LICENSE) + */ +!function(o){"use strict";o('a.js-scroll-trigger[href*="#"]:not([href="#"])').click(function(){if(location.pathname.replace(/^\//,"")==this.pathname.replace(/^\//,"")&&location.hostname==this.hostname){var a=o(this.hash);if((a=a.length?a:o("[name="+this.hash.slice(1)+"]")).length)return o("html, body").animate({scrollTop:a.offset().top-48},1e3,"easeInOutExpo"),!1}}),o(".js-scroll-trigger").click(function(){o(".navbar-collapse").collapse("hide")}),o("body").scrollspy({target:"#mainNav",offset:54});var a=function(){o("#mainNav").offset().top>100?o("#mainNav").addClass("navbar-shrink"):o("#mainNav").removeClass("navbar-shrink")};a(),o(window).scroll(a),o(function(){o("body").on("input propertychange",".floating-label-form-group",function(a){o(this).toggleClass("floating-label-form-group-with-value",!!o(a.target).val())}).on("focus",".floating-label-form-group",function(){o(this).addClass("floating-label-form-group-with-focus")}).on("blur",".floating-label-form-group",function(){o(this).removeClass("floating-label-form-group-with-focus")})})}(jQuery); \ No newline at end of file diff --git a/workspace/public/js/jqBootstrapValidation.js b/workspace/public/js/jqBootstrapValidation.js new file mode 100644 index 0000000..29cbb08 --- /dev/null +++ b/workspace/public/js/jqBootstrapValidation.js @@ -0,0 +1,912 @@ +/* jqBootstrapValidation + * A plugin for automating validation on Twitter Bootstrap formatted forms. + * + * v1.3.6 + * + * License: MIT <http://opensource.org/licenses/mit-license.php> - see LICENSE file + * + * http://ReactiveRaven.github.com/jqBootstrapValidation/ + */ + +(function( $ ){ + + var createdElements = []; + + var defaults = { + options: { + prependExistingHelpBlock: false, + sniffHtml: true, // sniff for 'required', 'maxlength', etc + preventSubmit: true, // stop the form submit event from firing if validation fails + submitError: false, // function called if there is an error when trying to submit + submitSuccess: false, // function called just before a successful submit event is sent to the server + semanticallyStrict: false, // set to true to tidy up generated HTML output + autoAdd: { + helpBlocks: true + }, + filter: function () { + // return $(this).is(":visible"); // only validate elements you can see + return true; // validate everything + } + }, + methods: { + init : function( options ) { + + var settings = $.extend(true, {}, defaults); + + settings.options = $.extend(true, settings.options, options); + + var $siblingElements = this; + + var uniqueForms = $.unique( + $siblingElements.map( function () { + return $(this).parents("form")[0]; + }).toArray() + ); + + $(uniqueForms).bind("submit", function (e) { + var $form = $(this); + var warningsFound = 0; + var $inputs = $form.find("input,textarea,select").not("[type=submit],[type=image]").filter(settings.options.filter); + $inputs.trigger("submit.validation").trigger("validationLostFocus.validation"); + + $inputs.each(function (i, el) { + var $this = $(el), + $controlGroup = $this.parents(".control-group").first(); + if ( + $controlGroup.hasClass("warning") + ) { + $controlGroup.removeClass("warning").addClass("error"); + warningsFound++; + } + }); + + $inputs.trigger("validationLostFocus.validation"); + + if (warningsFound) { + if (settings.options.preventSubmit) { + e.preventDefault(); + } + $form.addClass("error"); + if ($.isFunction(settings.options.submitError)) { + settings.options.submitError($form, e, $inputs.jqBootstrapValidation("collectErrors", true)); + } + } else { + $form.removeClass("error"); + if ($.isFunction(settings.options.submitSuccess)) { + settings.options.submitSuccess($form, e); + } + } + }); + + return this.each(function(){ + + // Get references to everything we're interested in + var $this = $(this), + $controlGroup = $this.parents(".control-group").first(), + $helpBlock = $controlGroup.find(".help-block").first(), + $form = $this.parents("form").first(), + validatorNames = []; + + // create message container if not exists + if (!$helpBlock.length && settings.options.autoAdd && settings.options.autoAdd.helpBlocks) { + $helpBlock = $('<div class="help-block" />'); + $controlGroup.find('.controls').append($helpBlock); + createdElements.push($helpBlock[0]); + } + + // ============================================================= + // SNIFF HTML FOR VALIDATORS + // ============================================================= + + // *snort sniff snuffle* + + if (settings.options.sniffHtml) { + var message = ""; + // --------------------------------------------------------- + // PATTERN + // --------------------------------------------------------- + if ($this.attr("pattern") !== undefined) { + message = "Not in the expected format<!-- data-validation-pattern-message to override -->"; + if ($this.data("validationPatternMessage")) { + message = $this.data("validationPatternMessage"); + } + $this.data("validationPatternMessage", message); + $this.data("validationPatternRegex", $this.attr("pattern")); + } + // --------------------------------------------------------- + // MAX + // --------------------------------------------------------- + if ($this.attr("max") !== undefined || $this.attr("aria-valuemax") !== undefined) { + var max = ($this.attr("max") !== undefined ? $this.attr("max") : $this.attr("aria-valuemax")); + message = "Too high: Maximum of '" + max + "'<!-- data-validation-max-message to override -->"; + if ($this.data("validationMaxMessage")) { + message = $this.data("validationMaxMessage"); + } + $this.data("validationMaxMessage", message); + $this.data("validationMaxMax", max); + } + // --------------------------------------------------------- + // MIN + // --------------------------------------------------------- + if ($this.attr("min") !== undefined || $this.attr("aria-valuemin") !== undefined) { + var min = ($this.attr("min") !== undefined ? $this.attr("min") : $this.attr("aria-valuemin")); + message = "Too low: Minimum of '" + min + "'<!-- data-validation-min-message to override -->"; + if ($this.data("validationMinMessage")) { + message = $this.data("validationMinMessage"); + } + $this.data("validationMinMessage", message); + $this.data("validationMinMin", min); + } + // --------------------------------------------------------- + // MAXLENGTH + // --------------------------------------------------------- + if ($this.attr("maxlength") !== undefined) { + message = "Too long: Maximum of '" + $this.attr("maxlength") + "' characters<!-- data-validation-maxlength-message to override -->"; + if ($this.data("validationMaxlengthMessage")) { + message = $this.data("validationMaxlengthMessage"); + } + $this.data("validationMaxlengthMessage", message); + $this.data("validationMaxlengthMaxlength", $this.attr("maxlength")); + } + // --------------------------------------------------------- + // MINLENGTH + // --------------------------------------------------------- + if ($this.attr("minlength") !== undefined) { + message = "Too short: Minimum of '" + $this.attr("minlength") + "' characters<!-- data-validation-minlength-message to override -->"; + if ($this.data("validationMinlengthMessage")) { + message = $this.data("validationMinlengthMessage"); + } + $this.data("validationMinlengthMessage", message); + $this.data("validationMinlengthMinlength", $this.attr("minlength")); + } + // --------------------------------------------------------- + // REQUIRED + // --------------------------------------------------------- + if ($this.attr("required") !== undefined || $this.attr("aria-required") !== undefined) { + message = settings.builtInValidators.required.message; + if ($this.data("validationRequiredMessage")) { + message = $this.data("validationRequiredMessage"); + } + $this.data("validationRequiredMessage", message); + } + // --------------------------------------------------------- + // NUMBER + // --------------------------------------------------------- + if ($this.attr("type") !== undefined && $this.attr("type").toLowerCase() === "number") { + message = settings.builtInValidators.number.message; + if ($this.data("validationNumberMessage")) { + message = $this.data("validationNumberMessage"); + } + $this.data("validationNumberMessage", message); + } + // --------------------------------------------------------- + // EMAIL + // --------------------------------------------------------- + if ($this.attr("type") !== undefined && $this.attr("type").toLowerCase() === "email") { + message = "Not a valid email address<!-- data-validator-validemail-message to override -->"; + if ($this.data("validationValidemailMessage")) { + message = $this.data("validationValidemailMessage"); + } else if ($this.data("validationEmailMessage")) { + message = $this.data("validationEmailMessage"); + } + $this.data("validationValidemailMessage", message); + } + // --------------------------------------------------------- + // MINCHECKED + // --------------------------------------------------------- + if ($this.attr("minchecked") !== undefined) { + message = "Not enough options checked; Minimum of '" + $this.attr("minchecked") + "' required<!-- data-validation-minchecked-message to override -->"; + if ($this.data("validationMincheckedMessage")) { + message = $this.data("validationMincheckedMessage"); + } + $this.data("validationMincheckedMessage", message); + $this.data("validationMincheckedMinchecked", $this.attr("minchecked")); + } + // --------------------------------------------------------- + // MAXCHECKED + // --------------------------------------------------------- + if ($this.attr("maxchecked") !== undefined) { + message = "Too many options checked; Maximum of '" + $this.attr("maxchecked") + "' required<!-- data-validation-maxchecked-message to override -->"; + if ($this.data("validationMaxcheckedMessage")) { + message = $this.data("validationMaxcheckedMessage"); + } + $this.data("validationMaxcheckedMessage", message); + $this.data("validationMaxcheckedMaxchecked", $this.attr("maxchecked")); + } + } + + // ============================================================= + // COLLECT VALIDATOR NAMES + // ============================================================= + + // Get named validators + if ($this.data("validation") !== undefined) { + validatorNames = $this.data("validation").split(","); + } + + // Get extra ones defined on the element's data attributes + $.each($this.data(), function (i, el) { + var parts = i.replace(/([A-Z])/g, ",$1").split(","); + if (parts[0] === "validation" && parts[1]) { + validatorNames.push(parts[1]); + } + }); + + // ============================================================= + // NORMALISE VALIDATOR NAMES + // ============================================================= + + var validatorNamesToInspect = validatorNames; + var newValidatorNamesToInspect = []; + + do // repeatedly expand 'shortcut' validators into their real validators + { + // Uppercase only the first letter of each name + $.each(validatorNames, function (i, el) { + validatorNames[i] = formatValidatorName(el); + }); + + // Remove duplicate validator names + validatorNames = $.unique(validatorNames); + + // Pull out the new validator names from each shortcut + newValidatorNamesToInspect = []; + $.each(validatorNamesToInspect, function(i, el) { + if ($this.data("validation" + el + "Shortcut") !== undefined) { + // Are these custom validators? + // Pull them out! + $.each($this.data("validation" + el + "Shortcut").split(","), function(i2, el2) { + newValidatorNamesToInspect.push(el2); + }); + } else if (settings.builtInValidators[el.toLowerCase()]) { + // Is this a recognised built-in? + // Pull it out! + var validator = settings.builtInValidators[el.toLowerCase()]; + if (validator.type.toLowerCase() === "shortcut") { + $.each(validator.shortcut.split(","), function (i, el) { + el = formatValidatorName(el); + newValidatorNamesToInspect.push(el); + validatorNames.push(el); + }); + } + } + }); + + validatorNamesToInspect = newValidatorNamesToInspect; + + } while (validatorNamesToInspect.length > 0) + + // ============================================================= + // SET UP VALIDATOR ARRAYS + // ============================================================= + + var validators = {}; + + $.each(validatorNames, function (i, el) { + // Set up the 'override' message + var message = $this.data("validation" + el + "Message"); + var hasOverrideMessage = (message !== undefined); + var foundValidator = false; + message = + ( + message + ? message + : "'" + el + "' validation failed <!-- Add attribute 'data-validation-" + el.toLowerCase() + "-message' to input to change this message -->" + ) + ; + + $.each( + settings.validatorTypes, + function (validatorType, validatorTemplate) { + if (validators[validatorType] === undefined) { + validators[validatorType] = []; + } + if (!foundValidator && $this.data("validation" + el + formatValidatorName(validatorTemplate.name)) !== undefined) { + validators[validatorType].push( + $.extend( + true, + { + name: formatValidatorName(validatorTemplate.name), + message: message + }, + validatorTemplate.init($this, el) + ) + ); + foundValidator = true; + } + } + ); + + if (!foundValidator && settings.builtInValidators[el.toLowerCase()]) { + + var validator = $.extend(true, {}, settings.builtInValidators[el.toLowerCase()]); + if (hasOverrideMessage) { + validator.message = message; + } + var validatorType = validator.type.toLowerCase(); + + if (validatorType === "shortcut") { + foundValidator = true; + } else { + $.each( + settings.validatorTypes, + function (validatorTemplateType, validatorTemplate) { + if (validators[validatorTemplateType] === undefined) { + validators[validatorTemplateType] = []; + } + if (!foundValidator && validatorType === validatorTemplateType.toLowerCase()) { + $this.data("validation" + el + formatValidatorName(validatorTemplate.name), validator[validatorTemplate.name.toLowerCase()]); + validators[validatorType].push( + $.extend( + validator, + validatorTemplate.init($this, el) + ) + ); + foundValidator = true; + } + } + ); + } + } + + if (! foundValidator) { + $.error("Cannot find validation info for '" + el + "'"); + } + }); + + // ============================================================= + // STORE FALLBACK VALUES + // ============================================================= + + $helpBlock.data( + "original-contents", + ( + $helpBlock.data("original-contents") + ? $helpBlock.data("original-contents") + : $helpBlock.html() + ) + ); + + $helpBlock.data( + "original-role", + ( + $helpBlock.data("original-role") + ? $helpBlock.data("original-role") + : $helpBlock.attr("role") + ) + ); + + $controlGroup.data( + "original-classes", + ( + $controlGroup.data("original-clases") + ? $controlGroup.data("original-classes") + : $controlGroup.attr("class") + ) + ); + + $this.data( + "original-aria-invalid", + ( + $this.data("original-aria-invalid") + ? $this.data("original-aria-invalid") + : $this.attr("aria-invalid") + ) + ); + + // ============================================================= + // VALIDATION + // ============================================================= + + $this.bind( + "validation.validation", + function (event, params) { + + var value = getValue($this); + + // Get a list of the errors to apply + var errorsFound = []; + + $.each(validators, function (validatorType, validatorTypeArray) { + if (value || value.length || (params && params.includeEmpty) || (!!settings.validatorTypes[validatorType].blockSubmit && params && !!params.submitting)) { + $.each(validatorTypeArray, function (i, validator) { + if (settings.validatorTypes[validatorType].validate($this, value, validator)) { + errorsFound.push(validator.message); + } + }); + } + }); + + return errorsFound; + } + ); + + $this.bind( + "getValidators.validation", + function () { + return validators; + } + ); + + // ============================================================= + // WATCH FOR CHANGES + // ============================================================= + $this.bind( + "submit.validation", + function () { + return $this.triggerHandler("change.validation", {submitting: true}); + } + ); + $this.bind( + [ + "keyup", + "focus", + "blur", + "click", + "keydown", + "keypress", + "change" + ].join(".validation ") + ".validation", + function (e, params) { + + var value = getValue($this); + + var errorsFound = []; + + $controlGroup.find("input,textarea,select").each(function (i, el) { + var oldCount = errorsFound.length; + $.each($(el).triggerHandler("validation.validation", params), function (j, message) { + errorsFound.push(message); + }); + if (errorsFound.length > oldCount) { + $(el).attr("aria-invalid", "true"); + } else { + var original = $this.data("original-aria-invalid"); + $(el).attr("aria-invalid", (original !== undefined ? original : false)); + } + }); + + $form.find("input,select,textarea").not($this).not("[name=\"" + $this.attr("name") + "\"]").trigger("validationLostFocus.validation"); + + errorsFound = $.unique(errorsFound.sort()); + + // Were there any errors? + if (errorsFound.length) { + // Better flag it up as a warning. + $controlGroup.removeClass("success error").addClass("warning"); + + // How many errors did we find? + if (settings.options.semanticallyStrict && errorsFound.length === 1) { + // Only one? Being strict? Just output it. + $helpBlock.html(errorsFound[0] + + ( settings.options.prependExistingHelpBlock ? $helpBlock.data("original-contents") : "" )); + } else { + // Multiple? Being sloppy? Glue them together into an UL. + $helpBlock.html("<ul role=\"alert\"><li>" + errorsFound.join("</li><li>") + "</li></ul>" + + ( settings.options.prependExistingHelpBlock ? $helpBlock.data("original-contents") : "" )); + } + } else { + $controlGroup.removeClass("warning error success"); + if (value.length > 0) { + $controlGroup.addClass("success"); + } + $helpBlock.html($helpBlock.data("original-contents")); + } + + if (e.type === "blur") { + $controlGroup.removeClass("success"); + } + } + ); + $this.bind("validationLostFocus.validation", function () { + $controlGroup.removeClass("success"); + }); + }); + }, + destroy : function( ) { + + return this.each( + function() { + + var + $this = $(this), + $controlGroup = $this.parents(".control-group").first(), + $helpBlock = $controlGroup.find(".help-block").first(); + + // remove our events + $this.unbind('.validation'); // events are namespaced. + // reset help text + $helpBlock.html($helpBlock.data("original-contents")); + // reset classes + $controlGroup.attr("class", $controlGroup.data("original-classes")); + // reset aria + $this.attr("aria-invalid", $this.data("original-aria-invalid")); + // reset role + $helpBlock.attr("role", $this.data("original-role")); + // remove all elements we created + if (createdElements.indexOf($helpBlock[0]) > -1) { + $helpBlock.remove(); + } + + } + ); + + }, + collectErrors : function(includeEmpty) { + + var errorMessages = {}; + this.each(function (i, el) { + var $el = $(el); + var name = $el.attr("name"); + var errors = $el.triggerHandler("validation.validation", {includeEmpty: true}); + errorMessages[name] = $.extend(true, errors, errorMessages[name]); + }); + + $.each(errorMessages, function (i, el) { + if (el.length === 0) { + delete errorMessages[i]; + } + }); + + return errorMessages; + + }, + hasErrors: function() { + + var errorMessages = []; + + this.each(function (i, el) { + errorMessages = errorMessages.concat( + $(el).triggerHandler("getValidators.validation") ? $(el).triggerHandler("validation.validation", {submitting: true}) : [] + ); + }); + + return (errorMessages.length > 0); + }, + override : function (newDefaults) { + defaults = $.extend(true, defaults, newDefaults); + } + }, + validatorTypes: { + callback: { + name: "callback", + init: function ($this, name) { + return { + validatorName: name, + callback: $this.data("validation" + name + "Callback"), + lastValue: $this.val(), + lastValid: true, + lastFinished: true + }; + }, + validate: function ($this, value, validator) { + if (validator.lastValue === value && validator.lastFinished) { + return !validator.lastValid; + } + + if (validator.lastFinished === true) + { + validator.lastValue = value; + validator.lastValid = true; + validator.lastFinished = false; + + var rrjqbvValidator = validator; + var rrjqbvThis = $this; + executeFunctionByName( + validator.callback, + window, + $this, + value, + function (data) { + if (rrjqbvValidator.lastValue === data.value) { + rrjqbvValidator.lastValid = data.valid; + if (data.message) { + rrjqbvValidator.message = data.message; + } + rrjqbvValidator.lastFinished = true; + rrjqbvThis.data("validation" + rrjqbvValidator.validatorName + "Message", rrjqbvValidator.message); + // Timeout is set to avoid problems with the events being considered 'already fired' + setTimeout(function () { + rrjqbvThis.trigger("change.validation"); + }, 1); // doesn't need a long timeout, just long enough for the event bubble to burst + } + } + ); + } + + return false; + + } + }, + ajax: { + name: "ajax", + init: function ($this, name) { + return { + validatorName: name, + url: $this.data("validation" + name + "Ajax"), + lastValue: $this.val(), + lastValid: true, + lastFinished: true + }; + }, + validate: function ($this, value, validator) { + if (""+validator.lastValue === ""+value && validator.lastFinished === true) { + return validator.lastValid === false; + } + + if (validator.lastFinished === true) + { + validator.lastValue = value; + validator.lastValid = true; + validator.lastFinished = false; + $.ajax({ + url: validator.url, + data: "value=" + value + "&field=" + $this.attr("name"), + dataType: "json", + success: function (data) { + if (""+validator.lastValue === ""+data.value) { + validator.lastValid = !!(data.valid); + if (data.message) { + validator.message = data.message; + } + validator.lastFinished = true; + $this.data("validation" + validator.validatorName + "Message", validator.message); + // Timeout is set to avoid problems with the events being considered 'already fired' + setTimeout(function () { + $this.trigger("change.validation"); + }, 1); // doesn't need a long timeout, just long enough for the event bubble to burst + } + }, + failure: function () { + validator.lastValid = true; + validator.message = "ajax call failed"; + validator.lastFinished = true; + $this.data("validation" + validator.validatorName + "Message", validator.message); + // Timeout is set to avoid problems with the events being considered 'already fired' + setTimeout(function () { + $this.trigger("change.validation"); + }, 1); // doesn't need a long timeout, just long enough for the event bubble to burst + } + }); + } + + return false; + + } + }, + regex: { + name: "regex", + init: function ($this, name) { + return {regex: regexFromString($this.data("validation" + name + "Regex"))}; + }, + validate: function ($this, value, validator) { + return (!validator.regex.test(value) && ! validator.negative) + || (validator.regex.test(value) && validator.negative); + } + }, + required: { + name: "required", + init: function ($this, name) { + return {}; + }, + validate: function ($this, value, validator) { + return !!(value.length === 0 && ! validator.negative) + || !!(value.length > 0 && validator.negative); + }, + blockSubmit: true + }, + match: { + name: "match", + init: function ($this, name) { + var element = $this.parents("form").first().find("[name=\"" + $this.data("validation" + name + "Match") + "\"]").first(); + element.bind("validation.validation", function () { + $this.trigger("change.validation", {submitting: true}); + }); + return {"element": element}; + }, + validate: function ($this, value, validator) { + return (value !== validator.element.val() && ! validator.negative) + || (value === validator.element.val() && validator.negative); + }, + blockSubmit: true + }, + max: { + name: "max", + init: function ($this, name) { + return {max: $this.data("validation" + name + "Max")}; + }, + validate: function ($this, value, validator) { + return (parseFloat(value, 10) > parseFloat(validator.max, 10) && ! validator.negative) + || (parseFloat(value, 10) <= parseFloat(validator.max, 10) && validator.negative); + } + }, + min: { + name: "min", + init: function ($this, name) { + return {min: $this.data("validation" + name + "Min")}; + }, + validate: function ($this, value, validator) { + return (parseFloat(value) < parseFloat(validator.min) && ! validator.negative) + || (parseFloat(value) >= parseFloat(validator.min) && validator.negative); + } + }, + maxlength: { + name: "maxlength", + init: function ($this, name) { + return {maxlength: $this.data("validation" + name + "Maxlength")}; + }, + validate: function ($this, value, validator) { + return ((value.length > validator.maxlength) && ! validator.negative) + || ((value.length <= validator.maxlength) && validator.negative); + } + }, + minlength: { + name: "minlength", + init: function ($this, name) { + return {minlength: $this.data("validation" + name + "Minlength")}; + }, + validate: function ($this, value, validator) { + return ((value.length < validator.minlength) && ! validator.negative) + || ((value.length >= validator.minlength) && validator.negative); + } + }, + maxchecked: { + name: "maxchecked", + init: function ($this, name) { + var elements = $this.parents("form").first().find("[name=\"" + $this.attr("name") + "\"]"); + elements.bind("click.validation", function () { + $this.trigger("change.validation", {includeEmpty: true}); + }); + return {maxchecked: $this.data("validation" + name + "Maxchecked"), elements: elements}; + }, + validate: function ($this, value, validator) { + return (validator.elements.filter(":checked").length > validator.maxchecked && ! validator.negative) + || (validator.elements.filter(":checked").length <= validator.maxchecked && validator.negative); + }, + blockSubmit: true + }, + minchecked: { + name: "minchecked", + init: function ($this, name) { + var elements = $this.parents("form").first().find("[name=\"" + $this.attr("name") + "\"]"); + elements.bind("click.validation", function () { + $this.trigger("change.validation", {includeEmpty: true}); + }); + return {minchecked: $this.data("validation" + name + "Minchecked"), elements: elements}; + }, + validate: function ($this, value, validator) { + return (validator.elements.filter(":checked").length < validator.minchecked && ! validator.negative) + || (validator.elements.filter(":checked").length >= validator.minchecked && validator.negative); + }, + blockSubmit: true + } + }, + builtInValidators: { + email: { + name: "Email", + type: "shortcut", + shortcut: "validemail" + }, + validemail: { + name: "Validemail", + type: "regex", + regex: "[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\\.[A-Za-z]{2,4}", + message: "Not a valid email address<!-- data-validator-validemail-message to override -->" + }, + passwordagain: { + name: "Passwordagain", + type: "match", + match: "password", + message: "Does not match the given password<!-- data-validator-paswordagain-message to override -->" + }, + positive: { + name: "Positive", + type: "shortcut", + shortcut: "number,positivenumber" + }, + negative: { + name: "Negative", + type: "shortcut", + shortcut: "number,negativenumber" + }, + number: { + name: "Number", + type: "regex", + regex: "([+-]?\\\d+(\\\.\\\d*)?([eE][+-]?[0-9]+)?)?", + message: "Must be a number<!-- data-validator-number-message to override -->" + }, + integer: { + name: "Integer", + type: "regex", + regex: "[+-]?\\\d+", + message: "No decimal places allowed<!-- data-validator-integer-message to override -->" + }, + positivenumber: { + name: "Positivenumber", + type: "min", + min: 0, + message: "Must be a positive number<!-- data-validator-positivenumber-message to override -->" + }, + negativenumber: { + name: "Negativenumber", + type: "max", + max: 0, + message: "Must be a negative number<!-- data-validator-negativenumber-message to override -->" + }, + required: { + name: "Required", + type: "required", + message: "This is required<!-- data-validator-required-message to override -->" + }, + checkone: { + name: "Checkone", + type: "minchecked", + minchecked: 1, + message: "Check at least one option<!-- data-validation-checkone-message to override -->" + } + } + }; + + var formatValidatorName = function (name) { + return name + .toLowerCase() + .replace( + /(^|\s)([a-z])/g , + function(m,p1,p2) { + return p1+p2.toUpperCase(); + } + ) + ; + }; + + var getValue = function ($this) { + // Extract the value we're talking about + var value = $this.val(); + var type = $this.attr("type"); + if (type === "checkbox") { + value = ($this.is(":checked") ? value : ""); + } + if (type === "radio") { + value = ($('input[name="' + $this.attr("name") + '"]:checked').length > 0 ? value : ""); + } + return value; + }; + + function regexFromString(inputstring) { + return new RegExp("^" + inputstring + "$"); + } + + /** + * Thanks to Jason Bunting via StackOverflow.com + * + * http://stackoverflow.com/questions/359788/how-to-execute-a-javascript-function-when-i-have-its-name-as-a-string#answer-359910 + * Short link: http://tinyurl.com/executeFunctionByName + **/ + function executeFunctionByName(functionName, context /*, args*/) { + var args = Array.prototype.slice.call(arguments).splice(2); + var namespaces = functionName.split("."); + var func = namespaces.pop(); + for(var i = 0; i < namespaces.length; i++) { + context = context[namespaces[i]]; + } + return context[func].apply(this, args); + } + + $.fn.jqBootstrapValidation = function( method ) { + + if ( defaults.methods[method] ) { + return defaults.methods[method].apply( this, Array.prototype.slice.call( arguments, 1 )); + } else if ( typeof method === 'object' || ! method ) { + return defaults.methods.init.apply( this, arguments ); + } else { + $.error( 'Method ' + method + ' does not exist on jQuery.jqBootstrapValidation' ); + return null; + } + + }; + + $.jqBootstrapValidation = function (options) { + $(":input").not("[type=image],[type=submit]").jqBootstrapValidation.apply(this,arguments); + }; + +})( jQuery ); diff --git a/workspace/public/robots.txt b/workspace/public/robots.txt new file mode 100644 index 0000000..eb05362 --- /dev/null +++ b/workspace/public/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: diff --git a/workspace/public/web.config b/workspace/public/web.config new file mode 100644 index 0000000..624c176 --- /dev/null +++ b/workspace/public/web.config @@ -0,0 +1,23 @@ +<configuration> + <system.webServer> + <rewrite> + <rules> + <rule name="Imported Rule 1" stopProcessing="true"> + <match url="^(.*)/$" ignoreCase="false" /> + <conditions> + <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" /> + </conditions> + <action type="Redirect" redirectType="Permanent" url="/{R:1}" /> + </rule> + <rule name="Imported Rule 2" stopProcessing="true"> + <match url="^" ignoreCase="false" /> + <conditions> + <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" /> + <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" /> + </conditions> + <action type="Rewrite" url="index.php" /> + </rule> + </rules> + </rewrite> + </system.webServer> +</configuration> diff --git a/workspace/readme.md b/workspace/readme.md new file mode 100644 index 0000000..7f8816d --- /dev/null +++ b/workspace/readme.md @@ -0,0 +1,27 @@ +# Laravel PHP Framework + +[](https://travis-ci.org/laravel/framework) +[](https://packagist.org/packages/laravel/framework) +[](https://packagist.org/packages/laravel/framework) +[](https://packagist.org/packages/laravel/framework) +[](https://packagist.org/packages/laravel/framework) + +Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable, creative experience to be truly fulfilling. Laravel attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as authentication, routing, sessions, queueing, and caching. + +Laravel is accessible, yet powerful, providing tools needed for large, robust applications. A superb inversion of control container, expressive migration system, and tightly integrated unit testing support give you the tools you need to build any application with which you are tasked. + +## Official Documentation + +Documentation for the framework can be found on the [Laravel website](http://laravel.com/docs). + +## Contributing + +Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](http://laravel.com/docs/contributions). + +## Security Vulnerabilities + +If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell at taylor@laravel.com. All security vulnerabilities will be promptly addressed. + +## License + +The Laravel framework is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT). diff --git a/workspace/reports/iteration-X-template.md b/workspace/reports/iteration-X-template.md new file mode 100644 index 0000000..ba601f7 --- /dev/null +++ b/workspace/reports/iteration-X-template.md @@ -0,0 +1,72 @@ +# Rapport d'itération +*Ce rapport est à fournir pour chaque équipe au moment du changement d'itération.* + +## Composition de l'équipe +*Remplir ce tableau avec la composition de l'équipe et les rôles.* + +| | Itération précédente | +| ------------- |------------- | +| **Product Owner** | *Charles* | +| **Scrum Master** | *Pierre* | + +## Bilan de l'itération précédente +### Évènements +*Quels sont les évènements qui ont marqué l'itération précédente? Répertoriez ici les évènements qui ont eu un impact sur ce qui était prévu à l'itération précédente.* +> Répondre ici + +*Exemple (à supprimer):* +> *Pierre était en vacances toute la semaine.* +> *Nous avons trouvé une erreur de conception qui nous a obligés à reprendre une partie du code pour pouvoir avancer.* + +### Taux de complétion de l'itération +*Quel est le nombre d'éléments terminés par rapport au nombre total d'éléments prévu pour l'itération?* +> Répondre ici +*Exemple (à supprimer):* +> *12 terminés / 18 prévues = 66%* + +### Liste des User Stories terminées +*Quelles sont les User Stories qui ont été validées par le PO à la fin de l'itération ?* + +## Rétrospective de l'itération précédente + +### Bilans des retours et des précédentes actions +*Quels sont les retours faits par l'équipe pendant la rétrospective? Quelles sont les actions qui ont apporté quelque chose ou non?* +> Répondre ici + +### Actions prises pour la prochaine itération +*Quelles sont les actions décidées par l'équipe pour la prochaine itération ?* + +### Axes d'améliorations +*Quels sont les axes d'améliorations pour les personnes qui ont tenu les rôles de PO, SM et Dev sur la précédente itération?* +> Répondre ici + +## Prévisions de l'itération suivante +### Évènements prévus +*Quels sont les évènements qui vont peut être impacter l'itération? Répertoriez ici les évènements que vous anticipez comme ayant un impact potentiel pour l'itération (absences, changement de cap, difficultés, etc.).* +> Répondre ici + +### Titre des User Stories reportées +*Lister ici les éléments des itérations précédentes qui ont été reportés à l'itération suivante. Ces éléments ont dû être revus et corrigés par le PO.* +> Répondre ici + +### Titre des nouvelles User Stories +*Lister ici les nouveaux éléments pour l'itération suivante. Ces éléments ont dû être revus et corrigés par le PO.* +> Répondre ici + +## Confiance +### Taux de confiance de l'équipe dans l'itération +*Remplir le tableau sachant que :D est une confiance totale dans le fait de livrer les éléments de l'itération. Mettre le nombre de votes dans chacune des cases. Expliquer en cas de besoin.* + +| | :( | :| | :) | :D | +|:--------: |:----: |:----: |:----: |:----: | +| Equipe 7 | *0* | *0* | *0* | *0* | + +### Taux de confiance de l'équipe pour la réalisation du projet +*Remplir le tableau sachant que :D est une confiance totale dans le fait de réaliser le projet. Mettre le nombre de votes dans chacune des cases. Expliquer en cas de besoin.* + +| | :( | :| | :) | :D | +|:--------: |:----: |:----: |:----: |:----: | +| Equipe 7 | *0* | *0* | *0* | *0* | + + + \ No newline at end of file diff --git a/workspace/reports/iteration_2.md b/workspace/reports/iteration_2.md new file mode 100644 index 0000000..a23b58a --- /dev/null +++ b/workspace/reports/iteration_2.md @@ -0,0 +1,83 @@ +# Rapport d'itération + +## Composition de l'équipe + + +| | Itération précédente | +| ------------- |------------- | +| **Product Owner** | *AICHHORN Guillaume* | +| **Scrum Master** | *ALVES Alexandre* | +| **Dev** | *KIM Hyoseok* | +| **Dev** | *ALIMEHNNI Hugues* | +| **Dev** | *SANN Sokchivin* | +| **Dev** | *BENCHETRIT Milan* | +| **Dev** | *MELCHIOR Louis* | + +## Bilan de l'itération précédente +### Évènements +*Quels sont les évènements qui ont marqué l'itération précédente? Répertoriez ici les évènements qui ont eu un impact sur ce qui était prévu à l'itération précédente.* +> Guillaume n'était pas très disponible du fait de sa participation aux élections du BDE +> L'équipe manquait d'organisation et a donc eu du mal à se mettre au travail (tâches définies mais mal réparties) + +### Taux de complétion de l'itération +*Quel est le nombre d'éléments terminés par rapport au nombre total d'éléments prévu pour l'itération?* +> 4 terminées / 7 prévues = 57% + +### Liste des User Stories terminées +> Dépot d'annonce +> Affichage des annonces (ensemble et individuel) + +## Rétrospective de l'itération précédente + +### Bilans des retours et des précédentes actions +> Manque d'organisations et de communication : les membres de l'équipe ne savait pas quoi faire +> Pas assez de stand up et état d'avancé du projet +> Les USs étaient trop vagues et n'avaient pas été étudiées +> Mauvaise compréhension des membres de l'équipe. +> Difficultés à prendre en mains Laravel (nouvel environnement de travail) + +### Actions prises pour la prochaine itération +> Meilleure communication (plus de réunion) +> Meilleure plannification des tâches (répartition et objectifs) +> US de plus petite taille. +> Meilleur découpage des US. +> Nouvel axe de travail (recentré sur le MVP) + +### Axes d'améliorations +> PO : Doit être plus investi dans les prises de décisions concernant l'orientation du projet +> - Conception/modification d'US. +> - Définir la valeur de chaque US. +> SM : Doit être un élement clé pour la cohésion et la communication au sein de l'équipe +> - Moins animer les réunion mais doit maintenir l'égalité entre membres +> Dev : Doivent être plus présents dans la réalisation du projet, n'hésitant pas à faire part de leurs problèmes + +## Prévisions de l'itération suivante +### Évènements prévus +> Conférence vendredi après-midi (24/11) +> Conférence mardi matin (28/11) +> +### Titre des User Stories reportées +> Fin du MVP (update, suppression d'annonce, recherche simple) + +### Titre des nouvelles User Stories +> Les US reportées +> Demande de réservation +> Upload d'image + +## Confiance +### Taux de confiance de l'équipe dans l'itération +*Remplir le tableau sachant que :D est une confiance totale dans le fait de livrer les éléments de l'itération. Mettre le nombre de votes dans chacune des cases. Expliquer en cas de besoin.* + +| | :( | :| | :) | :D | +|:--------: |:----: |:----: |:----: |:----: | +| Equipe 7 | *0* | *3* | *4* | *0* | + +### Taux de confiance de l'équipe pour la réalisation du projet +*Remplir le tableau sachant que :D est une confiance totale dans le fait de réaliser le projet. Mettre le nombre de votes dans chacune des cases. Expliquer en cas de besoin.* + +| | :( | :| | :) | :D | +|:--------: |:----: |:----: |:----: |:----: | +| Equipe 7 | *0* | *1* | *4* | *2* | + + + diff --git a/workspace/resources/assets/sass/app.scss b/workspace/resources/assets/sass/app.scss new file mode 100644 index 0000000..bb76e29 --- /dev/null +++ b/workspace/resources/assets/sass/app.scss @@ -0,0 +1,2 @@ +// @import "node_modules/bootstrap-sass/assets/stylesheets/bootstrap"; + diff --git a/workspace/resources/lang/en/auth.php b/workspace/resources/lang/en/auth.php new file mode 100644 index 0000000..e5506df --- /dev/null +++ b/workspace/resources/lang/en/auth.php @@ -0,0 +1,19 @@ +<?php + +return [ + + /* + |-------------------------------------------------------------------------- + | Authentication Language Lines + |-------------------------------------------------------------------------- + | + | The following language lines are used during authentication for various + | messages that we need to display to the user. You are free to modify + | these language lines according to your application's requirements. + | + */ + + 'failed' => 'These credentials do not match our records.', + 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', + +]; diff --git a/workspace/resources/lang/en/pagination.php b/workspace/resources/lang/en/pagination.php new file mode 100644 index 0000000..fcab34b --- /dev/null +++ b/workspace/resources/lang/en/pagination.php @@ -0,0 +1,19 @@ +<?php + +return [ + + /* + |-------------------------------------------------------------------------- + | Pagination Language Lines + |-------------------------------------------------------------------------- + | + | The following language lines are used by the paginator library to build + | the simple pagination links. You are free to change them to anything + | you want to customize your views to better match your application. + | + */ + + 'previous' => '« Previous', + 'next' => 'Next »', + +]; diff --git a/workspace/resources/lang/en/passwords.php b/workspace/resources/lang/en/passwords.php new file mode 100644 index 0000000..e5544d2 --- /dev/null +++ b/workspace/resources/lang/en/passwords.php @@ -0,0 +1,22 @@ +<?php + +return [ + + /* + |-------------------------------------------------------------------------- + | Password Reset Language Lines + |-------------------------------------------------------------------------- + | + | The following language lines are the default lines which match reasons + | that are given by the password broker for a password update attempt + | has failed, such as for an invalid token or invalid new password. + | + */ + + 'password' => 'Passwords must be at least six characters and match the confirmation.', + 'reset' => 'Your password has been reset!', + 'sent' => 'We have e-mailed your password reset link!', + 'token' => 'This password reset token is invalid.', + 'user' => "We can't find a user with that e-mail address.", + +]; diff --git a/workspace/resources/lang/en/validation.php b/workspace/resources/lang/en/validation.php new file mode 100644 index 0000000..b1e6120 --- /dev/null +++ b/workspace/resources/lang/en/validation.php @@ -0,0 +1,113 @@ +<?php + +return [ + + /* + |-------------------------------------------------------------------------- + | Validation Language Lines + |-------------------------------------------------------------------------- + | + | The following language lines contain the default error messages used by + | the validator class. Some of these rules have multiple versions such + | as the size rules. Feel free to tweak each of these messages here. + | + */ + + 'accepted' => 'The :attribute must be accepted.', + 'active_url' => 'The :attribute is not a valid URL.', + 'after' => 'The :attribute must be a date after :date.', + 'alpha' => 'The :attribute may only contain letters.', + 'alpha_dash' => 'The :attribute may only contain letters, numbers, and dashes.', + 'alpha_num' => 'The :attribute may only contain letters and numbers.', + 'array' => 'The :attribute must be an array.', + 'before' => 'The :attribute must be a date before :date.', + 'between' => [ + 'numeric' => 'The :attribute must be between :min and :max.', + 'file' => 'The :attribute must be between :min and :max kilobytes.', + 'string' => 'The :attribute must be between :min and :max characters.', + 'array' => 'The :attribute must have between :min and :max items.', + ], + 'boolean' => 'The :attribute field must be true or false.', + 'confirmed' => 'The :attribute confirmation does not match.', + 'date' => 'The :attribute is not a valid date.', + 'date_format' => 'The :attribute does not match the format :format.', + 'different' => 'The :attribute and :other must be different.', + 'digits' => 'The :attribute must be :digits digits.', + 'digits_between' => 'The :attribute must be between :min and :max digits.', + 'distinct' => 'The :attribute field has a duplicate value.', + 'email' => 'The :attribute must be a valid email address.', + 'exists' => 'The selected :attribute is invalid.', + 'filled' => 'The :attribute field is required.', + 'image' => 'The :attribute must be an image.', + 'in' => 'The selected :attribute is invalid.', + 'in_array' => 'The :attribute field does not exist in :other.', + 'integer' => 'The :attribute must be an integer.', + 'ip' => 'The :attribute must be a valid IP address.', + 'json' => 'The :attribute must be a valid JSON string.', + 'max' => [ + 'numeric' => 'The :attribute may not be greater than :max.', + 'file' => 'The :attribute may not be greater than :max kilobytes.', + 'string' => 'The :attribute may not be greater than :max characters.', + 'array' => 'The :attribute may not have more than :max items.', + ], + 'mimes' => 'The :attribute must be a file of type: :values.', + 'min' => [ + 'numeric' => 'The :attribute must be at least :min.', + 'file' => 'The :attribute must be at least :min kilobytes.', + 'string' => 'The :attribute must be at least :min characters.', + 'array' => 'The :attribute must have at least :min items.', + ], + 'not_in' => 'The selected :attribute is invalid.', + 'numeric' => 'The :attribute must be a number.', + 'present' => 'The :attribute field must be present.', + 'regex' => 'The :attribute format is invalid.', + 'required' => 'The :attribute field is required.', + 'required_if' => 'The :attribute field is required when :other is :value.', + 'required_unless' => 'The :attribute field is required unless :other is in :values.', + 'required_with' => 'The :attribute field is required when :values is present.', + 'required_with_all' => 'The :attribute field is required when :values is present.', + 'required_without' => 'The :attribute field is required when :values is not present.', + 'required_without_all' => 'The :attribute field is required when none of :values are present.', + 'same' => 'The :attribute and :other must match.', + 'size' => [ + 'numeric' => 'The :attribute must be :size.', + 'file' => 'The :attribute must be :size kilobytes.', + 'string' => 'The :attribute must be :size characters.', + 'array' => 'The :attribute must contain :size items.', + ], + 'string' => 'The :attribute must be a string.', + 'timezone' => 'The :attribute must be a valid zone.', + 'unique' => 'The :attribute has already been taken.', + 'url' => 'The :attribute format is invalid.', + + /* + |-------------------------------------------------------------------------- + | Custom Validation Language Lines + |-------------------------------------------------------------------------- + | + | Here you may specify custom validation messages for attributes using the + | convention "attribute.rule" to name the lines. This makes it quick to + | specify a specific custom language line for a given attribute rule. + | + */ + + 'custom' => [ + 'attribute-name' => [ + 'rule-name' => 'custom-message', + ], + ], + + /* + |-------------------------------------------------------------------------- + | Custom Validation Attributes + |-------------------------------------------------------------------------- + | + | The following language lines are used to swap attribute place-holders + | with something more reader friendly such as E-Mail Address instead + | of "email". This simply helps us make messages a little cleaner. + | + */ + + 'attributes' => [], + +]; diff --git a/workspace/resources/lang/fr/auth.php b/workspace/resources/lang/fr/auth.php new file mode 100644 index 0000000..ea119c8 --- /dev/null +++ b/workspace/resources/lang/fr/auth.php @@ -0,0 +1,21 @@ +<?php + +return [ + + /* + |-------------------------------------------------------------------------- + | Authentication Language Lines + |-------------------------------------------------------------------------- + | + | The following language lines are used during authentication for various + | messages that we need to display to the user. You are free to modify + | these language lines according to your application's requirements. + | + + à traduire + */ + + 'failed' => 'Les informations renseignées ne sont pas valides.', + 'throttle' => 'Trop de tentatives de connexion. Réessayez dans :seconds secondes.', + +]; diff --git a/workspace/resources/lang/fr/pagination.php b/workspace/resources/lang/fr/pagination.php new file mode 100644 index 0000000..15c3ac4 --- /dev/null +++ b/workspace/resources/lang/fr/pagination.php @@ -0,0 +1,19 @@ +<?php + +return [ + + /* + |-------------------------------------------------------------------------- + | Pagination Language Lines + |-------------------------------------------------------------------------- + | + | The following language lines are used by the paginator library to build + | the simple pagination links. You are free to change them to anything + | you want to customize your views to better match your application. + | + */ + + 'previous' => '« Précédents', + 'next' => 'Suivants »', + +]; diff --git a/workspace/resources/lang/fr/passwords.php b/workspace/resources/lang/fr/passwords.php new file mode 100644 index 0000000..97b54d2 --- /dev/null +++ b/workspace/resources/lang/fr/passwords.php @@ -0,0 +1,22 @@ +<?php + +return [ + + /* + |-------------------------------------------------------------------------- + | Password Reset Language Lines + |-------------------------------------------------------------------------- + | + | The following language lines are the default lines which match reasons + | that are given by the password broker for a password update attempt + | has failed, such as for an invalid token or invalid new password. + | + */ + + 'password' => 'Le mot de passe doit contenir au moins 6 caractères et être confirmé.', + 'reset' => 'Votre mot de passe a été changé!', + 'sent' => 'Un email vous a été envoyé pour changer votre mot de passe!', + 'token' => 'Ce token de changement de mot de passe est invalide.', + 'user' => "Cet utilisateur n'existe pas.", + +]; diff --git a/workspace/resources/lang/fr/texts.php b/workspace/resources/lang/fr/texts.php new file mode 100644 index 0000000..16eab67 --- /dev/null +++ b/workspace/resources/lang/fr/texts.php @@ -0,0 +1,18 @@ +<?php + +return [ + + /* + |-------------------------------------------------------------------------- + | Password Reset Language Lines + |-------------------------------------------------------------------------- + | + | The following language lines are the default lines which match reasons + | that are given by the password broker for a password update attempt + | has failed, such as for an invalid token or invalid new password. + | + */ + + 'About Our Site' => "À propos de Bonsaiie", + +]; diff --git a/workspace/resources/lang/fr/validation.php b/workspace/resources/lang/fr/validation.php new file mode 100644 index 0000000..b1e6120 --- /dev/null +++ b/workspace/resources/lang/fr/validation.php @@ -0,0 +1,113 @@ +<?php + +return [ + + /* + |-------------------------------------------------------------------------- + | Validation Language Lines + |-------------------------------------------------------------------------- + | + | The following language lines contain the default error messages used by + | the validator class. Some of these rules have multiple versions such + | as the size rules. Feel free to tweak each of these messages here. + | + */ + + 'accepted' => 'The :attribute must be accepted.', + 'active_url' => 'The :attribute is not a valid URL.', + 'after' => 'The :attribute must be a date after :date.', + 'alpha' => 'The :attribute may only contain letters.', + 'alpha_dash' => 'The :attribute may only contain letters, numbers, and dashes.', + 'alpha_num' => 'The :attribute may only contain letters and numbers.', + 'array' => 'The :attribute must be an array.', + 'before' => 'The :attribute must be a date before :date.', + 'between' => [ + 'numeric' => 'The :attribute must be between :min and :max.', + 'file' => 'The :attribute must be between :min and :max kilobytes.', + 'string' => 'The :attribute must be between :min and :max characters.', + 'array' => 'The :attribute must have between :min and :max items.', + ], + 'boolean' => 'The :attribute field must be true or false.', + 'confirmed' => 'The :attribute confirmation does not match.', + 'date' => 'The :attribute is not a valid date.', + 'date_format' => 'The :attribute does not match the format :format.', + 'different' => 'The :attribute and :other must be different.', + 'digits' => 'The :attribute must be :digits digits.', + 'digits_between' => 'The :attribute must be between :min and :max digits.', + 'distinct' => 'The :attribute field has a duplicate value.', + 'email' => 'The :attribute must be a valid email address.', + 'exists' => 'The selected :attribute is invalid.', + 'filled' => 'The :attribute field is required.', + 'image' => 'The :attribute must be an image.', + 'in' => 'The selected :attribute is invalid.', + 'in_array' => 'The :attribute field does not exist in :other.', + 'integer' => 'The :attribute must be an integer.', + 'ip' => 'The :attribute must be a valid IP address.', + 'json' => 'The :attribute must be a valid JSON string.', + 'max' => [ + 'numeric' => 'The :attribute may not be greater than :max.', + 'file' => 'The :attribute may not be greater than :max kilobytes.', + 'string' => 'The :attribute may not be greater than :max characters.', + 'array' => 'The :attribute may not have more than :max items.', + ], + 'mimes' => 'The :attribute must be a file of type: :values.', + 'min' => [ + 'numeric' => 'The :attribute must be at least :min.', + 'file' => 'The :attribute must be at least :min kilobytes.', + 'string' => 'The :attribute must be at least :min characters.', + 'array' => 'The :attribute must have at least :min items.', + ], + 'not_in' => 'The selected :attribute is invalid.', + 'numeric' => 'The :attribute must be a number.', + 'present' => 'The :attribute field must be present.', + 'regex' => 'The :attribute format is invalid.', + 'required' => 'The :attribute field is required.', + 'required_if' => 'The :attribute field is required when :other is :value.', + 'required_unless' => 'The :attribute field is required unless :other is in :values.', + 'required_with' => 'The :attribute field is required when :values is present.', + 'required_with_all' => 'The :attribute field is required when :values is present.', + 'required_without' => 'The :attribute field is required when :values is not present.', + 'required_without_all' => 'The :attribute field is required when none of :values are present.', + 'same' => 'The :attribute and :other must match.', + 'size' => [ + 'numeric' => 'The :attribute must be :size.', + 'file' => 'The :attribute must be :size kilobytes.', + 'string' => 'The :attribute must be :size characters.', + 'array' => 'The :attribute must contain :size items.', + ], + 'string' => 'The :attribute must be a string.', + 'timezone' => 'The :attribute must be a valid zone.', + 'unique' => 'The :attribute has already been taken.', + 'url' => 'The :attribute format is invalid.', + + /* + |-------------------------------------------------------------------------- + | Custom Validation Language Lines + |-------------------------------------------------------------------------- + | + | Here you may specify custom validation messages for attributes using the + | convention "attribute.rule" to name the lines. This makes it quick to + | specify a specific custom language line for a given attribute rule. + | + */ + + 'custom' => [ + 'attribute-name' => [ + 'rule-name' => 'custom-message', + ], + ], + + /* + |-------------------------------------------------------------------------- + | Custom Validation Attributes + |-------------------------------------------------------------------------- + | + | The following language lines are used to swap attribute place-holders + | with something more reader friendly such as E-Mail Address instead + | of "email". This simply helps us make messages a little cleaner. + | + */ + + 'attributes' => [], + +]; diff --git a/workspace/resources/views/OLD/app.blade.php b/workspace/resources/views/OLD/app.blade.php new file mode 100644 index 0000000..d909843 --- /dev/null +++ b/workspace/resources/views/OLD/app.blade.php @@ -0,0 +1,82 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + + <title>Laravel</title> + + <!-- Fonts --> + <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css" integrity="sha384-XdYbMnZ/QjLh6iI4ogqCTaIjrFk87ip+ekIjefZch0Y+PvJ8CDYtEs1ipDmPorQ+" crossorigin="anonymous"> + <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:100,300,400,700"> + + <!-- Styles --> + <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous"> + {{-- <link href="{{ elixir('css/app.css') }}" rel="stylesheet"> --}} + + <style> + body { + font-family: 'Lato'; + } + + .fa-btn { + margin-right: 6px; + } + </style> +</head> +<body id="app-layout"> + <nav class="navbar navbar-default navbar-static-top"> + <div class="container"> + <div class="navbar-header"> + + <!-- Collapsed Hamburger --> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#app-navbar-collapse"> + <span class="sr-only">Toggle Navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + + <!-- Branding Image --> + <a class="navbar-brand" href="{{ url('/') }}"> + Laravel + </a> + </div> + + <div class="collapse navbar-collapse" id="app-navbar-collapse"> + <!-- Left Side Of Navbar --> + <ul class="nav navbar-nav"> + <li><a href="{{ url('/home') }}">Home</a></li> + </ul> + + <!-- Right Side Of Navbar --> + <ul class="nav navbar-nav navbar-right"> + <!-- Authentication Links --> + @if (Auth::guest()) + <li><a href="{{ url('/login') }}">Login</a></li> + <li><a href="{{ url('/register') }}">Register</a></li> + @else + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + {{ Auth::user()->name }} <span class="caret"></span> + </a> + + <ul class="dropdown-menu" role="menu"> + <li><a href="{{ url('/logout') }}"><i class="fa fa-btn fa-sign-out"></i>Logout</a></li> + </ul> + </li> + @endif + </ul> + </div> + </div> + </nav> + + @yield('content') + + <!-- JavaScripts --> + <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery.min.js" integrity="sha384-I6F5OKECLVtK/BL+8iSLDEHowSAfUo76ZL9+kGAgTRdiByINKJaqTPH/QVNS1VDb" crossorigin="anonymous"></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script> + {{-- <script src="{{ elixir('js/app.js') }}"></script> --}} +</body> +</html> diff --git a/workspace/resources/views/OLD/head.blade.php b/workspace/resources/views/OLD/head.blade.php new file mode 100644 index 0000000..cec3402 --- /dev/null +++ b/workspace/resources/views/OLD/head.blade.php @@ -0,0 +1,134 @@ +<!DOCTYPE html> +<html lang="fr"> + <head> + <!-- Required meta tags always come first --> + <meta charset="utf-8"> + <meta http-equiv="x-ua-compatible" content="ie=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + + <title>@yield('title')</title> + + <!-- Font Awesome --> + <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.0/css/font-awesome.min.css"> + + <!-- Bootstrap core CSS --> + <link rel="stylesheet" href="/css/bootstrap.min.css"> + + <!-- Material Design Bootstrap --> + <link rel="stylesheet" href="/css/mdb.min.css"> + + <!-- Custom CSS + <link rel="stylesheet" href="style.css"> + --> + + <!-- favicons + ================================================== --> + <link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> + <link rel="icon" href="favicon.ico" type="image/x-icon"> + + <style> + html, body { + padding:0; + margin:0; + } + + body { + padding-top: 8em; + } + + main { + padding-top: 3rem; + padding-bottom: 2rem; + } + + .extra-margins { + margin-top: 1rem; + margin-bottom: 2.5rem; + } + + .nav-right{ + margin-left: auto; + } + + .nav-perso-color{ + background-color: #9acd32; + } + + nav .bold{ + text-decoration: bold; + color: #fff; + } + + nav .nav-item a:hover, + nav .nav-item a:focus { + background-color: #3E3E3E; + background: -moz-linear-gradient(bottom , #dadada 0pt, #999 50%, #999 51%, #dadada 100%) repeat scroll 0 0 transparent; + background: -webkit-linear-gradient(bottom , #dadada 0pt, #999 50%, #999 51%, #dadada 100%) repeat scroll 0 0 transparent; + background: -ms-linear-gradient(bottom , #dadada 0pt, #999 50%, #999 51%, #dadada 100%) repeat scroll 0 0 transparent; + background: -o-linear-gradient(bottom , #dadada 0pt, #999 50%, #999 51%, #dadada 100%) repeat scroll 0 0 transparent; + background: linear-gradient(bottom , #dadada 0pt, #999 50%, #999 51%, #dadada 100%) repeat scroll 0 0 transparent; + text-shadow: -1px -1px 0 #666; + } + + center { + margin: auto; + padding: auto; + text-align: center; + } + + /* + * Footer + */ + + .blog-footer { + padding: 2.5rem 0; + color: #999; + text-align: center; + background-color: #f9f9f9; + background-size: 100%; + border-top: .05rem solid #e5e5e5; + font-size: 0.5em; + } + .blog-footer p:last-child { + margin-bottom: 0; + } + + .site_links + .social-links { + + + } + + </style> + <!-- Scripts TODO + <script src="bootstrap/assets/js/ie-emulation-modes-warning.js"></script> + --> + </head> + + <header> + @yield('header') + </header> + + <body> + @yield('body') + </body> + + <footer class="blog-footer"> + @yield('footer') + </footer> + + <!-- SCRIPTS --> + + <!-- JQuery --> + <script type="text/javascript" src="/jquery/jquery.min.js"></script> + + <!-- Bootstrap tooltips --> + <script type="text/javascript" src="/js/tether.min.js"></script> + + <!-- Bootstrap core JavaScript --> + <script type="text/javascript" src="/js/bootstrap.js"></script> + + <!-- MDB core JavaScript --> + <script type="text/javascript" src="/js/mdb.min.js"></script> + +</html> \ No newline at end of file diff --git a/workspace/resources/views/OLD/header.blade.php b/workspace/resources/views/OLD/header.blade.php new file mode 100644 index 0000000..4bb9aeb --- /dev/null +++ b/workspace/resources/views/OLD/header.blade.php @@ -0,0 +1,134 @@ +@extends('head') + +@section('header') +<!-- style='background: url("/img/feuillesNav.jpeg") no-repeat; background-size: cover;' --> +<nav class="navbar navbar-toggleable-sm nav-perso-color navbar-light fixed-top"> + <div class="container"> + <button class="navbar-toggler navbar-toggler-right mt-0" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-expanded="false" aria-label="Toggle navigation"> + <span class="navbar-toggler-icon"></span> + </button> + <h1 class="py-0 ml-lg-0 mx-3"><a href="#"> <img src="/img/arbre.jpg" width=90em/> </a></h1> + <div class="collapse navbar-collapse flex-column ml-lg-0 ml-3" id="navbarCollapse"> + <!-- Première ligne de liens --> + <ul class="navbar-nav"> + <li class="nav-item"> + <a class="nav-link" href="index.html" title="">Accueil</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="" title="">Mon compte</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="" title="">Mes voisins</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="" title="">Les produits</a> + </li> + <li class="nav-item nav-right mr-lg-0"> + <form class="form-inline waves-effect waves-light"> + <input class="form-control" type="text" placeholder="Chercher..."> + </form> + </li> + </ul> + <!-- Deuxième ligne de liens --> + <ul class="navbar-nav flex-row mb-0"> + <li class="nav-item"> </li> + <!-- <li class="nav-item"> + <a class="btn nav-perso-color btn-sm" style="background-color:red;" href="index.html#presentation" title="Une bonne question">Projets</a> + </li> --> + <!-- + <li class="nav-item"> + <div class="dropdown" > + <button class="btn btn-sm nav-perso-color dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" style="background-color:red;" title="Oui je fais des choses, je te vois douter"> + Projets + </button> + <div class="dropdown-menu" aria-labelledby="dropdownMenuButton"> + <a class="dropdown-item" href="#">Projet 1</a> + <a class="dropdown-item" href="#">Projet 1+1</a> + <a class="dropdown-item" href="#">Projet 1+1+1</a> + </div> + </div> + </li> + <li class="nav-item"> + <div class="dropdown"> + <button class="btn btn-sm nav-perso-color dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" style="background-color:orange;" title="Certifiées sans trucage"> + Photos + </button> + <div class="dropdown-menu" aria-labelledby="dropdownMenuButton"> + <a class="dropdown-item" href="#">Nouveautées</a> + <a class="dropdown-item" href="#">Plus consultées</a> + <a class="dropdown-item" href="#">Toutes</a> + </div> + </div> + </li> + <li class="nav-item"> + <div class="dropdown"> + <button class="btn btn-sm nav-perso-color dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" style="background-color:green;" title="Certifiées sans trucage également"> + Musiques + </button> + <div class="dropdown-menu" aria-labelledby="dropdownMenuButton"> + <a class="dropdown-item" href="#">Nouveautées</a> + <a class="dropdown-item" href="#">Préférées</a> + <a class="dropdown-item" href="#">Toutes</a> + </div> + </div> + </li> + --> + </ul> + </div> + </div> +</nav> +@endsection + +@section('footer') +<div class="row"> + + <div class="col-md-1"></div> + + <div class="col-md-4 footer-info"> + + <h4>@lang('About Our Site')</h4> + + <p>@lang('Lorem ipsum Ut velit dolor Ut labore id fugiat in ut fugiat nostrud qui in dolore commodo eu magna Duis cillum dolor officia esse mollit proident Excepteur exercitation nulla. Lorem ipsum In reprehenderit commodo aliqua irure labore.')</p> + + </div> <!-- end footer-info --> + + <div class="col-md-4"></div> + + <div class="col-md-1 site-links"> + + <h4>@lang('Links')</h4> + + <ul> + <li><a href="#">@lang('About us')</a></li> + <li><a href="#">@lang('Blog')</a></li> + <li><a href="#">@lang('Contact')</a></li> + <li><a href="#">@lang('Privacy Policy')</a></li> + </ul> + + </div> <!-- end site-links --> + + <div class="col-md-1 social-links"> + + <h4>@lang('Social')</h4> + + <ul> + <li><a href="#">Twitter</a></li> + <li><a href="#">Facebook</a></li> + <li><a href="#">Dribbble</a></li> + <li><a href="#">Google+</a></li> + <li><a href="#">Instagram</a></li> + </ul> + + </div> <!-- end social links --> + +</div> <!-- end row --> + +<div class="row"> + <div class="col-md-2"> + <div class="copyright"> + <span>© Copyright Parpaing 2017</span> + <!-- <span>Design by <a href="http://www.styleshout.com/">styleshout</a></span> --> + </div> + </div> +</div> +@endsection \ No newline at end of file diff --git a/workspace/resources/views/OLD/index.blade.php b/workspace/resources/views/OLD/index.blade.php new file mode 100644 index 0000000..60bd89a --- /dev/null +++ b/workspace/resources/views/OLD/index.blade.php @@ -0,0 +1,69 @@ +@extends('header') + +@section('title') + index +@endsection + +@section('body') + + +<div class="jumbotron-fluid"> + <!-- + <div> + <div class="container"> + <h1 class="display-3">Coucou !</h1> + <p>Ce site web est plus un test qu'un vrai truc utile... Mais bon si vous avez 2 minutes à perdre vous pouvez rester un instant ! :)</p> + <p><a class="btn btn-primary btn-lg" href="https://ar1.se/WTFDD9DZOL" target="_blank" role="button">Learn more »</a></p> + </div> + </div> +--> + + <div class="container"> + <!-- Example row of columns --> + <div class="row"> + <article class="col-md-2"> + <h2>News: </h2> + <a href="img/parpaingALaPlage.png" target="_blank"> + <img class="imgProd" src="/img/arbre.jpg" height="100" alt="Parpaing à la plage" title="SOUS LE SOLEIL DES TROPIQUES !"/> + </a> + <p>Ce site est <em>encore</em> en cours de développement... Et honêtement je pense qu'il le sera toujours. </p> + </article> + + <div class="col-sm-4 portfolio-item"> + <a class="portfolio-link" href="#portfolioModal1" data-toggle="modal"> + <div class="caption"> + <div class="caption-content"> + <i class="fa fa-search-plus fa-3x"></i> + </div> + </div> + <img class="img-fluid" src="img/arbre.jpg" alt=""> + </a> + </div> + + <article class="col-md-2"> + <h2>À propos:</h2> + <p>Vous souhaitez savoir dans quels associations je suis inscrit, où vous pourrez me trouver ou encore plein d'autres détails inintéressants ?</p> + <p><a class="btn btn-secondary" href="#" role="button">Par ici »</a></p> + </article> + <article class="col-md-2"> + <h2>Lou pays:</h2> + <div class="imgArticle"> + <p>Si tou veux voir oune video qu'ça déchire tou peux cliquer !</p> + <p><a class="btn btn-secondary" href="img/carglouch.mp4" target="_blank" role="button">Oh carralho »</a></p> + </div> + </article> + <article class="col-md-2"> + <h2>Exclu':</h2> + <p>Et voilà une photo en exclu de mes dernières vacances d'été... Ah comme j'étais bien !</p> + <a href="img/parpaingALaPlage.png" target="_blank"><img src="img/parpaingALaPlage.png" height="200" alt="Parpaing à la plage" title="SOUS LE SOLEIL DES TROPIQUES !"/></a> + </article> + <!-- <div class="col-md-4"> + <h2>Heading</h2> + <p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p> + <p><a class="btn btn-secondary" href="#" role="button">View details »</a></p> + </div> --> + </div> + <hr> + </div> +</div> +@endsection \ No newline at end of file diff --git a/workspace/resources/views/OLD/login.blade.php b/workspace/resources/views/OLD/login.blade.php new file mode 100644 index 0000000..ef5002d --- /dev/null +++ b/workspace/resources/views/OLD/login.blade.php @@ -0,0 +1,70 @@ +@extends('layouts.header') + +@section('title') + Connexion +@endsection + + +@section('content') +<div class="container"> + <div class="row"> + <div class="col-md-8 col-md-offset-2"> + <div class="panel panel-default"> + <div class="panel-heading">Login</div> + <div class="panel-body"> + <form class="form-horizontal" role="form" method="POST" action="{{ url('/login') }}"> + {{ csrf_field() }} + + <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}"> + + <div class="col-md-6"> + <input id="email" type="email" class="form-control" + name="email" value="{{ old('email') }}" placeholder="Email"> + + @if ($errors->has('email')) + <span class="help-block"> + <strong>{{ $errors->first('email') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}"> + + <div class="col-md-6"> + <input id="password" type="password" class="form-control" name="password" placeholder="Mot de passe"> + + @if ($errors->has('password')) + <span class="help-block"> + <strong>{{ $errors->first('password') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group"> + <div class="col-md-6 col-md-offset-4"> + <div class="checkbox"> + <label> + <input type="checkbox" name="remember"> Remember Me + </label> + </div> + </div> + </div> + + <div class="form-group"> + <div class="col-md-6 col-md-offset-4"> + <button type="submit" class="btn btn-primary"> + <i class="fa fa-btn fa-sign-in"></i> Login + </button> + + <a class="btn btn-link" href="{{ url('/password/reset') }}">Forgot Your Password?</a> + </div> + </div> + </form> + </div> + </div> + </div> + </div> +</div> +@endsection diff --git a/workspace/resources/views/OLD/register.blade.php b/workspace/resources/views/OLD/register.blade.php new file mode 100644 index 0000000..4705d6e --- /dev/null +++ b/workspace/resources/views/OLD/register.blade.php @@ -0,0 +1,82 @@ +@extends('layouts.app') + +@section('content') +<div class="container"> + <div class="row"> + <div class="col-md-8 col-md-offset-2"> + <div class="panel panel-default"> + <div class="panel-heading">Register</div> + <div class="panel-body"> + <form class="form-horizontal" role="form" method="POST" action="{{ url('/register') }}"> + {{ csrf_field() }} + + <div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}"> + <label for="name" class="col-md-4 control-label">Name</label> + + <div class="col-md-6"> + <input id="name" type="text" class="form-control" name="name" value="{{ old('name') }}"> + + @if ($errors->has('name')) + <span class="help-block"> + <strong>{{ $errors->first('name') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}"> + <label for="email" class="col-md-4 control-label">E-Mail Address</label> + + <div class="col-md-6"> + <input id="email" type="email" class="form-control" name="email" value="{{ old('email') }}"> + + @if ($errors->has('email')) + <span class="help-block"> + <strong>{{ $errors->first('email') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}"> + <label for="password" class="col-md-4 control-label">Password</label> + + <div class="col-md-6"> + <input id="password" type="password" class="form-control" name="password"> + + @if ($errors->has('password')) + <span class="help-block"> + <strong>{{ $errors->first('password') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group{{ $errors->has('password_confirmation') ? ' has-error' : '' }}"> + <label for="password-confirm" class="col-md-4 control-label">Confirm Password</label> + + <div class="col-md-6"> + <input id="password-confirm" type="password" class="form-control" name="password_confirmation"> + + @if ($errors->has('password_confirmation')) + <span class="help-block"> + <strong>{{ $errors->first('password_confirmation') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group"> + <div class="col-md-6 col-md-offset-4"> + <button type="submit" class="btn btn-primary"> + <i class="fa fa-btn fa-user"></i> Register + </button> + </div> + </div> + </form> + </div> + </div> + </div> + </div> +</div> +@endsection diff --git a/workspace/resources/views/auth/emails/password.blade.php b/workspace/resources/views/auth/emails/password.blade.php new file mode 100644 index 0000000..1b53830 --- /dev/null +++ b/workspace/resources/views/auth/emails/password.blade.php @@ -0,0 +1 @@ +Click here to reset your password: <a href="{{ $link = url('password/reset', $token).'?email='.urlencode($user->getEmailForPasswordReset()) }}"> {{ $link }} </a> diff --git a/workspace/resources/views/auth/login.blade.php b/workspace/resources/views/auth/login.blade.php new file mode 100644 index 0000000..ef75b06 --- /dev/null +++ b/workspace/resources/views/auth/login.blade.php @@ -0,0 +1,77 @@ +@extends('layouts.app') + +@section('title') + Connexion +@endsection + + +@section('content') + +<div class="container mb-5"> + <div class="row"> + <div class="text-center col-lg-12"> + <h1 class="my-5">Connexion</h1> + </div> + </div> + + <div class="row"> + <div class="col-lg-4"></div> + <div class="panel panel-info jumbotron col-lg-4"> + <div class="panel-body"> + <!-- Formulaire d'inscription puis connexion en cours de création TODO --> + + <!-- Vérif de l'adresse email --> + <form class="form-horizontal" role="form" method="POST" action="{{ url('/login') }}"> + {{ csrf_field() }} + + <div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}"> + <input id="email" type="email" class="form-control" + name="email" value="{{ old('email') }}" placeholder="email"> + @if ($errors->has('email')) + <span class="help-block"> + <strong>{{ $errors->first('email') }}</strong> + </span> + @endif + </div> + + <!-- Vérif du mot de passe --> + <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}"> + + <input id="password" type="password" class="form-control" name="password" placeholder="Mot de passe"> + + @if ($errors->has('password')) + <span class="help-block"> + <strong>{{ $errors->first('password') }}</strong> + </span> + @endif + </div> + + <div class="form-group"> + <div class="col-lg-6 col-lg-offset-4"> + <div class="checkbox"> + <label> + <input type="checkbox" name="remember"> Se rappeler de moi + </label> + </div> + </div> + </div> + + <div class="form-group"> + <div class="col-lg-6 col-lg-offset-4"> + <button type="submit" class="btn btn-primary mb-5"> + <i class="fa fa-btn fa-sign-in"></i> Connexion + </button> + + <a class="btn btn-link my-3" href="{{ url('/register') }}">Vous n'avez pas encore de compte?</a> + + <a class="btn btn-link" href="{{ url('/password/reset') }}">Vous avez oublié votre mot de passe?</a> + </div> + </div> + </form> + </div> + </div> + <div class="col-lg-4"></div> + </div> +</div> + +@endsection diff --git a/workspace/resources/views/auth/passwords/email.blade.php b/workspace/resources/views/auth/passwords/email.blade.php new file mode 100644 index 0000000..add6bea --- /dev/null +++ b/workspace/resources/views/auth/passwords/email.blade.php @@ -0,0 +1,58 @@ +@extends('layouts.app') + +@section('title') + Mot de passe oublié +@endsection + +<!-- Main Content --> +@section('content') + +<div class="container"> + <div class="row"> + <div class="text-center col-lg-12"> + <h1 class="my-4">Mot de passe oublié</h1> + </div> + </div> + + <div class="row"> + <div class="col-lg-4"></div> + <div class="panel panel-info jumbotron col-lg-4"> + <div class="panel-body"> + + @if (session('status')) + <div class="alert alert-success"> + {{ session('status') }} + </div> + @endif + + <form class="form-horizontal" role="form" method="POST" action="{{ url('/password/email') }}"> + {{ csrf_field() }} + + <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}"> + + <div class="col-md-6"> + <input id="email" type="email" class="form-control" name="email" value="{{ old('email') }}" placeholder="Email"> + + @if ($errors->has('email')) + <span class="help-block"> + <strong>{{ $errors->first('email') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group"> + <div class="col-md-6 col-md-offset-4"> + <button type="submit" class="btn btn-primary"> + <i class="fa fa-btn fa-envelope"></i> Changer mon mot de passe + </button> + </div> + </div> + </form> + </div> + </div> + <div class="col-lg-4"></div> + </div> +</div> + +@endsection diff --git a/workspace/resources/views/auth/passwords/reset.blade.php b/workspace/resources/views/auth/passwords/reset.blade.php new file mode 100644 index 0000000..6e764bf --- /dev/null +++ b/workspace/resources/views/auth/passwords/reset.blade.php @@ -0,0 +1,76 @@ +@extends('layouts.app') + +@section('title') + Mot de passe oublié +@endsection + +@section('content') + +<div class="container"> + <div class="row"> + <div class="text-center col-lg-12"> + <h1 class="my-4">Changer mon mot de passe</h1> + </div> + </div> + + <div class="row"> + <div class="col-lg-4"></div> + <div class="panel panel-info jumbotron col-lg-4"> + <div class="panel-body"> + + <form class="form-horizontal" role="form" method="POST" action="{{ url('/password/reset') }}"> + {{ csrf_field() }} + + <input type="hidden" name="token" value="{{ $token }}"> + + <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}"> + <div class="col-md-6"> + <input id="email" type="email" class="form-control" name="email" value="{{ $email or old('email') }}" placeholder="Email"> + + @if ($errors->has('email')) + <span class="help-block"> + <strong>{{ $errors->first('email') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}"> + <div class="col-md-6"> + <input id="password" type="password" class="form-control" name="password" placeholder="Mot de passe"> + + @if ($errors->has('password')) + <span class="help-block"> + <strong>{{ $errors->first('password') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group{{ $errors->has('password_confirmation') ? ' has-error' : '' }}"> + <div class="col-md-6"> + <input id="password-confirm" type="password" class="form-control" name="password_confirmation" placeholder="Confirmez votre mot de passe"> + + @if ($errors->has('password_confirmation')) + <span class="help-block"> + <strong>{{ $errors->first('password_confirmation') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group"> + <div class="col-md-6 col-md-offset-4"> + <button type="submit" class="btn btn-primary"> + <i class="fa fa-btn fa-refresh"></i> Changer mon mot de passe + </button> + </div> + </div> + </form> + </div> + </div> + <div class="col-lg-4"></div> + </div> +</div> + +@endsection diff --git a/workspace/resources/views/auth/register.blade.php b/workspace/resources/views/auth/register.blade.php new file mode 100644 index 0000000..3af402c --- /dev/null +++ b/workspace/resources/views/auth/register.blade.php @@ -0,0 +1,88 @@ +@extends('layouts.app') + +@section('title') + Inscription +@endsection + +@section('content') +<div class="container"> + <div class="row"> + <div class="text-center col-lg-12"> + <h1 class="my-4">Inscription</h1> + </div> + </div> + + <div class="row"> + <div class="col-lg-4"></div> + <div class="panel panel-info jumbotron col-lg-4"> + <div class="panel-body"> + <form class="form-horizontal" role="form" method="POST" action="{{ url('/register') }}"> + {{ csrf_field() }} + + <div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}"> + <input id="name" type="text" class="form-control" name="name" value="{{ old('name') }}" placeholder="Pseudo"> + + @if ($errors->has('name')) + <span class="help-block"> + <i class="indication">{{ $errors->first('name') }}</i> + </span> + @endif + </div> + + <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}"> + <input id="email" type="email" class="form-control" name="email" value="{{ old('email') }}" placeholder="Email"> + + @if ($errors->has('email')) + <span class="help-block"> + <i class="indication">{{ $errors->first('email') }}</i> + </span> + @endif + </div> + + <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}"> + <input id="password" type="password" class="form-control" name="password" placeholder="Mot de passe"> + + @if ($errors->has('password')) + <span class="help-block"> + <i class="indication">{{ $errors->first('password') }}</i> + </span> + @endif + </div> + + <div class="form-group{{ $errors->has('password_confirmation') ? ' has-error' : '' }}"> + <input id="password-confirm" type="password" class="form-control" name="password_confirmation" placeholder="Confirmez votre mot de passe"> + + @if ($errors->has('password_confirmation')) + <span class="help-block"> + <i class="indication">{{ $errors->first('password_confirmation') }}</i> + </span> + @endif + </div> + + <div class="form-group{{ $errors->has('cgu_checked') ? ' has-error' : '' }}"> + <input id="cgu_checked" type="checkbox" value="true" {{ !old('cgu_checked') ?: 'checked' }} class="mr-3" name="cgu_checked"> J'accepte les <a href="/cgu" target="_blank">CGU</a>. + + @if ($errors->has('cgu_checked')) + <br/> + <span class="help-block"> + <!-- <strong>{{ $errors->first('cgu_checked') }}</strong> --> + <i class="indication">Vous devez accepter les cgu.</i> + </span> + @endif + </div> + + <div class="form-group mt-5"> + <div class="col-md-6 col-md-offset-4"> + <button type="submit" class="btn btn-primary"> + <i class="fa fa-btn fa-user"></i> S'inscrire + </button> + </div> + </div> + </form> + </div> + </div> + <div class="col-lg-4"></div> + </div> +</div> + +@endsection diff --git a/workspace/resources/views/confirmRegistery.blade.php b/workspace/resources/views/confirmRegistery.blade.php new file mode 100644 index 0000000..dff4baf --- /dev/null +++ b/workspace/resources/views/confirmRegistery.blade.php @@ -0,0 +1,29 @@ +@extends('layouts.app') + +@section('title') + Inscription +@endsection + + +@section('content') + +<div class="container mb-5"> + <div class="row"> + <div class="text-center col-lg-12"> + <h1 class="my-4">Inscription</h1> + </div> + </div> + + <div class="row"> + <div class="col-lg-4"></div> + <div class="panel panel-info jumbotron col-lg-4 center"> + <p class="text-center">Votre inscription a bien été prise en compte.</p> + <p class="text-center">Merci !</p> + <br/> + <p class="text-center"><a href="/">Retour à l'accueil</a></p> + </div> + <div class="col-lg-4"></div> + </div> +</div> + +@endsection \ No newline at end of file diff --git a/workspace/resources/views/errors/503.blade.php b/workspace/resources/views/errors/503.blade.php new file mode 100644 index 0000000..4a41505 --- /dev/null +++ b/workspace/resources/views/errors/503.blade.php @@ -0,0 +1,47 @@ +<!DOCTYPE html> +<html> + <head> + <title>Be right back.</title> + + <link href="https://fonts.googleapis.com/css?family=Lato:100" rel="stylesheet" type="text/css"> + + <style> + html, body { + height: 100%; + } + + body { + margin: 0; + padding: 0; + width: 100%; + color: #B0BEC5; + display: table; + font-weight: 100; + font-family: 'Lato'; + } + + .container { + text-align: center; + display: table-cell; + vertical-align: middle; + } + + .content { + text-align: center; + display: inline-block; + } + + .title { + font-size: 72px; + margin-bottom: 40px; + } + </style> + </head> + <body> + <div class="container"> + <div class="content"> + <div class="title">Be right back.</div> + </div> + </div> + </body> +</html> diff --git a/workspace/resources/views/function/announce.php b/workspace/resources/views/function/announce.php new file mode 100644 index 0000000..e69de29 diff --git a/workspace/resources/views/guide/cgu.blade.php b/workspace/resources/views/guide/cgu.blade.php new file mode 100644 index 0000000..5bf8703 --- /dev/null +++ b/workspace/resources/views/guide/cgu.blade.php @@ -0,0 +1,27 @@ +@extends('layouts.app') + +@section('title') + Inscription +@endsection + + +@section('content') + +<div class="container mb-5"> + <div class="row"> + <div class="text-center col-lg-12"> + <h1 class="my-4">Conditions Générales d'Utilisation</h1> + </div> + </div> + + <div class="row"> + <div class="col-lg-4"></div> + <div class="panel panel-info jumbotron col-lg-4 center"> + <p class="text-center">Faut être gentil et poli.</p> + <p class="text-center">Merci !</p> + </div> + <div class="col-lg-4"></div> + </div> +</div> + +@endsection \ No newline at end of file diff --git a/workspace/resources/views/home.blade.php b/workspace/resources/views/home.blade.php new file mode 100644 index 0000000..7adf5c2 --- /dev/null +++ b/workspace/resources/views/home.blade.php @@ -0,0 +1,17 @@ +@extends('layouts.app') + +@section('content') +<div class="container"> + <div class="row"> + <div class="col-md-10 col-md-offset-1"> + <div class="panel panel-default"> + <div class="panel-heading">Dashboard</div> + + <div class="panel-body"> + You are logged in! + </div> + </div> + </div> + </div> +</div> +@endsection diff --git a/workspace/resources/views/index.blade.php b/workspace/resources/views/index.blade.php new file mode 100644 index 0000000..e688331 --- /dev/null +++ b/workspace/resources/views/index.blade.php @@ -0,0 +1,101 @@ +@extends('layouts.app') + +@section('title') +Accueil +@endsection + + +@section('content') +<div class="container"> + <div class="container"> + <h1 class="my-5">Bienvenue sur Bonsaiie !</h1> + + <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio, + gravida pellentesque urna varius vitae. Sed dui lorem, adipiscing in adipiscing et, + interdum nec metus. Mauris ultricies, justo eu convallis placerat, felis enim.</p> + + <p><a class="btn btn-primary btn-lg" style="background-color: black;" href="https://ar1.se/WTFDD9DZOL" target="_blank" role="button">En savoir plus »</a></p> + </div> + + + <div class="row"> + + <div class="col-md-8"> + <div id="carouselExampleIndicators" class="carousel slide my-4" data-ride="carousel"> + <ol class="carousel-indicators"> + <li data-target="#carouselExampleIndicators" data-slide-to="0" class="active"></li> + <li data-target="#carouselExampleIndicators" data-slide-to="1"></li> + <li data-target="#carouselExampleIndicators" data-slide-to="2"></li> + </ol> + + <div class="carousel-inner" role="listbox"> + <div class="carousel-item active"> + <img class="d-block img-fluid" src="http://placehold.it/900x350" alt="First slide"> + </div> + <div class="carousel-item"> + <img class="d-block img-fluid" src="http://placehold.it/900x350" alt="Second slide"> + </div> + <div class="carousel-item"> + <img class="d-block img-fluid" src="http://placehold.it/900x350" alt="Third slide"> + </div> + </div> + + <a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev"> + <span class="carousel-control-prev-icon" aria-hidden="true"></span> + <span class="sr-only">Previous</span> + </a> + + <a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next"> + <span class="carousel-control-next-icon" aria-hidden="true"></span> + <span class="sr-only">Next</span> + </a> + </div> + </div> + + <div class="col-md-4"> + <h3 class="my-3">Project Description</h3> + <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio, + gravida pellentesque urna varius vitae. Sed dui lorem, adipiscing in adipiscing et, + interdum nec metus. Mauris ultricies, justo eu convallis placerat, felis enim.</p> + <h3 class="my-3">Project Details</h3> + <ul> + <li>Lorem Ipsum</li> + <li>Dolor Sit Amet</li> + <li>Consectetur</li> + <li>Adipiscing Elit</li> + </ul> + </div> + + </div> + + <h3 class="my-4">Périment bientôt</h3> + + <div class="row"> + + <div class="col-md-3 col-sm-6 mb-4"> + <a href="#"> + <img class="img-fluid" src="http://placehold.it/500x300" alt=""> + </a> + </div> + + <div class="col-md-3 col-sm-6 mb-4"> + <a href="#"> + <img class="img-fluid" src="http://placehold.it/500x300" alt=""> + </a> + </div> + + <div class="col-md-3 col-sm-6 mb-4"> + <a href="#"> + <img class="img-fluid" src="http://placehold.it/500x300" alt=""> + </a> + </div> + + <div class="col-md-3 col-sm-6 mb-4"> + <a href="#"> + <img class="img-fluid" src="http://placehold.it/500x300" alt=""> + </a> + </div> + + </div> +</div> +@endsection \ No newline at end of file diff --git a/workspace/resources/views/layouts/app.blade.php b/workspace/resources/views/layouts/app.blade.php new file mode 100644 index 0000000..d437503 --- /dev/null +++ b/workspace/resources/views/layouts/app.blade.php @@ -0,0 +1,150 @@ +@extends('layouts.meta') + +@section('header') + +<nav class="navbar navbar-expand-md navbar-dark fixed-top nav-perso-color"> + <div class="container"> + <h1> + <!--J'ai mit des / au lieu de # pour faire un bouton retours accueil plus "naturel"--> + <a href="{{url('/')}}"> <img src="/img/doge.png" width=50em /> </a> + <a class="navbar-brand" href="{{url('/')}}">Bonsaiie</a> + </h1> + + <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> + <span class="navbar-toggler-icon"></span> + </button> + + <div class="collapse navbar-collapse" id="navbarSupportedContent"> + <ul class="navbar-nav ml-auto"> + + <li class="nav-item active"> + <a class="nav-link" href="{{url('/')}}">Accueil<span class="sr-only">(current)</span></a> + </li> + @if (Auth::guest()) + <li class="nav-item"> + <a class="nav-link" href="{{ url('/login') }}">Se connecter</a> + </li> + <!-- + <li class="nav-item"> + <a class="nav-link" href="{{ url('/register') }}">Register</a> + </li> --> + @else + <!-- voir pour un dropdown avec des options du compte --> + <li class="nav-item"> + <div class="dropdown"> + <a href="/compte" class="nav-link dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Mon compte<span class="caret"></span> + </a> + + <div class="dropdown-menu" aria-labelledby="dropdownMenuButton"> + + <!-- Lance directement une recher générale --> + <a class="dropdown-item" href="#">{{ Auth::user()->name }}</a> + + <!-- Lance diirect une recherche sur des aliments bios --> + <!-- TODO : Revoir le href, et utiliser le {{url('quelque chose')}} --> + <a class="dropdown-item" href="/user">Modifier son profil</a> + + <!-- Lance directement une recher sur des plantes décoratives --> + <a class="dropdown-item" href="#">option3</a> + + <!-- Lance directement une recher sur des recettes de cuisine --> + <a class="dropdown-item" href="#">recettes</a> + + <a class="dropdown-item" href="{{ url('logout') }}"><i class="fa fa-btn fa-sign-out"></i><span class="logout">Se déconnecter</span></a> + </div> + </div> + </li> + @endif + <li class="nav-item"> + <div class="dropdown" > + <a class="nav-link dropdown-toggle" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" + aria-expanded="false" href="#">Produits</a> + <ul class="dropdown-menu" aria-labelledby="dropdownMenuButton"> + <!-- Lance directement une recher générale --> + <li><a class="dropdown-item" href="{{url('products')}}">Tous les produits</a></li> + + <!-- Lance diirect une recherche sur des aliments bios --> + <li><a class="dropdown-item" href="{{url('products')}}">Alimentaire</a></li> + + <!-- Lance directement une recher sur des plantes décoratives --> + <li><a class="dropdown-item" href="#">Recettes</a></li> + + <!-- Lance directement une recher sur des recettes de cuisine --> + <li><a class="dropdown-item" href="#">Décos</a></li> + </ul> + </div> + </li> + + <!-- Pour déposer une annonce --> + @if (Auth::check()) + <li class="nav-item"> + <a class="nav-link" href="{{url('products/create')}}">Déposer une annonce</a> + </li> + + @else <li class="nav-item"> + <a class="nav-link" href="{{url('products/create')}}">Déposer une annonce (guest)</a> + </li> + @endif + </ul> + + <form class="form-inline waves-effect waves-light" method="POST" action="{{ url('products/research') }}"> + {{ csrf_field() }} + <input class="form-control" style="background-color: #004400;" type="text" placeholder="Chercher..." name="r"> + </form> + + </div> + </div> +</nav> + +@endsection + +@section('footer') + +<div class="row"> + + <div class="col-md-1"></div> + + <div class="col-md-4 footer-info"> + + <h4>@lang('texts.About Our Site')</h4> + + <!--@lang('Lorem ipsum Ut velit dolor Ut labore id fugiat in ut fugiat nostrud qui in dolore commodo eu magna Duis cillum dolor officia esse mollit proident Excepteur exercitation nulla. Lorem ipsum In reprehenderit commodo aliqua irure labore.')--> + <p>On est un groupe de PIMA cool de l'ENSIIE. Ce site apporte sa contribution au respect de la planète</p> + + </div> <!-- end footer-info --> +<!-- + <div class="col-md-4"></div> + + <div class="col-md-1 site-links"> + + <h4>@lang('Links')</h4> + + <ul> + <li><a href="#">@lang('About us')</a></li> + <li><a href="#">@lang('Blog')</a></li> + <li><a href="#">@lang('Contact')</a></li> + <li><a href="#">@lang('Privacy Policy')</a></li> + </ul> + + </div> +--> +<!-- end site-links --> +<!-- + <div class="col-md-1 social-links"> + + <h4>@lang('Social')</h4> + + <ul> + <li><a href="#">Twitter</a></li> + <li><a href="#">Facebook</a></li> + <li><a href="#">Dribbble</a></li> + <li><a href="#">Google+</a></li> + <li><a href="#">Instagram</a></li> + </ul> + + </div> +--> + <!-- end social links --> +</div> + +@endsection \ No newline at end of file diff --git a/workspace/resources/views/layouts/meta.blade.php b/workspace/resources/views/layouts/meta.blade.php new file mode 100644 index 0000000..d149354 --- /dev/null +++ b/workspace/resources/views/layouts/meta.blade.php @@ -0,0 +1,226 @@ +<!DOCTYPE html> +<html lang="fr"> + <head> + <!-- Required meta tags always come first --> + <meta charset="utf-8"> + <meta http-equiv="x-ua-compatible" content="ie=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + + <title>@yield('title')</title> + + <link rel="icon" type="image/png" href="/img/arbreRond-resized.png" /> + + <!-- Font Awesome --> + <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.0/css/font-awesome.min.css"> + + <!-- Material Design Bootstrap --> + <link rel="stylesheet" href="/css/custom.css"> + + <!-- Bootstrap core CSS --> + <link rel="stylesheet" href="/css/bootstrap.min.css"> + + <!-- Custom CSS + <link rel="stylesheet" href="style.css"> + --> + + <!-- favicons + ================================================== --> + <link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> + <link rel="icon" href="favicon.ico" type="image/x-icon"> + + <style> + html, body { + padding:0; + margin:0; + } + + body { + padding-top: 8em; + } + + main { + padding-top: 3rem; + padding-bottom: 2rem; + } + + @media (min-width: 992px) { + body { + padding-top: 56px; + } + } + + .extra-margins { + margin-top: 1rem; + margin-bottom: 2.5rem; + } + + .nav-right{ + margin-left: auto; + } + + .nav-perso-color{ + background-color: #004400; + } + + nav .bold{ + text-decoration: bold; + color: #fff; + } + + nav .nav-item a:hover, + nav .nav-item a:focus { + background-color: #3E3E3E; + background: -moz-linear-gradient(bottom , #004400 0pt, #999 50%, #999 51%, #004400 100%) repeat scroll 0 0 transparent; + background: -webkit-linear-gradient(bottom , #004400 0pt, #999 50%, #999 51%, #004400 100%) repeat scroll 0 0 transparent; + background: -ms-linear-gradient(bottom , #004400 0pt, #999 50%, #999 51%, #004400 100%) repeat scroll 0 0 transparent; + background: -o-linear-gradient(bottom , #004400 0pt, #999 50%, #999 51%, #004400 100%) repeat scroll 0 0 transparent; + background: linear-gradient(bottom , #004400 0pt, #999 50%, #999 51%, #004400 100%) repeat scroll 0 0 transparent; + text-shadow: -1px -1px 0 #666; + } + + nav .nav-item .dropdown-item:hover, + nav .nav-item .dropdown-item:focus { + background-color: #3E3E3E; + background: -moz-linear-gradient(bottom , #dadada 0pt, #999 50%, #999 51%, #dadada 100%) repeat scroll 0 0 transparent; + background: -webkit-linear-gradient(bottom , #dadada 0pt, #999 50%, #999 51%, #dadada 100%) repeat scroll 0 0 transparent; + background: -ms-linear-gradient(bottom , #dadada 0pt, #999 50%, #999 51%, #dadada 100%) repeat scroll 0 0 transparent; + background: -o-linear-gradient(bottom , #dadada 0pt, #999 50%, #999 51%, #dadada 100%) repeat scroll 0 0 transparent; + background: linear-gradient(bottom , #dadada 0pt, #999 50%, #999 51%, #dadada 100%) repeat scroll 0 0 transparent; + text-shadow: -1px -1px 0 #666; + } + + .dropdown:hover .dropdown-menu { + display: block; + } + + .dropdown:hover .dropdown-submenu { + display: block; + } + + .dropdown-menu .dropdown-item{ + margin-top: -0.7em; + margin-bottom: -0.5em; + } + + .logout:hover{ + color: #D11; + } + + center { + margin: auto; + padding: auto; + top: 0; left: 0; bottom: 0; right: 0; + text-align: center; + display: flex; + align-items: center; + float: none; + } + + .Absolute-Center { + margin: auto; + padding: auto; + align-items: center; + top: 0; left: 0; bottom: 0; right: 0; + width: 50%; + padding: 10px; + } + + /* + * + */ + + .form-group .indication{ + font-size: 0.7em; + color: red; + } + + /* + * affichage des produits + * + */ + + .card-title .title { + font-weight: 500; + } + + .card-title .title { + color: #009; + -webkit-animation: mymove 5s infinite; /* Chrome, Safari, Opera */ + animation: mymove 15s infinite; + } + + /* Chrome, Safari, Opera */ + @-webkit-keyframes mymove { + 0%,100% {color: #090;} + 50% {color: blue;} + } + + /* Standard syntax */ + @keyframes mymove { + 0%,100% {color: #090;} + 50% {color: blue;} + } + + /* + * Footer + */ + + .blog-footer { + padding: 2.5rem 0; + color: #777; + text-align: center; + background-color: #dadada; + background-size: 100%; + border-top: .05rem solid #e5e5e5; + font-size: 0.5em; + } + .blog-footer p:last-child { + margin-bottom: 0; + } + + .site_links + .social-links { + + + } + + </style> + <!-- Scripts TODO + <script src="bootstrap/assets/js/ie-emulation-modes-warning.js"></script> + --> + + </head> + + <header> + @yield('header') + </header> + + <body class="mt-3"> + @yield('content') + </body> + + <footer class="blog-footer"> + @yield('footer') + </footer> + + <!-- SCRIPTS --> + + <!-- JQuery --> + <script type="text/javascript" src="/jquery/jquery.min.js"></script> + + <!-- Bootstrap tooltips --> + <script type="text/javascript" src="/js/tether.min.js"></script> + + <!-- Bootstrap core JavaScript --> + <script type="text/javascript" src="/js/bootstrap.js"></script> + <script src="/js/bootstrap.bundle.min.js"></script> + + <!-- MDB core JavaScript --> + <script type="text/javascript" src="/js/mdb.min.js"></script> + + <!-- JavaScripts --> + <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery.min.js" integrity="sha384-I6F5OKECLVtK/BL+8iSLDEHowSAfUo76ZL9+kGAgTRdiByINKJaqTPH/QVNS1VDb" crossorigin="anonymous"></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script> + {{-- <script src="{{ elixir('js/app.js') }}"></script> --}} + +</html> \ No newline at end of file diff --git a/workspace/resources/views/let_ad.blade.php b/workspace/resources/views/let_ad.blade.php new file mode 100644 index 0000000..2396350 --- /dev/null +++ b/workspace/resources/views/let_ad.blade.php @@ -0,0 +1,77 @@ +@extends('layouts.app') + +@section('title') + Déposer une annonce +@endsection + +<!-- TODO: revoir si pas d'autre blade à faire (voir ressource/views/auth/*.blade.php --> +@section('content') + +<div class="container mb-5"> + <div class="row"> + <div class="text-center col-lg-12"> + <h1 class="my-4">Déposer une annonce</h1> + </div> + </div> + + <div class="row"> + <div class="col-lg-4"></div> + <div class="panel panel-info jumbotron col-lg-4"> + <div class="panel-body"> + <!-- Formulaire de dépose d'annonce pour un produit --> + + <!--Commande à revoir--> + {!! Form::open(['url' => 'register']) !!} + <!-- Nom de l'annonce qui est le nom du produit --> + <div class="form-group {!! $errors->has('nom') ? 'has-error' : '' !!}"> + {!! Form::text('nom', null, ['class' => 'form-control', 'placeholder' => 'Le nom du produit']) !!} + {!! $errors->first('nom', '<small class="help-block">:message</small>') !!} + </div> + <!-- Adresse où le chercher --> + <div class="form-group {!! $errors->has('adresse') ? 'has-error' : '' !!}"> + {!! Form::text('adresse', null, ['class' => 'form-control', 'placeholder' => 'L'adresse où venir le chercher']) !!} + {!! $errors->first('adresse', '<small class="help-block">:message</small>') !!} + </div> + <!-- date de péremption --> + <div class="form-group {!! $errors->has('date') ? 'has-error' : '' !!}"> + {!! Form::text('date', null, ['class' => 'form-control', 'placeholder' => 'Date de péremption']) !!} + {!! $errors->first('date', '<small class="help-block">:message</small>') !!} + </div> + <!--TODO : avoir soit l'email soit le téléphone de celui qui dépose l'annonce--> + + <!-- Email utilisateur --> + <div class="form-group {!! $errors->has('email') ? 'has-error' : '' !!}"> + {!! Form::email('email', null, ['class' => 'form-control', 'placeholder' => 'Votre email']) !!} + {!! $errors->first('email', '<small class="help-block">:message</small>') !!} + </div> + <!-- Téléphone utilisateur--> + <div class="form-group {!! $errors->has('telephone') ? 'has-error' : '' !!}"> + <!--TODO : revoir la balise phone si elle existe--> + {!! Form::phone('telephone', null, ['class' => 'form-control', 'placeholder' => 'Votre telephone']) !!} + {!! $errors->first('telephone', '<small class="help-block">:message</small>') !!} + </div> + <!-- Description --> + <div class="form-group {!! $errors->has('desc') ? 'has-error' : '' !!}"> + {!! Form::text('desc', ['class' => 'form-control', 'placeholder' => 'Description et ou information du produit']) !!} + {!! $errors->first('desc', '<small class="help-block">:message</small>') !!} + </div> + + <!-- Vérif CGU utilisateur --> + <div class="form-group {!! $errors->has('cgu') ? 'has-error' : '' !!} mb-5"> + {!! Form::checkbox('cgu') !!} + <span class="ml-3">J'accepte les <a href="cgu" target="_blank">CGU</a>.</span> + <!-- <input class="field" name="agree" type="checkbox" value="1"> --> + {!! $errors->first('cgu', '<small class="help-block">:message</small>') !!} + </div> + <!-- Bouton confirmation --> + <div class="form-group mb-0"> + {!! Form::submit('Envoyer !', ['class' => 'btn btn-info']) !!} + </div> + {!! Form::close() !!} + </div> + </div> + <div class="col-lg-4"></div> + </div> +</div> + +@endsection \ No newline at end of file diff --git a/workspace/resources/views/products/product_alimentary.blade.php b/workspace/resources/views/products/product_alimentary.blade.php new file mode 100644 index 0000000..4fa7c1e --- /dev/null +++ b/workspace/resources/views/products/product_alimentary.blade.php @@ -0,0 +1,58 @@ +@extends('layouts.app') + +@section('title') + Alimentaire +@endsection + + +@section('content') + +<div class="container"> + <div class="container"> + <h1 class="my-4">Produits Alimentaires</h1> + + <p>Retrouver sur cette page toutes les annonces des particuliers cherchant à donner leurs produits alimentaires</p> + + <p><a class="btn btn-primary btn-lg" style="background-color: black;" href="https://www.youtube.com/watch?v=-G3MLjqicC8" target="_blank" role="button">Surpriiiise »</a></p> + </div> + + <div class="row"> + + @if (Session::has('flash_notice')) + <div class="alert alert-success span7"> + {{ Session::get('flash_notice') }} + </div> + @endif + + @if (Session::has('flash_error')) + <div class="alert alert-error span6"> + {{ Session::get('flash_error') }} + </div> + @endif + + + @if($products != NULL) + @foreach ($products as $product) + <div class="col-lg-4 col-md-6 mb-4"> + <div class="card h-100"> + <a href=""><img class="card-img-top" src="http://placehold.it/700x400" alt=""></a> + <div class="card-body"> + <h4 class="card-title"> + <!-- Pour avoir un nom d'annonce cliquable --> + {!!link_to_route('products.show', $product->title, [$product->id], ['class' => 'title'])!!} + <!-- <p class="title">{!!$product->title!!}</p> --> + </h4> + <p class="card-text">{!!$product->description!!}</p> + {!!link_to_route('products.show', 'Voir', [$product->id], ['class' => 'btn btn-success btn-block'])!!} + </div> + </div> + </div> + @endforeach + @endif + </div> + @if($products != NULL) + {!! $products->links() !!} + @endif + +</div> +@endsection \ No newline at end of file diff --git a/workspace/resources/views/products/product_create.blade.php b/workspace/resources/views/products/product_create.blade.php new file mode 100644 index 0000000..f5b7a11 --- /dev/null +++ b/workspace/resources/views/products/product_create.blade.php @@ -0,0 +1,138 @@ +@extends('layouts.app') + +@section('title') + Dépot d'annonce +@endsection + +@section('content') +<div class="container"> + <div class="row"> + <div class="text-center col-lg-12"> + <h1 class="my-4">Déposez votre annonce</h1> + </div> + </div> + + <div class="row"> + <div class="col-lg-4"></div> + <div class="panel panel-info jumbotron col-lg-4"> + <div class="panel-body"> + <form class="form-horizontal" role="form" method="POST" action="{{ url('products') }}"> + {{ csrf_field() }} + + <div class="form-group{{ $errors->has('title') ? ' has-error' : '' }}"> + <input id="title" type="text" class="form-control" name="title" value="{{ old('title') }}" placeholder="Titre de l'annonce"> + + @if ($errors->has('title')) + <span class="help-block"> + <i class="indication">{{ $errors->first('title') }}</i> + </span> + @endif + </div> + + <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}"> + <input id="email" type="email" class="form-control" name="email" value="{{ old('email') }}" placeholder="Email"> + + @if ($errors->has('email')) + <span class="help-block"> + <i class="indication">{{ $errors->first('email') }}</i> + </span> + @endif + </div> + <!-- https://www.w3schools.com/html/html_form_input_types.asp --> + <div class="form-group{{ $errors->has('address_number') ? ' has-error' : '' }}"> + <input id="address_number" type="number" min="1" class="form-control" name="address_number" value="{{ old('address_number') }}" placeholder="n°"> + + @if ($errors->has('address_number')) + <span class="help-block"> + <i class="indication">{{ $errors->first('address_number') }}</i> + </span> + @endif + </div> + + <div class="form-group{{ $errors->has('address_street') ? ' has-error' : '' }}"> + <input id="address_street" type="text" class="form-control" name="address_street" value="{{ old('address_street') }}" placeholder="Rue"> + + @if ($errors->has('address_street')) + <span class="help-block"> + <i class="indication">{{ $errors->first('address_street') }}</i> + </span> + @endif + </div> + + <div class="form-group{{ $errors->has('address_city') ? ' has-error' : '' }}"> + <input id="address_city" type="text" class="form-control" name="address_city" value="{{ old('address_city') }}" placeholder="Ville"> + + @if ($errors->has('address_city')) + <span class="help-block"> + <i class="indication">{{ $errors->first('address_city') }}</i> + </span> + @endif + </div> + + <div class="form-group{{ $errors->has('postal_code') ? ' has-error' : '' }}"> + <input id="postal_code" type="number" min="0" class="form-control" name="postal_code" value="{{ old('postal_code') }}" placeholder="CP"> + + @if ($errors->has('postal_code')) + <span class="help-block"> + <i class="indication">{{ $errors->first('postal_code') }}</i> + </span> + @endif + </div> + + <div class="form-group"> + <textarea id="description" type="text" class="form-control" name="description" value="{{ old('description') }}" placeholder="Description"></textarea> + </div> + + <div class="form-group{{ $errors->has('expire_at') ? ' has-error' : '' }}"> + <input id="expire_at" type="date" class="form-control" name="expire_at" value="{{ old('expire_at') }}" placeholder="Date d'expiration"> + + @if ($errors->has('expire_at')) + <span class="help-block"> + <i class="indication">{{ $errors->first('expire_at') }}</i> + </span> + @endif + </div> + + <div class="form-group{{ $errors->has('category') ? ' has-error' : '' }}"> + <!--Ajouter : {frais, viande, produits laitier}--> + Catégorie: + <select id="category" class="form-control" name="category" value="{{ old('category') }}"> + <option value="fruit">fruit</option> + <option value="vegetable">légume</option> + <option value="starchy">féculent</option> + <option value="homemade">fait maison</option> + <option value="fish">poisson</option> + <option value="spices">épices</option> + <option value="sugar">sucré</option> + <option value="other">autre</option> + </select> + + <!-- <input type="date" placeholder="Date d'expiration"> --> + + @if ($errors->has('category')) + <span class="help-block"> + <i class="indication">{{ $errors->first('category') }}</i> + </span> + @endif + </div> + + <div class="form-group"> + <input id="vegan" type="checkbox" value="true" class="mr-3" name="vegan"> Vegan + </div> + + <div class="form-group mt-5"> + <div class="col-md-6 col-md-offset-4"> + <button type="submit" class="btn btn-primary"> + <i class="fa fa-btn"></i> Valider + </button> + </div> + </div> + + </form> + </div> + </div> + <div class="col-lg-4"></div> + </div> +</div> + +@endsection diff --git a/workspace/resources/views/products/product_edit.blade.php b/workspace/resources/views/products/product_edit.blade.php new file mode 100644 index 0000000..fb781df --- /dev/null +++ b/workspace/resources/views/products/product_edit.blade.php @@ -0,0 +1,88 @@ +@extends('layouts.app') + +@section('title') + Dépot d'annonce +@endsection + +@section('content') +<div class="container"> + <div class="row"> + <div class="text-center col-lg-12"> + <h1 class="my-4">Déposez votre annonce</h1> + </div> + </div> + + <div class="row"> + <div class="col-lg-4"></div> + <div class="panel panel-info jumbotron col-lg-4"> + <div class="panel-body"> + <form class="form-horizontal" role="form" method="POST" action="{{ url('/product_register') }}"> + {{ csrf_field() }} + + <div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}"> + <input id="name" type="text" class="form-control" name="name" value="{{ old('name') }}" placeholder="Pseudo"> + + @if ($errors->has('name')) + <span class="help-block"> + <i class="indication">{{ $errors->first('name') }}</i> + </span> + @endif + </div> + + <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}"> + <input id="email" type="email" class="form-control" name="email" value="{{ old('email') }}" placeholder="Email"> + + @if ($errors->has('email')) + <span class="help-block"> + <i class="indication">{{ $errors->first('email') }}</i> + </span> + @endif + </div> + + <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}"> + <input id="password" type="password" class="form-control" name="password" placeholder="Mot de passe"> + + @if ($errors->has('password')) + <span class="help-block"> + <i class="indication">{{ $errors->first('password') }}</i> + </span> + @endif + </div> + + <div class="form-group{{ $errors->has('password_confirmation') ? ' has-error' : '' }}"> + <input id="password-confirm" type="password" class="form-control" name="password_confirmation" placeholder="Confirmez votre mot de passe"> + + @if ($errors->has('password_confirmation')) + <span class="help-block"> + <i class="indication">{{ $errors->first('password_confirmation') }}</i> + </span> + @endif + </div> + + <div class="form-group{{ $errors->has('cgu_checked') ? ' has-error' : '' }}"> + <input id="cgu_checked" type="checkbox" value="true" {{ !old('cgu_checked') ?: 'checked' }} class="mr-3" name="cgu_checked"> J'accepte les <a href="/cgu" target="_blank">CGU</a>. + + @if ($errors->has('cgu_checked')) + <br/> + <span class="help-block"> + <!-- <strong>{{ $errors->first('cgu_checked') }}</strong> --> + <i class="indication">Vous devez accepter les cgu.</i> + </span> + @endif + </div> + + <div class="form-group mt-5"> + <div class="col-md-6 col-md-offset-4"> + <button type="submit" class="btn btn-primary"> + <i class="fa fa-btn fa-user"></i> S'inscrire + </button> + </div> + </div> + </form> + </div> + </div> + <div class="col-lg-4"></div> + </div> +</div> + +@endsection diff --git a/workspace/resources/views/products/product_index.blade.php b/workspace/resources/views/products/product_index.blade.php new file mode 100644 index 0000000..9799912 --- /dev/null +++ b/workspace/resources/views/products/product_index.blade.php @@ -0,0 +1,58 @@ +@extends('layouts.app') + +@section('title') + Tous les produits +@endsection + + +@section('content') + +<div class="container"> + <div class="container"> + <h1 class="my-4">Tous les produits</h1> + + <p>Retrouver sur cette page toutes les annonces des particuliers cherchant à donner leurs produits</p> + + <p><a class="btn btn-primary btn-lg" style="background-color: black;" href="https://www.youtube.com/watch?v=-xSORIDw1Sg" target="_blank" role="button">Surpriiiise »</a></p> + </div> + + <div class="row"> + + @if (Session::has('flash_notice')) + <div class="alert alert-success span7"> + {{ Session::get('flash_notice') }} + </div> + @endif + + @if (Session::has('flash_error')) + <div class="alert alert-error span6"> + {{ Session::get('flash_error') }} + </div> + @endif + + + @if($products != NULL) + @foreach ($products as $product) + <div class="col-lg-4 col-md-6 mb-4"> + <div class="card h-100"> + <a href=""><img class="card-img-top" src="http://placehold.it/700x400" alt=""></a> + <div class="card-body"> + <h4 class="card-title"> + <!-- Pour avoir un nom d'annonce cliquable --> + {!!link_to_route('products.show', $product->title, [$product->id], ['class' => 'title'])!!} + <!-- <p class="title">{!!$product->title!!}</p> --> + </h4> + <p class="card-text">{!!$product->description!!}</p> + {!!link_to_route('products.show', 'Voir', [$product->id], ['class' => 'btn btn-success btn-block'])!!} + </div> + </div> + </div> + @endforeach + @endif + </div> + @if($products != NULL) + {!! $products->links() !!} + @endif + +</div> +@endsection \ No newline at end of file diff --git a/workspace/resources/views/products/product_show.blade.php b/workspace/resources/views/products/product_show.blade.php new file mode 100644 index 0000000..f2b2d4b --- /dev/null +++ b/workspace/resources/views/products/product_show.blade.php @@ -0,0 +1,52 @@ +@extends('layouts.app') + +@section('title') + Tous les produits +@endsection + + +@section('content') + +<!-- TODO: C'est pas tous les produit mais juste celui qu'on a choisi --> +<div class="container"> + <div class="container"> + <h1 class="my-4">Détails de produit</h1> + + <p>Retrouver sur cette page toutes les annonces des particulier cherchant à donner leurs produits</p> + + <p><a class="btn btn-primary btn-lg" style="background-color: black;" href="https://www.youtube.com/watch?v=-xSORIDw1Sg" target="_blank" role="button">Surpriiiise »</a></p> + </div> + + <!--TODO :style à revoir--> + <div class="row mb-4"> + <div class="col-lg-4"></div> + <div class="col-lg-4 col-md-6 mb-4"> + <div class="card h-100"> + <a href="#"><img class="card-img-top" src="http://placehold.it/700x400" alt=""></a> + <div class="card-body"> + <h4 class="card-title"> + <p>{!!$product->title!!}</p> + </h4> + <p>Categorie : {{ $product->category }}</p> + <p>{{ $product->description }}</p> + <p><i class="fa fa-envelope"></i> Contact : {{ $product->email }}</p> + <p><i class="fa fa-home"></i> Adresse : {{ $product->address_number }} + {{ $product->address_street }} + {{ $product->postal_code }} + {{ $product->address_city }}</p> + <p><i class="fa fa-hourglass-half"></i> Expire le : {{ $product->expire_at }}</p> + <?php + if(isset($product->vegan) && $product->vegan == true ) + print('<p>Ce produit est vegan</p>'); + ?> + </div> + </div> + </div> + <div class="col-lg-4"></div> + </div> + + <div class="my-4 center"> + <a href= " {{ url('products') }} "> « Retours aux produits</a> + </div> +</div> +@endsection \ No newline at end of file diff --git a/workspace/resources/views/registery.blade.php b/workspace/resources/views/registery.blade.php new file mode 100644 index 0000000..28e5b06 --- /dev/null +++ b/workspace/resources/views/registery.blade.php @@ -0,0 +1,71 @@ +@extends('layouts.app') + +@section('title') + Inscription +@endsection + + +@section('content') + +<div class="container mb-5"> + <div class="row"> + <div class="text-center col-lg-12"> + <h1 class="my-4">Inscription</h1> + </div> + </div> + + <div class="row"> + <div class="col-lg-4"></div> + <div class="panel panel-info jumbotron col-lg-4"> + <div class="panel-body"> + <!-- Formulaire d'inscription puis connexion en cours de création TODO --> + {!! Form::open(['url' => 'register']) !!} + <!-- Nom utilisateur --> + <div class="form-group {!! $errors->has('nom') ? 'has-error' : '' !!}"> + {!! Form::text('nom', null, ['class' => 'form-control', 'placeholder' => 'Votre nom']) !!} + {!! $errors->first('nom', '<small class="help-block">:message</small>') !!} + </div> + <!-- Prénom utilisateur --> + <div class="form-group {!! $errors->has('prenom') ? 'has-error' : '' !!}"> + {!! Form::text('prenom', null, ['class' => 'form-control', 'placeholder' => 'Votre prénom']) !!} + {!! $errors->first('prenom', '<small class="help-block">:message</small>') !!} + </div> + <!-- Pseudo utilisateur --> + <div class="form-group {!! $errors->has('pseudo') ? 'has-error' : '' !!}"> + {!! Form::text('pseudo', null, ['class' => 'form-control', 'placeholder' => 'Votre pseudo']) !!} + {!! $errors->first('pseudo', '<small class="help-block">:message</small>') !!} + </div> + <!-- Email utilisateur --> + <div class="form-group {!! $errors->has('email') ? 'has-error' : '' !!}"> + {!! Form::email('email', null, ['class' => 'form-control', 'placeholder' => 'Votre email']) !!} + {!! $errors->first('email', '<small class="help-block">:message</small>') !!} + </div> + <!-- Mot de passe utilisateur --> + <div class="form-group {!! $errors->has('pass') ? 'has-error' : '' !!}"> + {!! Form::password('pass', ['class' => 'form-control', 'placeholder' => 'Votre mot de passe']) !!} + {!! $errors->first('pass', '<small class="help-block">:message</small>') !!} + </div> + <!-- Confirmation Mot de passe utilisateur --> + <div class="form-group {!! $errors->has('passValid') ? 'has-error' : '' !!}"> + {!! Form::password('passValid', ['class' => 'form-control', 'placeholder' => 'Confirmez votre mot de passe']) !!} + {!! $errors->first('passValid', '<small class="help-block">:message</small>') !!} + </div> + <!-- Vérif CGU utilisateur --> + <div class="form-group {!! $errors->has('cgu') ? 'has-error' : '' !!} mb-5"> + {!! Form::checkbox('cgu') !!} + <span class="ml-3">J'accepte les <a href="cgu" target="_blank">CGU</a>.</span> + <!-- <input class="field" name="agree" type="checkbox" value="1"> --> + {!! $errors->first('cgu', '<small class="help-block">:message</small>') !!} + </div> + <!-- Bouton confirmation --> + <div class="form-group mb-0"> + {!! Form::submit('Envoyer !', ['class' => 'btn btn-info']) !!} + </div> + {!! Form::close() !!} + </div> + </div> + <div class="col-lg-4"></div> + </div> +</div> + +@endsection \ No newline at end of file diff --git a/workspace/resources/views/seek.blade.php b/workspace/resources/views/seek.blade.php new file mode 100644 index 0000000..9658420 --- /dev/null +++ b/workspace/resources/views/seek.blade.php @@ -0,0 +1,41 @@ +@extends('layouts.app') + +@section('title') + Résultats +@endsection + +@section('content') + + + +<div class="container"> + <div class="container"> + <h1 class="my-4">Résultat de votre recherche:</h1> + + + +<!-- lien pour requêtes avec laravel: https://openclassrooms.com/courses/decouvrez-le-framework-php-laravel/query-builder--> +<!-- +Il existe une méthode find dans Product normalement. +https://stackoverflow.com/questions/27641911/laravel-routing-and-controller-for-search--> + +<?php /*$saisie= Input::get('r'); +$produits=Product::find($saisie); +if(isset($_GET['r']) and !empty($_GET['r'])){ + $r=htmlspecialchars($_GET['r']); + $produits=$product->category +}*/ +?> + +<p><a class="btn btn-primary btn-lg" style="background-color: black;" href="https://www.youtube.com/watch?v=-xSORIDw1Sg" target="_blank" role="button"> + Surpriiiise »</a></p> + </div> + + + + + + + + +@endsection diff --git a/workspace/resources/views/template/testVente.blade.php b/workspace/resources/views/template/testVente.blade.php new file mode 100644 index 0000000..85cf9ae --- /dev/null +++ b/workspace/resources/views/template/testVente.blade.php @@ -0,0 +1,221 @@ +<!DOCTYPE html> +<html lang="en"> + + <head> + + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + <meta name="description" content=""> + <meta name="author" content=""> + + <title>Shop Homepage - Start Bootstrap Template</title> + + <!-- Bootstrap core CSS --> + <link href="vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet"> + + <!-- Custom styles for this template --> + <link href="css/shop-homepage.css" rel="stylesheet"> + + </head> + + <body> + + <!-- Navigation --> + <nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top"> + <div class="container"> + <a class="navbar-brand" href="#">Start Bootstrap</a> + <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation"> + <span class="navbar-toggler-icon"></span> + </button> + <div class="collapse navbar-collapse" id="navbarResponsive"> + <ul class="navbar-nav ml-auto"> + <li class="nav-item active"> + <a class="nav-link" href="#">Home + <span class="sr-only">(current)</span> + </a> + </li> + <li class="nav-item"> + <a class="nav-link" href="#">About</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="#">Services</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="#">Contact</a> + </li> + </ul> + </div> + </div> + </nav> + + <!-- Page Content --> + <div class="container"> + + <div class="row"> + + <div class="col-lg-3"> + + <h1 class="my-4">Shop Name</h1> + <div class="list-group"> + <a href="#" class="list-group-item">Category 1</a> + <a href="#" class="list-group-item">Category 2</a> + <a href="#" class="list-group-item">Category 3</a> + </div> + + </div> + <!-- /.col-lg-3 --> + + <div class="col-lg-9"> + + <div id="carouselExampleIndicators" class="carousel slide my-4" data-ride="carousel"> + <ol class="carousel-indicators"> + <li data-target="#carouselExampleIndicators" data-slide-to="0" class="active"></li> + <li data-target="#carouselExampleIndicators" data-slide-to="1"></li> + <li data-target="#carouselExampleIndicators" data-slide-to="2"></li> + </ol> + <div class="carousel-inner" role="listbox"> + <div class="carousel-item active"> + <img class="d-block img-fluid" src="http://placehold.it/900x350" alt="First slide"> + </div> + <div class="carousel-item"> + <img class="d-block img-fluid" src="http://placehold.it/900x350" alt="Second slide"> + </div> + <div class="carousel-item"> + <img class="d-block img-fluid" src="http://placehold.it/900x350" alt="Third slide"> + </div> + </div> + <a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev"> + <span class="carousel-control-prev-icon" aria-hidden="true"></span> + <span class="sr-only">Previous</span> + </a> + <a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next"> + <span class="carousel-control-next-icon" aria-hidden="true"></span> + <span class="sr-only">Next</span> + </a> + </div> + + <div class="row"> + + <div class="col-lg-4 col-md-6 mb-4"> + <div class="card h-100"> + <a href="#"><img class="card-img-top" src="http://placehold.it/700x400" alt=""></a> + <div class="card-body"> + <h4 class="card-title"> + <a href="#">Item One</a> + </h4> + <h5>$24.99</h5> + <p class="card-text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p> + </div> + <div class="card-footer"> + <small class="text-muted">★ ★ ★ ★ ☆</small> + </div> + </div> + </div> + + <div class="col-lg-4 col-md-6 mb-4"> + <div class="card h-100"> + <a href="#"><img class="card-img-top" src="http://placehold.it/700x400" alt=""></a> + <div class="card-body"> + <h4 class="card-title"> + <a href="#">Item Two</a> + </h4> + <h5>$24.99</h5> + <p class="card-text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur! Lorem ipsum dolor sit amet.</p> + </div> + <div class="card-footer"> + <small class="text-muted">★ ★ ★ ★ ☆</small> + </div> + </div> + </div> + + <div class="col-lg-4 col-md-6 mb-4"> + <div class="card h-100"> + <a href="#"><img class="card-img-top" src="http://placehold.it/700x400" alt=""></a> + <div class="card-body"> + <h4 class="card-title"> + <a href="#">Item Three</a> + </h4> + <h5>$24.99</h5> + <p class="card-text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p> + </div> + <div class="card-footer"> + <small class="text-muted">★ ★ ★ ★ ☆</small> + </div> + </div> + </div> + + <div class="col-lg-4 col-md-6 mb-4"> + <div class="card h-100"> + <a href="#"><img class="card-img-top" src="http://placehold.it/700x400" alt=""></a> + <div class="card-body"> + <h4 class="card-title"> + <a href="#">Item Four</a> + </h4> + <h5>$24.99</h5> + <p class="card-text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p> + </div> + <div class="card-footer"> + <small class="text-muted">★ ★ ★ ★ ☆</small> + </div> + </div> + </div> + + <div class="col-lg-4 col-md-6 mb-4"> + <div class="card h-100"> + <a href="#"><img class="card-img-top" src="http://placehold.it/700x400" alt=""></a> + <div class="card-body"> + <h4 class="card-title"> + <a href="#">Item Five</a> + </h4> + <h5>$24.99</h5> + <p class="card-text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur! Lorem ipsum dolor sit amet.</p> + </div> + <div class="card-footer"> + <small class="text-muted">★ ★ ★ ★ ☆</small> + </div> + </div> + </div> + + <div class="col-lg-4 col-md-6 mb-4"> + <div class="card h-100"> + <a href="#"><img class="card-img-top" src="http://placehold.it/700x400" alt=""></a> + <div class="card-body"> + <h4 class="card-title"> + <a href="#">Item Six</a> + </h4> + <h5>$24.99</h5> + <p class="card-text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!</p> + </div> + <div class="card-footer"> + <small class="text-muted">★ ★ ★ ★ ☆</small> + </div> + </div> + </div> + + </div> + <!-- /.row --> + + </div> + <!-- /.col-lg-9 --> + + </div> + <!-- /.row --> + + </div> + <!-- /.container --> + + <!-- Footer --> + <footer class="py-5 bg-dark"> + <div class="container"> + <p class="m-0 text-center text-white">Copyright © Your Website 2017</p> + </div> + <!-- /.container --> + </footer> + + <!-- Bootstrap core JavaScript --> + <script src="vendor/jquery/jquery.min.js"></script> + <script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script> + + </body> + +</html> diff --git a/workspace/resources/views/template/testVoisins.blade.php b/workspace/resources/views/template/testVoisins.blade.php new file mode 100644 index 0000000..dd57482 --- /dev/null +++ b/workspace/resources/views/template/testVoisins.blade.php @@ -0,0 +1,76 @@ +@extends('header1') + +@section('body') + + <body> + + <!-- Navigation --> + + + <!-- Page Content --> + <div class="container"> + + <!-- Portfolio Item Heading --> + <h1 class="my-4">Bienvenue sur Bonsaiie !</h1> + + <!-- Portfolio Item Row --> + <div class="row"> + + <div class="col-md-8"> + <img class="img-fluid" src="http://placehold.it/750x500" alt=""> + </div> + + <div class="col-md-4"> + <h3 class="my-3">Project Description</h3> + <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio, gravida pellentesque urna varius vitae. Sed dui lorem, adipiscing in adipiscing et, interdum nec metus. Mauris ultricies, justo eu convallis placerat, felis enim.</p> + <h3 class="my-3">Project Details</h3> + <ul> + <li>Lorem Ipsum</li> + <li>Dolor Sit Amet</li> + <li>Consectetur</li> + <li>Adipiscing Elit</li> + </ul> + </div> + + </div> + <!-- /.row --> + + <!-- Related Projects Row --> + <h3 class="my-4">Related Projects</h3> + + <div class="row"> + + <div class="col-md-3 col-sm-6 mb-4"> + <a href="#"> + <img class="img-fluid" src="http://placehold.it/500x300" alt=""> + </a> + </div> + + <div class="col-md-3 col-sm-6 mb-4"> + <a href="#"> + <img class="img-fluid" src="http://placehold.it/500x300" alt=""> + </a> + </div> + + <div class="col-md-3 col-sm-6 mb-4"> + <a href="#"> + <img class="img-fluid" src="http://placehold.it/500x300" alt=""> + </a> + </div> + + <div class="col-md-3 col-sm-6 mb-4"> + <a href="#"> + <img class="img-fluid" src="http://placehold.it/500x300" alt=""> + </a> + </div> + + </div> + <!-- /.row --> + + </div> + <!-- /.container --> + + <!-- Footer --> + + +@endsection \ No newline at end of file diff --git a/workspace/resources/views/template/welcome.blade.php b/workspace/resources/views/template/welcome.blade.php new file mode 100644 index 0000000..06e2217 --- /dev/null +++ b/workspace/resources/views/template/welcome.blade.php @@ -0,0 +1,17 @@ +@extends('layouts.app') + +@section('content') +<div class="container"> + <div class="row"> + <div class="col-md-10 col-md-offset-1"> + <div class="panel panel-default"> + <div class="panel-heading">Welcome</div> + + <div class="panel-body"> + Your Application's Landing Page. + </div> + </div> + </div> + </div> +</div> +@endsection diff --git a/workspace/resources/views/user/user_edit.php b/workspace/resources/views/user/user_edit.php new file mode 100644 index 0000000..6f39aeb --- /dev/null +++ b/workspace/resources/views/user/user_edit.php @@ -0,0 +1,39 @@ +@extends('layouts.app') + +@section('title') + test edit +@endsection + +@section('content') + <div class="col-sm-offset-4 col-sm-4"> + <br> + <div class="panel panel-primary"> + <div class="panel-heading">Modification d'un utilisateur</div> + <div class="panel-body"> + <div class="col-sm-12"> + {!! Form::model($user, ['route' => ['user.update', $user->id], 'method' => 'put', 'class' => 'form-horizontal panel']) !!} + <div class="form-group {!! $errors->has('name') ? 'has-error' : '' !!}"> + {!! Form::text('name', null, ['class' => 'form-control', 'placeholder' => 'Nom']) !!} + {!! $errors->first('name', '<small class="help-block">:message</small>') !!} + </div> + <div class="form-group {!! $errors->has('email') ? 'has-error' : '' !!}"> + {!! Form::email('email', null, ['class' => 'form-control', 'placeholder' => 'Email']) !!} + {!! $errors->first('email', '<small class="help-block">:message</small>') !!} + </div> + <div class="form-group"> + <div class="checkbox"> + <label> + {!! Form::checkbox('admin', 1, null) !!}Administrateur + </label> + </div> + </div> + {!! Form::submit('Envoyer', ['class' => 'btn btn-primary pull-right']) !!} + {!! Form::close() !!} + </div> + </div> + </div> + <a href="javascript:history.back()" class="btn btn-primary"> + <span class="glyphicon glyphicon-circle-arrow-left"></span> Retour + </a> + </div> +@endsection \ No newline at end of file diff --git a/workspace/resources/views/user/user_index.blade.php b/workspace/resources/views/user/user_index.blade.php new file mode 100644 index 0000000..7e3ddb5 --- /dev/null +++ b/workspace/resources/views/user/user_index.blade.php @@ -0,0 +1,12 @@ +@extends('layouts.app') + +@section('title') + Modification du profil +@endsection + +@section('content') +<br> +<h1> En cours de construction </h1> +<br> + +@endsection \ No newline at end of file diff --git a/workspace/resources/views/user/user_show.blade.php b/workspace/resources/views/user/user_show.blade.php new file mode 100644 index 0000000..27907ce --- /dev/null +++ b/workspace/resources/views/user/user_show.blade.php @@ -0,0 +1,24 @@ +@extends('layouts.app') + +@section('title') + test show +@endsection + +@section('contenu') + <div class="col-sm-offset-4 col-sm-4"> + <br> + <div class="panel panel-primary"> + <div class="panel-heading">Fiche d'utilisateur</div> + <div class="panel-body"> + <p>Nom : {{ $user->name }}</p> + <p>Email : {{ $user->email }}</p> + @if($user->admin == 1) + Administrateur + @endif + </div> + </div> + <a href="javascript:history.back()" class="btn btn-primary"> + <span class="glyphicon glyphicon-circle-arrow-left"></span> Retour + </a> + </div> +@endsection \ No newline at end of file diff --git a/workspace/resources/views/vendor/.gitkeep b/workspace/resources/views/vendor/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/workspace/resources/views/vendor/.gitkeep @@ -0,0 +1 @@ + diff --git a/workspace/server.php b/workspace/server.php new file mode 100644 index 0000000..f65c7c4 --- /dev/null +++ b/workspace/server.php @@ -0,0 +1,21 @@ +<?php + +/** + * Laravel - A PHP Framework For Web Artisans + * + * @package Laravel + * @author Taylor Otwell <taylorotwell@gmail.com> + */ + +$uri = urldecode( + parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) +); + +// This file allows us to emulate Apache's "mod_rewrite" functionality from the +// built-in PHP web server. This provides a convenient way to test a Laravel +// application without having installed a "real" web server software here. +if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) { + return false; +} + +require_once __DIR__.'/public/index.php'; diff --git a/workspace/storage/app/.gitignore b/workspace/storage/app/.gitignore new file mode 100644 index 0000000..8f4803c --- /dev/null +++ b/workspace/storage/app/.gitignore @@ -0,0 +1,3 @@ +* +!public/ +!.gitignore diff --git a/workspace/storage/app/public/.gitignore b/workspace/storage/app/public/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/workspace/storage/app/public/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/workspace/storage/framework/.gitignore b/workspace/storage/framework/.gitignore new file mode 100644 index 0000000..b02b700 --- /dev/null +++ b/workspace/storage/framework/.gitignore @@ -0,0 +1,8 @@ +config.php +routes.php +schedule-* +compiled.php +services.json +events.scanned.php +routes.scanned.php +down diff --git a/workspace/storage/framework/cache/.gitignore b/workspace/storage/framework/cache/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/workspace/storage/framework/cache/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/workspace/storage/framework/sessions/.gitignore b/workspace/storage/framework/sessions/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/workspace/storage/framework/sessions/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/workspace/storage/framework/views/.gitignore b/workspace/storage/framework/views/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/workspace/storage/framework/views/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/workspace/storage/logs/.gitignore b/workspace/storage/logs/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/workspace/storage/logs/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/workspace/tests/ExampleTest.php b/workspace/tests/ExampleTest.php new file mode 100644 index 0000000..7e81d37 --- /dev/null +++ b/workspace/tests/ExampleTest.php @@ -0,0 +1,19 @@ +<?php + +use Illuminate\Foundation\Testing\WithoutMiddleware; +use Illuminate\Foundation\Testing\DatabaseMigrations; +use Illuminate\Foundation\Testing\DatabaseTransactions; + +class ExampleTest extends TestCase +{ + /** + * A basic functional test example. + * + * @return void + */ + public function testBasicExample() + { + $this->visit('/') + ->see('Laravel 5'); + } +} diff --git a/workspace/tests/TestCase.php b/workspace/tests/TestCase.php new file mode 100644 index 0000000..8578b17 --- /dev/null +++ b/workspace/tests/TestCase.php @@ -0,0 +1,25 @@ +<?php + +class TestCase extends Illuminate\Foundation\Testing\TestCase +{ + /** + * The base URL to use while testing the application. + * + * @var string + */ + protected $baseUrl = 'http://localhost'; + + /** + * Creates the application. + * + * @return \Illuminate\Foundation\Application + */ + public function createApplication() + { + $app = require __DIR__.'/../bootstrap/app.php'; + + $app->make(Illuminate\Contracts\Console\Kernel::class)->bootstrap(); + + return $app; + } +} -- GitLab