From 5abd565ab6fc734ba372d9ae3bc5a560464e858b Mon Sep 17 00:00:00 2001 From: Hasib Mahmud Date: Tue, 7 Dec 2021 23:03:08 +0600 Subject: [PATCH 1/5] Remove v1.X --- .editorconfig | 19 - .env.dusk.example | 8 - .env.example | 41 - .gitattributes | 5 - .github/ISSUE_TEMPLATE/bug_report.md | 38 - .github/ISSUE_TEMPLATE/custom.md | 10 - .github/ISSUE_TEMPLATE/feature_request.md | 20 - .github/workflows/greetings.yml | 12 - .gitignore | 17 - .php_cs | 40 - .phpunit.result.cache | 1 - .travis.yml | 9 - .vscode/launch.json | 22 - .vscode/settings.json | 2 - CODE_OF_CONDUCT.md | 76 - CONTRIBUTING.md | 10 - FUNDING.yml | 12 - LICENSE | 674 - SECURITY.md | 14 - _config.yml | 1 - app/Account.php | 18 - app/AccountSector.php | 19 - app/Attendance.php | 32 - app/Book.php | 29 - app/Certificate.php | 23 - app/Console/Kernel.php | 42 - app/Course.php | 37 - app/Department.php | 12 - app/Event.php | 16 - app/Events/StudentInfoUpdateRequested.php | 30 - app/Events/UserRegistered.php | 31 - app/Exam.php | 10 - app/ExamForClass.php | 18 - app/Exceptions/Handler.php | 53 - app/Exports/StudentsExport.php | 61 - app/Exports/TeachersExport.php | 54 - app/Faq.php | 10 - app/Fee.php | 10 - app/Feedback.php | 25 - app/Form.php | 16 - app/Grade.php | 38 - app/Gradesystem.php | 15 - app/Homework.php | 17 - app/Http/Controllers/AccountController.php | 200 - app/Http/Controllers/AttendanceController.php | 147 - .../Auth/ForgotPasswordController.php | 32 - app/Http/Controllers/Auth/LoginController.php | 57 - .../Controllers/Auth/RegisterController.php | 71 - .../Auth/ResetPasswordController.php | 39 - app/Http/Controllers/CashierController.php | 40 - .../Controllers/CertificateController.php | 93 - app/Http/Controllers/Controller.php | 13 - app/Http/Controllers/CourseController.php | 152 - app/Http/Controllers/EventController.php | 101 - app/Http/Controllers/ExamController.php | 140 - app/Http/Controllers/FaqController.php | 105 - app/Http/Controllers/FeeController.php | 93 - app/Http/Controllers/FeedbackController.php | 107 - app/Http/Controllers/FormController.php | 105 - app/Http/Controllers/GradeController.php | 193 - .../Controllers/GradesystemController.php | 85 - app/Http/Controllers/HomeController.php | 102 - app/Http/Controllers/HomeworkController.php | 117 - app/Http/Controllers/IssuedbookController.php | 74 - .../Controllers/Library/BookController.php | 71 - app/Http/Controllers/MasterController.php | 13 - app/Http/Controllers/MessageController.php | 112 - app/Http/Controllers/MyclassController.php | 108 - app/Http/Controllers/NoticeController.php | 100 - .../Controllers/NotificationController.php | 128 - app/Http/Controllers/PaymentController.php | 86 - app/Http/Controllers/RoutineController.php | 148 - app/Http/Controllers/SchoolController.php | 111 - app/Http/Controllers/SectionController.php | 124 - app/Http/Controllers/SettingController.php | 28 - app/Http/Controllers/SyllabusController.php | 123 - app/Http/Controllers/UploadController.php | 151 - app/Http/Controllers/UploadHandler.php | 1413 -- app/Http/Controllers/UserController.php | 429 - app/Http/Kernel.php | 76 - app/Http/Middleware/CheckAccountant.php | 24 - app/Http/Middleware/CheckAdmin.php | 23 - app/Http/Middleware/CheckLibrarian.php | 24 - app/Http/Middleware/CheckMaster.php | 23 - app/Http/Middleware/CheckMasterOrAdmin.php | 24 - app/Http/Middleware/CheckStudent.php | 24 - app/Http/Middleware/CheckTeacher.php | 24 - app/Http/Middleware/CheckTeacherOrStudent.php | 24 - app/Http/Middleware/EncryptCookies.php | 17 - .../Middleware/RedirectIfAuthenticated.php | 26 - app/Http/Middleware/TrimStrings.php | 18 - app/Http/Middleware/TrustProxies.php | 23 - app/Http/Middleware/VerifyCsrfToken.php | 17 - .../Requests/Account/StoreAccountRequest.php | 32 - .../Requests/Account/StoreSectorRequest.php | 31 - .../Requests/Account/UpdateAccountRequest.php | 31 - .../Attendance/StoreAttendanceRequest.php | 35 - .../Course/SaveConfigurationRequest.php | 45 - app/Http/Requests/Exam/CreateExamRequest.php | 33 - .../Requests/Grade/CalculateMarksRequest.php | 34 - app/Http/Requests/Library/BookRequest.php | 47 - app/Http/Requests/SchoolRequest.php | 33 - .../Requests/User/ChangePasswordRequest.php | 35 - .../Requests/User/CreateAccountantRequest.php | 39 - app/Http/Requests/User/CreateAdminRequest.php | 39 - .../Requests/User/CreateLibrarianRequest.php | 39 - .../Requests/User/CreateTeacherRequest.php | 40 - app/Http/Requests/User/CreateUserRequest.php | 48 - .../Requests/User/ImpersonateUserRequest.php | 34 - app/Http/Requests/User/UpdateUserRequest.php | 44 - app/Http/Resources/AttendanceResource.php | 25 - app/Http/Resources/BookResource.php | 26 - app/Http/Resources/ClassResource.php | 23 - app/Http/Resources/CourseResource.php | 25 - app/Http/Resources/EventResource.php | 23 - app/Http/Resources/FaqResource.php | 23 - app/Http/Resources/FeedbackResource.php | 24 - app/Http/Resources/FormResource.php | 23 - app/Http/Resources/GradeResource.php | 26 - app/Http/Resources/HomeworkResource.php | 25 - app/Http/Resources/MessageResource.php | 25 - app/Http/Resources/NoticeResource.php | 24 - app/Http/Resources/NotificationResource.php | 23 - app/Http/Resources/RoutineResource.php | 23 - app/Http/Resources/SchoolResource.php | 24 - app/Http/Resources/SectionResource.php | 24 - app/Http/Resources/SyllabusResource.php | 23 - app/Http/Resources/UserResource.php | 34 - app/Http/Traits/GradeTrait.php | 76 - app/Imports/FirstStudentSheetImport.php | 92 - app/Imports/FirstTeacherSheetImport.php | 69 - app/Imports/StudentsImport.php | 15 - app/Imports/TeachersImport.php | 15 - app/Issuedbook.php | 15 - app/Listeners/SendWelcomeEmail.php | 33 - app/Listeners/UpdateStudentInfo.php | 39 - app/Mail/SendWelcomeEmailToUser.php | 43 - app/Message.php | 16 - app/Model.php | 16 - app/Myclass.php | 40 - app/Notice.php | 16 - app/Notification.php | 23 - app/Payment.php | 10 - app/Providers/AppServiceProvider.php | 35 - app/Providers/AuthServiceProvider.php | 31 - app/Providers/BroadcastServiceProvider.php | 21 - app/Providers/EventServiceProvider.php | 35 - app/Providers/RouteServiceProvider.php | 84 - app/Routine.php | 23 - app/School.php | 32 - app/Section.php | 24 - app/Services/Account/AccountService.php | 88 - app/Services/Attendance/AttendanceService.php | 131 - app/Services/Course/CourseService.php | 112 - app/Services/Exam/ExamService.php | 115 - app/Services/Grade/GradeService.php | 340 - app/Services/IssueBook/IssuedBookService.php | 52 - app/Services/User/UserService.php | 268 - app/StudentBoardExam.php | 17 - app/StudentInfo.php | 18 - app/Syllabus.php | 24 - app/User.php | 78 - artisan | 53 - bootstrap/app.php | 55 - bootstrap/cache/.gitignore | 2 - composer.json | 82 - composer.lock | 9948 ---------- config/app.php | 231 - config/auth.php | 102 - config/broadcasting.php | 58 - config/cache.php | 92 - config/database.php | 126 - config/filesystems.php | 68 - config/mail.php | 123 - config/purify.php | 135 - config/queue.php | 85 - config/services.php | 38 - config/session.php | 198 - config/view.php | 33 - database/.gitignore | 1 - database/factories/AccountFactory.php | 25 - database/factories/AccountSectorFactory.php | 23 - database/factories/AttendanceFactory.php | 34 - database/factories/BookFactory.php | 38 - database/factories/CertificateFactory.php | 25 - database/factories/CourseFactory.php | 68 - database/factories/DepartmentFactory.php | 16 - database/factories/EventFactory.php | 21 - database/factories/ExamFactory.php | 31 - database/factories/ExamForClassFactory.php | 14 - database/factories/FaqFactory.php | 17 - database/factories/FeeFactory.php | 36 - database/factories/FeedbackFactory.php | 13 - database/factories/FormFactory.php | 19 - database/factories/GradeFactory.php | 56 - database/factories/GradesystemFactory.php | 26 - database/factories/HomeworkFactory.php | 15 - database/factories/IssuedbooksFactory.php | 37 - database/factories/MessageFactory.php | 24 - database/factories/MyclassFactory.php | 22 - database/factories/NoticeFactory.php | 25 - database/factories/NotificationFactory.php | 19 - database/factories/PaymentFactory.php | 10 - database/factories/RoutineFactory.php | 31 - database/factories/SchoolFactory.php | 15 - database/factories/SectionFactory.php | 17 - .../factories/StudentboardexamFactory.php | 22 - database/factories/StudentinfoFactory.php | 45 - database/factories/SyllabusFactory.php | 31 - database/factories/UserFactory.php | 87 - ...2014_10_12_000000_create_schools_table.php | 37 - .../2014_10_12_100000_create_users_table.php | 49 - .../2017_12_21_065735_create_exams_table.php | 37 - ...27_025313_create_password_resets_table.php | 32 - ..._12_27_025349_create_attendances_table.php | 36 - ...2017_12_27_025413_create_classes_table.php | 34 - ...017_12_27_025427_create_sections_table.php | 35 - ...7_12_27_025450_create_syllabuses_table.php | 37 - ...2017_12_27_025503_create_notices_table.php | 37 - .../2017_12_27_025512_create_events_table.php | 37 - ...17_12_27_025530_create_homeworks_table.php | 35 - ...017_12_27_025542_create_routines_table.php | 37 - .../2017_12_27_025556_create_grades_table.php | 55 - ...2_27_025612_create_notifications_table.php | 36 - ...17_12_27_025631_create_feedbacks_table.php | 34 - .../2017_12_27_025644_create_books_table.php | 44 - ...2017_12_27_025727_create_courses_table.php | 56 - .../2017_12_27_025738_create_forms_table.php | 35 - ...017_12_27_025751_create_messages_table.php | 36 - .../2017_12_27_025806_create_faqs_table.php | 34 - .../2018_02_06_161642_create_fees_table.php | 45 - ...3_26_105657_create_grade_systems_table.php | 38 - ...03_27_153448_create_issued_books_table.php | 40 - ...018_04_01_195635_create_accounts_table.php | 37 - ...01_195715_create_account_sectors_table.php | 35 - ...4_29_121233_create_student_infos_table.php | 50 - ...21517_create_student_board_exams_table.php | 42 - ...5_163435_create_exam_for_classes_table.php | 32 - ...epartment_class_teacher_to_users_table.php | 32 - ...add_term_start_end_date_to_exams_table.php | 34 - ..._10_09_203125_create_departments_table.php | 33 - ...05033_add_class_id_to_syllabuses_table.php | 32 - ...21149_add_section_id_to_routines_table.php | 32 - ...700_add_active_to_exam_for_class_table.php | 32 - ...51601_add_stripe_fields_in_users_table.php | 35 - ...63920_create_stripe_subscription_table.php | 38 - ...019_05_10_193135_create_payments_table.php | 36 - ...07_24_201246_create_certificates_table.php | 37 - database/seeds/AccountSectorsTableSeeder.php | 16 - database/seeds/AccountsTableSeeder.php | 16 - database/seeds/AttendancesTableSeeder.php | 16 - database/seeds/BooksTableSeeder.php | 16 - database/seeds/CertificateTableSeeder.php | 16 - database/seeds/ClassesTableSeeder.php | 16 - database/seeds/CoursesTableSeeder.php | 16 - database/seeds/DatabaseSeeder.php | 44 - database/seeds/DepartmentTableSeeder.php | 16 - database/seeds/EventsTableSeeder.php | 16 - database/seeds/ExamForClassesTableSeeder.php | 16 - database/seeds/ExamsTableSeeder.php | 16 - database/seeds/FaqsTableSeeder.php | 16 - database/seeds/FeedbacksTableSeeder.php | 16 - database/seeds/FeesTableSeeder.php | 16 - database/seeds/FormsTableSeeder.php | 16 - database/seeds/GradesTableSeeder.php | 16 - database/seeds/GradesystemsTableSeeder.php | 16 - database/seeds/HomeworksTableSeeder.php | 16 - database/seeds/IssuedbooksTableSeeder.php | 16 - database/seeds/MessagesTableSeeder.php | 16 - database/seeds/NoticesTableSeeder.php | 16 - database/seeds/NotificationsTableSeeder.php | 16 - database/seeds/RoutinesTableSeeder.php | 16 - database/seeds/SchoolsTableSeeder.php | 16 - database/seeds/SectionsTableSeeder.php | 16 - .../seeds/StudentboardexamsTableSeeder.php | 16 - database/seeds/StudentinfosTableSeeder.php | 20 - database/seeds/SyllabusesTableSeeder.php | 16 - database/seeds/UsersTableSeeder.php | 31 - dev | 27 - docker-compose.yml | 109 - docker-install.sh | 17 - docker/composer.dockerfile | 5 - docker/nginx.dockerfile | 10 - docker/nginx/default.conf | 22 - docker/nginx/nginx.conf | 29 - docker/php.dockerfile | 14 - docker/php/php.ini | 4 - docker/php/www.conf | 439 - package-lock.json | 15264 ---------------- package.json | 26 - phpunit.dusk.xml | 21 - phpunit.xml | 34 - public/.htaccess | 23 - public/01-progress.gif | Bin 193623 -> 0 bytes public/appname.svg | 87 - public/css/app.css | 8 - public/css/application.css | 210 - public/css/bootstrap-notifications.min.css | 5 - public/css/loader.css | 16 - public/css/vendors.css | 28 - public/favicon.ico | 0 public/fonts/glyphicons-halflings-regular.eot | Bin 20127 -> 0 bytes public/fonts/glyphicons-halflings-regular.svg | 288 - public/fonts/glyphicons-halflings-regular.ttf | Bin 45404 -> 0 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 23424 -> 0 bytes .../fonts/glyphicons-halflings-regular.woff2 | Bin 18028 -> 0 bytes public/index.php | 60 - public/js/app.js | 1 - public/js/application.js | 27 - public/js/jquery-2.1.3.min.js | 13 - public/js/vendors.js | 631 - public/mix-manifest.json | 7 - public/robots.txt | 2 - public/sanfran.jpg | Bin 16102 -> 0 bytes public/web.config | 23 - readme.md | 408 - resources/assets/js/app.js | 22 - resources/assets/js/bootstrap.js | 53 - .../assets/js/components/ExampleComponent.vue | 23 - resources/assets/sass/_variables.scss | 38 - resources/assets/sass/app.scss | 9 - .../theme/application/css/app-layout.css | 210 - .../assets/theme/application/css/loader.css | 16 - .../theme/application/js/initializer.js | 27 - .../vendors/css/bootstrap-datepicker.min.css | 7 - .../theme/vendors/css/bootstrap.min.css | 6 - .../vendors/css/chosen.bootstrap.min.css | 1 - .../css/dataTables-1.10.16.bootstrap.min.css | 1 - .../css/flatly.bootstrap-3.3.7.min.css | 11 - .../theme/vendors/js/bootstrap-3.3.7.min.js | 10 - .../vendors/js/bootstrap-datepicker.min.js | 8 - .../theme/vendors/js/chosen.jquery.min.js | 2 - .../js/dataTables-1.10.16.bootstrap.min.js | 18 - .../vendors/js/dataTables-1.10.16.min.js | 578 - .../theme/vendors/js/jquery-2.1.3.min.js | 13 - resources/lang/en/auth.php | 19 - resources/lang/en/pagination.php | 19 - resources/lang/en/passwords.php | 22 - resources/lang/en/validation.php | 121 - resources/lang/es-MX.json | 649 - resources/lang/es-MX/auth.php | 19 - resources/lang/es-MX/pagination.php | 19 - resources/lang/es-MX/passwords.php | 22 - resources/lang/es-MX/validation.php | 121 - .../views/accounts/accountant-list.blade.php | 36 - .../views/accounts/edit_sector.blade.php | 68 - .../views/accounts/expense-edit.blade.php | 74 - .../views/accounts/expense-list.blade.php | 207 - resources/views/accounts/expense.blade.php | 75 - .../views/accounts/income-edit.blade.php | 89 - .../views/accounts/income-list.blade.php | 207 - resources/views/accounts/income.blade.php | 176 - resources/views/accounts/sector.blade.php | 182 - resources/views/attendance/adjust.blade.php | 44 - .../views/attendance/attendance.blade.php | 44 - .../attendance/student-attendances.blade.php | 75 - resources/views/auth/login.blade.php | 82 - .../views/auth/passwords/email.blade.php | 47 - .../views/auth/passwords/reset.blade.php | 70 - resources/views/auth/register.blade.php | 550 - resources/views/certificates/create.blade.php | 28 - resources/views/certificates/index.blade.php | 26 - .../views/components/active-exams.blade.php | 39 - .../views/components/add-exam-form.blade.php | 97 - .../components/adjust-attendance.blade.php | 43 - .../views/components/all-books.blade.php | 38 - .../components/book-issue-form.blade.php | 72 - .../components/certificate-list.blade.php | 22 - .../views/components/course-table.blade.php | 90 - .../views/components/exams-list.blade.php | 143 - .../components/excel-upload-form.blade.php | 8 - .../views/components/fees-list.blade.php | 24 - .../views/components/file-uploader.blade.php | 183 - .../components/issued-books-list.blade.php | 41 - resources/views/components/loader.blade.php | 3 - .../views/components/navbar-top.blade.php | 98 - .../components/promote-students.blade.php | 82 - .../views/components/quill-editor.blade.php | 39 - .../components/uploaded-files-list.blade.php | 49 - .../components/user-board-exam.blade.php | 49 - .../views/components/user-profile.blade.php | 280 - resources/views/components/user.blade.php | 91 - .../views/components/users-export.blade.php | 22 - .../views/components/users-list.blade.php | 149 - resources/views/course/class-course.blade.php | 44 - resources/views/course/edit.blade.php | 57 - resources/views/course/students.blade.php | 116 - .../views/course/teacher-course.blade.php | 38 - resources/views/email/user/welcome.blade.php | 27 - resources/views/events/create.blade.php | 30 - resources/views/exams/active.blade.php | 27 - resources/views/exams/add.blade.php | 27 - resources/views/exams/all.blade.php | 27 - resources/views/fees/all.blade.php | 82 - resources/views/fees/create.blade.php | 47 - resources/views/gpa/all.blade.php | 72 - resources/views/gpa/create.blade.php | 98 - .../views/grade/all-exams-grade.blade.php | 74 - resources/views/grade/class-result.blade.php | 66 - resources/views/grade/course-grade.blade.php | 200 - resources/views/grade/student-grade.blade.php | 49 - resources/views/grade/teacher-grade.blade.php | 266 - resources/views/home.blade.php | 187 - resources/views/layouts/app.blade.php | 44 - .../views/layouts/leftside-menubar.blade.php | 245 - .../layouts/master/add-class-form.blade.php | 48 - .../layouts/master/add-course-form.blade.php | 82 - .../master/create-section-form.blade.php | 32 - .../views/layouts/master/theme-form.blade.php | 8 - .../layouts/master/theme-select.blade.php | 27 - .../student/attendances-table.blade.php | 43 - .../layouts/student/grade-table.blade.php | 177 - .../layouts/teacher/attendance-form.blade.php | 134 - .../layouts/teacher/grade-form.blade.php | 180 - .../layouts/teacher/grade-table.blade.php | 67 - resources/views/layouts/user.blade.php | 35 - .../views/library/books/create-form.blade.php | 165 - .../views/library/books/create.blade.php | 37 - resources/views/library/books/edit.blade.php | 40 - resources/views/library/books/form.blade.php | 165 - resources/views/library/books/index.blade.php | 68 - resources/views/library/books/show.blade.php | 75 - resources/views/library/issuebooks.blade.php | 27 - .../views/library/issued-books.blade.php | 27 - .../views/library/librarian-list.blade.php | 37 - resources/views/list/student-list.blade.php | 45 - resources/views/list/teacher-list.blade.php | 39 - resources/views/masters/index.blade.php | 19 - resources/views/message/all.blade.php | 79 - resources/views/notices/create.blade.php | 28 - resources/views/pdf/profile-pdf.blade.php | 148 - resources/views/pdf/result-pdf.blade.php | 324 - .../views/profile/change-password.blade.php | 78 - resources/views/profile/edit.blade.php | 419 - resources/views/profile/impersonate.blade.php | 36 - .../views/profile/section-students.blade.php | 62 - resources/views/profile/user.blade.php | 35 - resources/views/routines/create.blade.php | 30 - resources/views/school/admin-list.blade.php | 90 - .../views/school/promote-students.blade.php | 40 - resources/views/school/sections.blade.php | 119 - resources/views/schools/edit.blade.php | 51 - resources/views/schools/form.blade.php | 86 - resources/views/schools/index.blade.php | 56 - resources/views/settings/index.blade.php | 212 - resources/views/stripe/payment.blade.php | 163 - resources/views/stripe/receipts.blade.php | 42 - .../views/syllabus/course-syllabus.blade.php | 33 - resources/views/welcome.blade.php | 166 - routes/api.php | 162 - routes/channels.php | 16 - routes/console.php | 18 - routes/web.php | 272 - server.php | 21 - storage/app/.gitignore | 3 - storage/app/public/.gitignore | 2 - storage/debugbar/.gitignore | 2 - storage/framework/.gitignore | 8 - storage/framework/cache/.gitignore | 2 - storage/framework/sessions/.gitignore | 2 - storage/framework/testing/.gitignore | 2 - storage/framework/views/.gitignore | 2 - storage/logs/.gitignore | 2 - .../AdminUserManagesAcademicSettingsTest.php | 27 - tests/Browser/ExampleTest.php | 18 - tests/Browser/LoginTest.php | 27 - .../Browser/MasterUserManagesSchoolsTest.php | 56 - tests/Browser/Pages/HomePage.php | 41 - tests/Browser/Pages/MasterPage.php | 42 - tests/Browser/Pages/Page.php | 20 - tests/Browser/Pages/SchoolPage.php | 76 - tests/Browser/Pages/SettingPage.php | 50 - tests/Browser/console/.gitignore | 2 - tests/Browser/screenshots/.gitignore | 2 - tests/CreatesApplication.php | 22 - tests/DuskTestCase.php | 44 - tests/Feature/AccountingModuleTest.php | 112 - tests/Feature/AttendanceModuleTest.php | 120 - tests/Feature/Auth/RegisterLoginTest.php | 83 - tests/Feature/CertificateTest.php | 41 - tests/Feature/CourseModuleTest.php | 63 - tests/Feature/ExampleTest.php | 21 - tests/Feature/GradeModuleTest.php | 125 - tests/Feature/GradeSystemModuleTest.php | 49 - tests/Feature/LibrarianTest.php | 168 - tests/Feature/Library/BookModuleTest.php | 132 - .../Feature/Library/IssuedBookModuleTest.php | 33 - tests/Feature/Manage/ClassModuleTest.php | 47 - tests/Feature/Manage/CourseModuleTest.php | 54 - tests/Feature/Manage/ExamModuleTest.php | 93 - tests/Feature/Manage/SchoolModuleTest.php | 60 - tests/Feature/Manage/SectionModuleTest.php | 44 - tests/Feature/Manage/SettingModuleTest.php | 61 - tests/Feature/PaymentModuleTest.php | 70 - tests/Feature/UserModuleTest.php | 98 - tests/Feature/UsersExcelExportTest.php | 54 - tests/TestCase.php | 10 - tests/Unit/App/AccountTest.php | 24 - tests/Unit/App/AttendanceTest.php | 40 - tests/Unit/App/BookTest.php | 52 - tests/Unit/App/DepartmentTest.php | 24 - tests/Unit/App/EventTest.php | 24 - tests/Unit/App/ExamTest.php | 24 - tests/Unit/App/FeeTest.php | 24 - tests/Unit/App/FormTest.php | 24 - tests/Unit/App/GradeTest.php | 45 - tests/Unit/App/GradesystemTest.php | 42 - tests/Unit/App/IssuedBookTest.php | 42 - tests/Unit/App/MessageTest.php | 24 - tests/Unit/App/MyclassTest.php | 56 - tests/Unit/App/NoticeTest.php | 24 - tests/Unit/App/RoutineTest.php | 24 - tests/Unit/App/SchoolTest.php | 41 - tests/Unit/App/SectionTest.php | 30 - tests/Unit/App/SyllabusTest.php | 24 - tests/Unit/App/UsersTest.php | 69 - tests/Unit/ExampleTest.php | 19 - tests/Unit/IssuedBookTest.php | 82 - tests/Unit/MarkCalculationTest.php | 89 - tests/utilities/functions.php | 9 - webpack.mix.js | 30 - 521 files changed, 57331 deletions(-) delete mode 100755 .editorconfig delete mode 100755 .env.dusk.example delete mode 100755 .env.example delete mode 100755 .gitattributes delete mode 100755 .github/ISSUE_TEMPLATE/bug_report.md delete mode 100755 .github/ISSUE_TEMPLATE/custom.md delete mode 100755 .github/ISSUE_TEMPLATE/feature_request.md delete mode 100755 .github/workflows/greetings.yml delete mode 100755 .gitignore delete mode 100755 .php_cs delete mode 100755 .phpunit.result.cache delete mode 100755 .travis.yml delete mode 100755 .vscode/launch.json delete mode 100755 .vscode/settings.json delete mode 100755 CODE_OF_CONDUCT.md delete mode 100755 CONTRIBUTING.md delete mode 100755 FUNDING.yml delete mode 100755 LICENSE delete mode 100644 SECURITY.md delete mode 100755 _config.yml delete mode 100755 app/Account.php delete mode 100755 app/AccountSector.php delete mode 100755 app/Attendance.php delete mode 100755 app/Book.php delete mode 100755 app/Certificate.php delete mode 100755 app/Console/Kernel.php delete mode 100755 app/Course.php delete mode 100755 app/Department.php delete mode 100755 app/Event.php delete mode 100755 app/Events/StudentInfoUpdateRequested.php delete mode 100755 app/Events/UserRegistered.php delete mode 100755 app/Exam.php delete mode 100755 app/ExamForClass.php delete mode 100755 app/Exceptions/Handler.php delete mode 100755 app/Exports/StudentsExport.php delete mode 100755 app/Exports/TeachersExport.php delete mode 100755 app/Faq.php delete mode 100755 app/Fee.php delete mode 100755 app/Feedback.php delete mode 100755 app/Form.php delete mode 100755 app/Grade.php delete mode 100755 app/Gradesystem.php delete mode 100755 app/Homework.php delete mode 100755 app/Http/Controllers/AccountController.php delete mode 100755 app/Http/Controllers/AttendanceController.php delete mode 100755 app/Http/Controllers/Auth/ForgotPasswordController.php delete mode 100755 app/Http/Controllers/Auth/LoginController.php delete mode 100755 app/Http/Controllers/Auth/RegisterController.php delete mode 100755 app/Http/Controllers/Auth/ResetPasswordController.php delete mode 100755 app/Http/Controllers/CashierController.php delete mode 100755 app/Http/Controllers/CertificateController.php delete mode 100755 app/Http/Controllers/Controller.php delete mode 100755 app/Http/Controllers/CourseController.php delete mode 100755 app/Http/Controllers/EventController.php delete mode 100755 app/Http/Controllers/ExamController.php delete mode 100755 app/Http/Controllers/FaqController.php delete mode 100755 app/Http/Controllers/FeeController.php delete mode 100755 app/Http/Controllers/FeedbackController.php delete mode 100755 app/Http/Controllers/FormController.php delete mode 100755 app/Http/Controllers/GradeController.php delete mode 100755 app/Http/Controllers/GradesystemController.php delete mode 100755 app/Http/Controllers/HomeController.php delete mode 100755 app/Http/Controllers/HomeworkController.php delete mode 100755 app/Http/Controllers/IssuedbookController.php delete mode 100755 app/Http/Controllers/Library/BookController.php delete mode 100755 app/Http/Controllers/MasterController.php delete mode 100755 app/Http/Controllers/MessageController.php delete mode 100755 app/Http/Controllers/MyclassController.php delete mode 100755 app/Http/Controllers/NoticeController.php delete mode 100755 app/Http/Controllers/NotificationController.php delete mode 100755 app/Http/Controllers/PaymentController.php delete mode 100755 app/Http/Controllers/RoutineController.php delete mode 100755 app/Http/Controllers/SchoolController.php delete mode 100755 app/Http/Controllers/SectionController.php delete mode 100755 app/Http/Controllers/SettingController.php delete mode 100755 app/Http/Controllers/SyllabusController.php delete mode 100755 app/Http/Controllers/UploadController.php delete mode 100755 app/Http/Controllers/UploadHandler.php delete mode 100755 app/Http/Controllers/UserController.php delete mode 100755 app/Http/Kernel.php delete mode 100755 app/Http/Middleware/CheckAccountant.php delete mode 100755 app/Http/Middleware/CheckAdmin.php delete mode 100755 app/Http/Middleware/CheckLibrarian.php delete mode 100755 app/Http/Middleware/CheckMaster.php delete mode 100755 app/Http/Middleware/CheckMasterOrAdmin.php delete mode 100755 app/Http/Middleware/CheckStudent.php delete mode 100755 app/Http/Middleware/CheckTeacher.php delete mode 100755 app/Http/Middleware/CheckTeacherOrStudent.php delete mode 100755 app/Http/Middleware/EncryptCookies.php delete mode 100755 app/Http/Middleware/RedirectIfAuthenticated.php delete mode 100755 app/Http/Middleware/TrimStrings.php delete mode 100755 app/Http/Middleware/TrustProxies.php delete mode 100755 app/Http/Middleware/VerifyCsrfToken.php delete mode 100755 app/Http/Requests/Account/StoreAccountRequest.php delete mode 100755 app/Http/Requests/Account/StoreSectorRequest.php delete mode 100755 app/Http/Requests/Account/UpdateAccountRequest.php delete mode 100755 app/Http/Requests/Attendance/StoreAttendanceRequest.php delete mode 100755 app/Http/Requests/Course/SaveConfigurationRequest.php delete mode 100755 app/Http/Requests/Exam/CreateExamRequest.php delete mode 100755 app/Http/Requests/Grade/CalculateMarksRequest.php delete mode 100755 app/Http/Requests/Library/BookRequest.php delete mode 100755 app/Http/Requests/SchoolRequest.php delete mode 100755 app/Http/Requests/User/ChangePasswordRequest.php delete mode 100755 app/Http/Requests/User/CreateAccountantRequest.php delete mode 100755 app/Http/Requests/User/CreateAdminRequest.php delete mode 100755 app/Http/Requests/User/CreateLibrarianRequest.php delete mode 100755 app/Http/Requests/User/CreateTeacherRequest.php delete mode 100755 app/Http/Requests/User/CreateUserRequest.php delete mode 100755 app/Http/Requests/User/ImpersonateUserRequest.php delete mode 100755 app/Http/Requests/User/UpdateUserRequest.php delete mode 100755 app/Http/Resources/AttendanceResource.php delete mode 100755 app/Http/Resources/BookResource.php delete mode 100755 app/Http/Resources/ClassResource.php delete mode 100755 app/Http/Resources/CourseResource.php delete mode 100755 app/Http/Resources/EventResource.php delete mode 100755 app/Http/Resources/FaqResource.php delete mode 100755 app/Http/Resources/FeedbackResource.php delete mode 100755 app/Http/Resources/FormResource.php delete mode 100755 app/Http/Resources/GradeResource.php delete mode 100755 app/Http/Resources/HomeworkResource.php delete mode 100755 app/Http/Resources/MessageResource.php delete mode 100755 app/Http/Resources/NoticeResource.php delete mode 100755 app/Http/Resources/NotificationResource.php delete mode 100755 app/Http/Resources/RoutineResource.php delete mode 100755 app/Http/Resources/SchoolResource.php delete mode 100755 app/Http/Resources/SectionResource.php delete mode 100755 app/Http/Resources/SyllabusResource.php delete mode 100755 app/Http/Resources/UserResource.php delete mode 100755 app/Http/Traits/GradeTrait.php delete mode 100755 app/Imports/FirstStudentSheetImport.php delete mode 100755 app/Imports/FirstTeacherSheetImport.php delete mode 100755 app/Imports/StudentsImport.php delete mode 100755 app/Imports/TeachersImport.php delete mode 100755 app/Issuedbook.php delete mode 100755 app/Listeners/SendWelcomeEmail.php delete mode 100755 app/Listeners/UpdateStudentInfo.php delete mode 100755 app/Mail/SendWelcomeEmailToUser.php delete mode 100755 app/Message.php delete mode 100755 app/Model.php delete mode 100755 app/Myclass.php delete mode 100755 app/Notice.php delete mode 100755 app/Notification.php delete mode 100755 app/Payment.php delete mode 100755 app/Providers/AppServiceProvider.php delete mode 100755 app/Providers/AuthServiceProvider.php delete mode 100755 app/Providers/BroadcastServiceProvider.php delete mode 100755 app/Providers/EventServiceProvider.php delete mode 100755 app/Providers/RouteServiceProvider.php delete mode 100755 app/Routine.php delete mode 100755 app/School.php delete mode 100755 app/Section.php delete mode 100755 app/Services/Account/AccountService.php delete mode 100755 app/Services/Attendance/AttendanceService.php delete mode 100755 app/Services/Course/CourseService.php delete mode 100755 app/Services/Exam/ExamService.php delete mode 100755 app/Services/Grade/GradeService.php delete mode 100755 app/Services/IssueBook/IssuedBookService.php delete mode 100755 app/Services/User/UserService.php delete mode 100755 app/StudentBoardExam.php delete mode 100755 app/StudentInfo.php delete mode 100755 app/Syllabus.php delete mode 100755 app/User.php delete mode 100755 artisan delete mode 100755 bootstrap/app.php delete mode 100755 bootstrap/cache/.gitignore delete mode 100755 composer.json delete mode 100644 composer.lock delete mode 100755 config/app.php delete mode 100755 config/auth.php delete mode 100755 config/broadcasting.php delete mode 100755 config/cache.php delete mode 100755 config/database.php delete mode 100755 config/filesystems.php delete mode 100755 config/mail.php delete mode 100644 config/purify.php delete mode 100755 config/queue.php delete mode 100755 config/services.php delete mode 100755 config/session.php delete mode 100755 config/view.php delete mode 100755 database/.gitignore delete mode 100755 database/factories/AccountFactory.php delete mode 100755 database/factories/AccountSectorFactory.php delete mode 100755 database/factories/AttendanceFactory.php delete mode 100755 database/factories/BookFactory.php delete mode 100755 database/factories/CertificateFactory.php delete mode 100755 database/factories/CourseFactory.php delete mode 100755 database/factories/DepartmentFactory.php delete mode 100755 database/factories/EventFactory.php delete mode 100755 database/factories/ExamFactory.php delete mode 100755 database/factories/ExamForClassFactory.php delete mode 100755 database/factories/FaqFactory.php delete mode 100755 database/factories/FeeFactory.php delete mode 100755 database/factories/FeedbackFactory.php delete mode 100755 database/factories/FormFactory.php delete mode 100755 database/factories/GradeFactory.php delete mode 100755 database/factories/GradesystemFactory.php delete mode 100755 database/factories/HomeworkFactory.php delete mode 100755 database/factories/IssuedbooksFactory.php delete mode 100755 database/factories/MessageFactory.php delete mode 100755 database/factories/MyclassFactory.php delete mode 100755 database/factories/NoticeFactory.php delete mode 100755 database/factories/NotificationFactory.php delete mode 100755 database/factories/PaymentFactory.php delete mode 100755 database/factories/RoutineFactory.php delete mode 100755 database/factories/SchoolFactory.php delete mode 100755 database/factories/SectionFactory.php delete mode 100755 database/factories/StudentboardexamFactory.php delete mode 100755 database/factories/StudentinfoFactory.php delete mode 100755 database/factories/SyllabusFactory.php delete mode 100755 database/factories/UserFactory.php delete mode 100755 database/migrations/2014_10_12_000000_create_schools_table.php delete mode 100755 database/migrations/2014_10_12_100000_create_users_table.php delete mode 100755 database/migrations/2017_12_21_065735_create_exams_table.php delete mode 100755 database/migrations/2017_12_27_025313_create_password_resets_table.php delete mode 100755 database/migrations/2017_12_27_025349_create_attendances_table.php delete mode 100755 database/migrations/2017_12_27_025413_create_classes_table.php delete mode 100755 database/migrations/2017_12_27_025427_create_sections_table.php delete mode 100755 database/migrations/2017_12_27_025450_create_syllabuses_table.php delete mode 100755 database/migrations/2017_12_27_025503_create_notices_table.php delete mode 100755 database/migrations/2017_12_27_025512_create_events_table.php delete mode 100755 database/migrations/2017_12_27_025530_create_homeworks_table.php delete mode 100755 database/migrations/2017_12_27_025542_create_routines_table.php delete mode 100755 database/migrations/2017_12_27_025556_create_grades_table.php delete mode 100755 database/migrations/2017_12_27_025612_create_notifications_table.php delete mode 100755 database/migrations/2017_12_27_025631_create_feedbacks_table.php delete mode 100755 database/migrations/2017_12_27_025644_create_books_table.php delete mode 100755 database/migrations/2017_12_27_025727_create_courses_table.php delete mode 100755 database/migrations/2017_12_27_025738_create_forms_table.php delete mode 100755 database/migrations/2017_12_27_025751_create_messages_table.php delete mode 100755 database/migrations/2017_12_27_025806_create_faqs_table.php delete mode 100755 database/migrations/2018_02_06_161642_create_fees_table.php delete mode 100755 database/migrations/2018_03_26_105657_create_grade_systems_table.php delete mode 100755 database/migrations/2018_03_27_153448_create_issued_books_table.php delete mode 100755 database/migrations/2018_04_01_195635_create_accounts_table.php delete mode 100755 database/migrations/2018_04_01_195715_create_account_sectors_table.php delete mode 100755 database/migrations/2018_04_29_121233_create_student_infos_table.php delete mode 100755 database/migrations/2018_04_29_121517_create_student_board_exams_table.php delete mode 100755 database/migrations/2018_10_05_163435_create_exam_for_classes_table.php delete mode 100755 database/migrations/2018_10_08_002853_add_department_class_teacher_to_users_table.php delete mode 100755 database/migrations/2018_10_09_093606_add_term_start_end_date_to_exams_table.php delete mode 100755 database/migrations/2018_10_09_203125_create_departments_table.php delete mode 100755 database/migrations/2019_04_08_105033_add_class_id_to_syllabuses_table.php delete mode 100755 database/migrations/2019_04_08_121149_add_section_id_to_routines_table.php delete mode 100755 database/migrations/2019_04_25_101700_add_active_to_exam_for_class_table.php delete mode 100755 database/migrations/2019_05_10_151601_add_stripe_fields_in_users_table.php delete mode 100755 database/migrations/2019_05_10_163920_create_stripe_subscription_table.php delete mode 100755 database/migrations/2019_05_10_193135_create_payments_table.php delete mode 100755 database/migrations/2020_07_24_201246_create_certificates_table.php delete mode 100755 database/seeds/AccountSectorsTableSeeder.php delete mode 100755 database/seeds/AccountsTableSeeder.php delete mode 100755 database/seeds/AttendancesTableSeeder.php delete mode 100755 database/seeds/BooksTableSeeder.php delete mode 100755 database/seeds/CertificateTableSeeder.php delete mode 100755 database/seeds/ClassesTableSeeder.php delete mode 100755 database/seeds/CoursesTableSeeder.php delete mode 100755 database/seeds/DatabaseSeeder.php delete mode 100755 database/seeds/DepartmentTableSeeder.php delete mode 100755 database/seeds/EventsTableSeeder.php delete mode 100755 database/seeds/ExamForClassesTableSeeder.php delete mode 100755 database/seeds/ExamsTableSeeder.php delete mode 100755 database/seeds/FaqsTableSeeder.php delete mode 100755 database/seeds/FeedbacksTableSeeder.php delete mode 100755 database/seeds/FeesTableSeeder.php delete mode 100755 database/seeds/FormsTableSeeder.php delete mode 100755 database/seeds/GradesTableSeeder.php delete mode 100755 database/seeds/GradesystemsTableSeeder.php delete mode 100755 database/seeds/HomeworksTableSeeder.php delete mode 100755 database/seeds/IssuedbooksTableSeeder.php delete mode 100755 database/seeds/MessagesTableSeeder.php delete mode 100755 database/seeds/NoticesTableSeeder.php delete mode 100755 database/seeds/NotificationsTableSeeder.php delete mode 100755 database/seeds/RoutinesTableSeeder.php delete mode 100755 database/seeds/SchoolsTableSeeder.php delete mode 100755 database/seeds/SectionsTableSeeder.php delete mode 100755 database/seeds/StudentboardexamsTableSeeder.php delete mode 100755 database/seeds/StudentinfosTableSeeder.php delete mode 100755 database/seeds/SyllabusesTableSeeder.php delete mode 100755 database/seeds/UsersTableSeeder.php delete mode 100644 dev delete mode 100755 docker-compose.yml delete mode 100755 docker-install.sh delete mode 100755 docker/composer.dockerfile delete mode 100755 docker/nginx.dockerfile delete mode 100755 docker/nginx/default.conf delete mode 100755 docker/nginx/nginx.conf delete mode 100755 docker/php.dockerfile delete mode 100755 docker/php/php.ini delete mode 100755 docker/php/www.conf delete mode 100644 package-lock.json delete mode 100644 package.json delete mode 100755 phpunit.dusk.xml delete mode 100755 phpunit.xml delete mode 100755 public/.htaccess delete mode 100755 public/01-progress.gif delete mode 100755 public/appname.svg delete mode 100755 public/css/app.css delete mode 100755 public/css/application.css delete mode 100755 public/css/bootstrap-notifications.min.css delete mode 100755 public/css/loader.css delete mode 100755 public/css/vendors.css delete mode 100755 public/favicon.ico delete mode 100755 public/fonts/glyphicons-halflings-regular.eot delete mode 100755 public/fonts/glyphicons-halflings-regular.svg delete mode 100755 public/fonts/glyphicons-halflings-regular.ttf delete mode 100755 public/fonts/glyphicons-halflings-regular.woff delete mode 100755 public/fonts/glyphicons-halflings-regular.woff2 delete mode 100755 public/index.php delete mode 100755 public/js/app.js delete mode 100755 public/js/application.js delete mode 100755 public/js/jquery-2.1.3.min.js delete mode 100755 public/js/vendors.js delete mode 100755 public/mix-manifest.json delete mode 100755 public/robots.txt delete mode 100755 public/sanfran.jpg delete mode 100755 public/web.config delete mode 100755 readme.md delete mode 100755 resources/assets/js/app.js delete mode 100755 resources/assets/js/bootstrap.js delete mode 100755 resources/assets/js/components/ExampleComponent.vue delete mode 100755 resources/assets/sass/_variables.scss delete mode 100755 resources/assets/sass/app.scss delete mode 100755 resources/assets/theme/application/css/app-layout.css delete mode 100755 resources/assets/theme/application/css/loader.css delete mode 100755 resources/assets/theme/application/js/initializer.js delete mode 100755 resources/assets/theme/vendors/css/bootstrap-datepicker.min.css delete mode 100755 resources/assets/theme/vendors/css/bootstrap.min.css delete mode 100755 resources/assets/theme/vendors/css/chosen.bootstrap.min.css delete mode 100755 resources/assets/theme/vendors/css/dataTables-1.10.16.bootstrap.min.css delete mode 100755 resources/assets/theme/vendors/css/flatly.bootstrap-3.3.7.min.css delete mode 100755 resources/assets/theme/vendors/js/bootstrap-3.3.7.min.js delete mode 100755 resources/assets/theme/vendors/js/bootstrap-datepicker.min.js delete mode 100755 resources/assets/theme/vendors/js/chosen.jquery.min.js delete mode 100755 resources/assets/theme/vendors/js/dataTables-1.10.16.bootstrap.min.js delete mode 100755 resources/assets/theme/vendors/js/dataTables-1.10.16.min.js delete mode 100755 resources/assets/theme/vendors/js/jquery-2.1.3.min.js delete mode 100755 resources/lang/en/auth.php delete mode 100755 resources/lang/en/pagination.php delete mode 100755 resources/lang/en/passwords.php delete mode 100755 resources/lang/en/validation.php delete mode 100755 resources/lang/es-MX.json delete mode 100755 resources/lang/es-MX/auth.php delete mode 100755 resources/lang/es-MX/pagination.php delete mode 100755 resources/lang/es-MX/passwords.php delete mode 100755 resources/lang/es-MX/validation.php delete mode 100755 resources/views/accounts/accountant-list.blade.php delete mode 100755 resources/views/accounts/edit_sector.blade.php delete mode 100755 resources/views/accounts/expense-edit.blade.php delete mode 100755 resources/views/accounts/expense-list.blade.php delete mode 100755 resources/views/accounts/expense.blade.php delete mode 100755 resources/views/accounts/income-edit.blade.php delete mode 100755 resources/views/accounts/income-list.blade.php delete mode 100755 resources/views/accounts/income.blade.php delete mode 100755 resources/views/accounts/sector.blade.php delete mode 100755 resources/views/attendance/adjust.blade.php delete mode 100755 resources/views/attendance/attendance.blade.php delete mode 100755 resources/views/attendance/student-attendances.blade.php delete mode 100755 resources/views/auth/login.blade.php delete mode 100755 resources/views/auth/passwords/email.blade.php delete mode 100755 resources/views/auth/passwords/reset.blade.php delete mode 100755 resources/views/auth/register.blade.php delete mode 100755 resources/views/certificates/create.blade.php delete mode 100755 resources/views/certificates/index.blade.php delete mode 100755 resources/views/components/active-exams.blade.php delete mode 100755 resources/views/components/add-exam-form.blade.php delete mode 100755 resources/views/components/adjust-attendance.blade.php delete mode 100755 resources/views/components/all-books.blade.php delete mode 100755 resources/views/components/book-issue-form.blade.php delete mode 100755 resources/views/components/certificate-list.blade.php delete mode 100755 resources/views/components/course-table.blade.php delete mode 100755 resources/views/components/exams-list.blade.php delete mode 100755 resources/views/components/excel-upload-form.blade.php delete mode 100755 resources/views/components/fees-list.blade.php delete mode 100755 resources/views/components/file-uploader.blade.php delete mode 100755 resources/views/components/issued-books-list.blade.php delete mode 100755 resources/views/components/loader.blade.php delete mode 100755 resources/views/components/navbar-top.blade.php delete mode 100755 resources/views/components/promote-students.blade.php delete mode 100755 resources/views/components/quill-editor.blade.php delete mode 100755 resources/views/components/uploaded-files-list.blade.php delete mode 100755 resources/views/components/user-board-exam.blade.php delete mode 100755 resources/views/components/user-profile.blade.php delete mode 100755 resources/views/components/user.blade.php delete mode 100755 resources/views/components/users-export.blade.php delete mode 100755 resources/views/components/users-list.blade.php delete mode 100755 resources/views/course/class-course.blade.php delete mode 100755 resources/views/course/edit.blade.php delete mode 100755 resources/views/course/students.blade.php delete mode 100755 resources/views/course/teacher-course.blade.php delete mode 100755 resources/views/email/user/welcome.blade.php delete mode 100755 resources/views/events/create.blade.php delete mode 100755 resources/views/exams/active.blade.php delete mode 100755 resources/views/exams/add.blade.php delete mode 100755 resources/views/exams/all.blade.php delete mode 100755 resources/views/fees/all.blade.php delete mode 100755 resources/views/fees/create.blade.php delete mode 100755 resources/views/gpa/all.blade.php delete mode 100755 resources/views/gpa/create.blade.php delete mode 100755 resources/views/grade/all-exams-grade.blade.php delete mode 100755 resources/views/grade/class-result.blade.php delete mode 100755 resources/views/grade/course-grade.blade.php delete mode 100755 resources/views/grade/student-grade.blade.php delete mode 100755 resources/views/grade/teacher-grade.blade.php delete mode 100755 resources/views/home.blade.php delete mode 100755 resources/views/layouts/app.blade.php delete mode 100755 resources/views/layouts/leftside-menubar.blade.php delete mode 100755 resources/views/layouts/master/add-class-form.blade.php delete mode 100755 resources/views/layouts/master/add-course-form.blade.php delete mode 100755 resources/views/layouts/master/create-section-form.blade.php delete mode 100755 resources/views/layouts/master/theme-form.blade.php delete mode 100755 resources/views/layouts/master/theme-select.blade.php delete mode 100755 resources/views/layouts/student/attendances-table.blade.php delete mode 100755 resources/views/layouts/student/grade-table.blade.php delete mode 100755 resources/views/layouts/teacher/attendance-form.blade.php delete mode 100755 resources/views/layouts/teacher/grade-form.blade.php delete mode 100755 resources/views/layouts/teacher/grade-table.blade.php delete mode 100755 resources/views/layouts/user.blade.php delete mode 100755 resources/views/library/books/create-form.blade.php delete mode 100755 resources/views/library/books/create.blade.php delete mode 100755 resources/views/library/books/edit.blade.php delete mode 100755 resources/views/library/books/form.blade.php delete mode 100755 resources/views/library/books/index.blade.php delete mode 100755 resources/views/library/books/show.blade.php delete mode 100755 resources/views/library/issuebooks.blade.php delete mode 100755 resources/views/library/issued-books.blade.php delete mode 100755 resources/views/library/librarian-list.blade.php delete mode 100755 resources/views/list/student-list.blade.php delete mode 100755 resources/views/list/teacher-list.blade.php delete mode 100755 resources/views/masters/index.blade.php delete mode 100755 resources/views/message/all.blade.php delete mode 100755 resources/views/notices/create.blade.php delete mode 100755 resources/views/pdf/profile-pdf.blade.php delete mode 100755 resources/views/pdf/result-pdf.blade.php delete mode 100755 resources/views/profile/change-password.blade.php delete mode 100755 resources/views/profile/edit.blade.php delete mode 100755 resources/views/profile/impersonate.blade.php delete mode 100755 resources/views/profile/section-students.blade.php delete mode 100755 resources/views/profile/user.blade.php delete mode 100755 resources/views/routines/create.blade.php delete mode 100755 resources/views/school/admin-list.blade.php delete mode 100755 resources/views/school/promote-students.blade.php delete mode 100755 resources/views/school/sections.blade.php delete mode 100755 resources/views/schools/edit.blade.php delete mode 100755 resources/views/schools/form.blade.php delete mode 100755 resources/views/schools/index.blade.php delete mode 100755 resources/views/settings/index.blade.php delete mode 100755 resources/views/stripe/payment.blade.php delete mode 100755 resources/views/stripe/receipts.blade.php delete mode 100755 resources/views/syllabus/course-syllabus.blade.php delete mode 100755 resources/views/welcome.blade.php delete mode 100755 routes/api.php delete mode 100755 routes/channels.php delete mode 100755 routes/console.php delete mode 100755 routes/web.php delete mode 100755 server.php delete mode 100755 storage/app/.gitignore delete mode 100755 storage/app/public/.gitignore delete mode 100755 storage/debugbar/.gitignore delete mode 100755 storage/framework/.gitignore delete mode 100755 storage/framework/cache/.gitignore delete mode 100755 storage/framework/sessions/.gitignore delete mode 100755 storage/framework/testing/.gitignore delete mode 100755 storage/framework/views/.gitignore delete mode 100755 storage/logs/.gitignore delete mode 100755 tests/Browser/AdminUserManagesAcademicSettingsTest.php delete mode 100755 tests/Browser/ExampleTest.php delete mode 100755 tests/Browser/LoginTest.php delete mode 100755 tests/Browser/MasterUserManagesSchoolsTest.php delete mode 100755 tests/Browser/Pages/HomePage.php delete mode 100755 tests/Browser/Pages/MasterPage.php delete mode 100755 tests/Browser/Pages/Page.php delete mode 100755 tests/Browser/Pages/SchoolPage.php delete mode 100755 tests/Browser/Pages/SettingPage.php delete mode 100755 tests/Browser/console/.gitignore delete mode 100755 tests/Browser/screenshots/.gitignore delete mode 100755 tests/CreatesApplication.php delete mode 100755 tests/DuskTestCase.php delete mode 100755 tests/Feature/AccountingModuleTest.php delete mode 100755 tests/Feature/AttendanceModuleTest.php delete mode 100755 tests/Feature/Auth/RegisterLoginTest.php delete mode 100755 tests/Feature/CertificateTest.php delete mode 100755 tests/Feature/CourseModuleTest.php delete mode 100755 tests/Feature/ExampleTest.php delete mode 100755 tests/Feature/GradeModuleTest.php delete mode 100755 tests/Feature/GradeSystemModuleTest.php delete mode 100755 tests/Feature/LibrarianTest.php delete mode 100755 tests/Feature/Library/BookModuleTest.php delete mode 100755 tests/Feature/Library/IssuedBookModuleTest.php delete mode 100755 tests/Feature/Manage/ClassModuleTest.php delete mode 100755 tests/Feature/Manage/CourseModuleTest.php delete mode 100755 tests/Feature/Manage/ExamModuleTest.php delete mode 100755 tests/Feature/Manage/SchoolModuleTest.php delete mode 100755 tests/Feature/Manage/SectionModuleTest.php delete mode 100755 tests/Feature/Manage/SettingModuleTest.php delete mode 100755 tests/Feature/PaymentModuleTest.php delete mode 100755 tests/Feature/UserModuleTest.php delete mode 100755 tests/Feature/UsersExcelExportTest.php delete mode 100755 tests/TestCase.php delete mode 100755 tests/Unit/App/AccountTest.php delete mode 100755 tests/Unit/App/AttendanceTest.php delete mode 100755 tests/Unit/App/BookTest.php delete mode 100755 tests/Unit/App/DepartmentTest.php delete mode 100755 tests/Unit/App/EventTest.php delete mode 100755 tests/Unit/App/ExamTest.php delete mode 100755 tests/Unit/App/FeeTest.php delete mode 100755 tests/Unit/App/FormTest.php delete mode 100755 tests/Unit/App/GradeTest.php delete mode 100755 tests/Unit/App/GradesystemTest.php delete mode 100755 tests/Unit/App/IssuedBookTest.php delete mode 100755 tests/Unit/App/MessageTest.php delete mode 100755 tests/Unit/App/MyclassTest.php delete mode 100755 tests/Unit/App/NoticeTest.php delete mode 100755 tests/Unit/App/RoutineTest.php delete mode 100755 tests/Unit/App/SchoolTest.php delete mode 100755 tests/Unit/App/SectionTest.php delete mode 100755 tests/Unit/App/SyllabusTest.php delete mode 100755 tests/Unit/App/UsersTest.php delete mode 100755 tests/Unit/ExampleTest.php delete mode 100755 tests/Unit/IssuedBookTest.php delete mode 100755 tests/Unit/MarkCalculationTest.php delete mode 100755 tests/utilities/functions.php delete mode 100755 webpack.mix.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100755 index 2140c0ba9..000000000 --- a/.editorconfig +++ /dev/null @@ -1,19 +0,0 @@ -[*] -end_of_line = lf -insert_final_newline = true - -[*.php] -indent_style = space -indent_size = 4 - -[Makefile] -indent_style = tab -indent_size = 4 - -[.html] -indent_style = space -indent_size = 2 - -[{composer.json}] -indent_style = space -indent_size = 4 \ No newline at end of file diff --git a/.env.dusk.example b/.env.dusk.example deleted file mode 100755 index 0ba785b53..000000000 --- a/.env.dusk.example +++ /dev/null @@ -1,8 +0,0 @@ -APP_NAME=UnifiedTransformTest -APP_ENV=local -APP_KEY= -APP_DEBUG=true -APP_LOG_LEVEL=debug -APP_URL=http://127.0.0.1:8000 - -DB_CONNECTION=dusk_testing diff --git a/.env.example b/.env.example deleted file mode 100755 index 85072698b..000000000 --- a/.env.example +++ /dev/null @@ -1,41 +0,0 @@ -APP_NAME=UnifiedTransform -APP_ENV=local -APP_KEY= -APP_DEBUG=true -APP_LOG_LEVEL=debug -APP_URL=http://localhost - -DB_CONNECTION=mysql -DB_HOST=db -DB_PORT=3306 -DB_DATABASE=schoolapp -DB_USERNAME=schoolapp -DB_PASSWORD=schoolapp - -DOCKER_WEBSERVER_HOST=4049 -DOCKER_PHPMYADMIN_HOST=5051 - -BROADCAST_DRIVER=log -CACHE_DRIVER=file -SESSION_DRIVER=file -SESSION_LIFETIME=120 -QUEUE_DRIVER=sync - -REDIS_HOST=127.0.0.1 -REDIS_PASSWORD=null -REDIS_PORT=6379 - -MAIL_DRIVER=smtp -MAIL_HOST=smtp.mailtrap.io -MAIL_PORT=2525 -MAIL_USERNAME=null -MAIL_PASSWORD=null -MAIL_ENCRYPTION=null - -PUSHER_APP_ID= -PUSHER_APP_KEY= -PUSHER_APP_SECRET= -PUSHER_APP_CLUSTER=mt1 - -STRIPE_KEY= -STRIPE_SECRET= diff --git a/.gitattributes b/.gitattributes deleted file mode 100755 index 967315dd3..000000000 --- a/.gitattributes +++ /dev/null @@ -1,5 +0,0 @@ -* text=auto -*.css linguist-vendored -*.scss linguist-vendored -*.js linguist-vendored -CHANGELOG.md export-ignore diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100755 index dd84ea782..000000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: '' -assignees: '' - ---- - -**Describe the bug** -A clear and concise description of what the bug is. - -**To Reproduce** -Steps to reproduce the behavior: -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' -4. See error - -**Expected behavior** -A clear and concise description of what you expected to happen. - -**Screenshots** -If applicable, add screenshots to help explain your problem. - -**Desktop (please complete the following information):** - - OS: [e.g. iOS] - - Browser [e.g. chrome, safari] - - Version [e.g. 22] - -**Smartphone (please complete the following information):** - - Device: [e.g. iPhone6] - - OS: [e.g. iOS8.1] - - Browser [e.g. stock browser, safari] - - Version [e.g. 22] - -**Additional context** -Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/custom.md b/.github/ISSUE_TEMPLATE/custom.md deleted file mode 100755 index 48d5f81fa..000000000 --- a/.github/ISSUE_TEMPLATE/custom.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: Custom issue template -about: Describe this issue template's purpose here. -title: '' -labels: '' -assignees: '' - ---- - - diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100755 index bbcbbe7d6..000000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: '' -labels: '' -assignees: '' - ---- - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -**Describe the solution you'd like** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Additional context** -Add any other context or screenshots about the feature request here. diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml deleted file mode 100755 index 7adbc361f..000000000 --- a/.github/workflows/greetings.yml +++ /dev/null @@ -1,12 +0,0 @@ -name: Greetings - -on: [pull_request] - -jobs: - greeting: - runs-on: ubuntu-latest - steps: - - uses: actions/first-interaction@v1 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - pr-message: 'Thanks for your first pr! Happy contribuiting' diff --git a/.gitignore b/.gitignore deleted file mode 100755 index 8eb4a3fb4..000000000 --- a/.gitignore +++ /dev/null @@ -1,17 +0,0 @@ -/node_modules -/public/hot -/public/storage -/storage/*.key -/vendor -/.idea -/.vagrant -Homestead.json -Homestead.yaml -npm-debug.log -yarn-error.log -.env -.php_cs.cache -.rnd -/database/database.* -.env.dusk.local -_ide_helper.php diff --git a/.php_cs b/.php_cs deleted file mode 100755 index 82f0c9d86..000000000 --- a/.php_cs +++ /dev/null @@ -1,40 +0,0 @@ - true, - '@Symfony' => true, - // addtional rules - 'array_syntax' => ['syntax' => 'short'], - 'no_multiline_whitespace_before_semicolons' => true, - 'no_short_echo_tag' => true, - 'no_unused_imports' => true, - 'not_operator_with_successor_space' => true, - 'phpdoc_no_empty_return' => false, - 'linebreak_after_opening_tag' => true, - 'ordered_imports' => ['sortAlgorithm' => 'length'], - 'blank_line_after_opening_tag' => true, - 'trim_array_spaces' => true -]; -$excludes = [ - 'vendor', - 'node_modules', - 'scratch', -]; - -$finder = PhpCsFixer\Finder::create() - ->notPath('bootstrap/cache') - ->notPath('storage') - ->notPath('vendor') - ->in(__DIR__) - ->name('*.php') - ->notName('*.blade.php') - ->ignoreDotFiles(true) - ->ignoreVCS(true); - -return PhpCsFixer\Config::create() - ->setRules($rules) - ->setUsingCache(false) - ->setFinder($finder); diff --git a/.phpunit.result.cache b/.phpunit.result.cache deleted file mode 100755 index f71205040..000000000 --- a/.phpunit.result.cache +++ /dev/null @@ -1 +0,0 @@ -C:37:"PHPUnit\Runner\DefaultTestResultCache":19599:{a:2:{s:7:"defects";a:96:{s:74:"Tests\Feature\AttendanceModuleTest::can_view_student_attendance_by_section";i:4;s:92:"Tests\Feature\AttendanceModuleTest::students_are_added_to_a_section_before_taking_attendance";i:4;s:82:"Tests\Feature\AttendanceModuleTest::admin_or_teacher_can_adjust_student_attendance";i:4;s:62:"Tests\Feature\Auth\RegisterLoginTest::test_user_can_be_created";i:3;s:58:"Tests\Feature\Auth\RegisterLoginTest::test_user_can_log_in";i:3;s:112:"Tests\Feature\GradeModuleTest::teacher_can_get_total_calculated_marks_of_each_student_of_a_section_of_his_course";i:4;s:81:"Tests\Feature\GradeModuleTest::teacher_can_save_grade_for_a_section_of_his_course";i:4;s:70:"Tests\Feature\LibrarianTest::can_see_some_personal_student_information";i:4;s:72:"Tests\Feature\LibrarianTest::can_see_some_personal_librarian_information";i:4;s:47:"Tests\Feature\LibrarianTest::can_add_a_new_book";i:4;s:64:"Tests\Feature\Library\BookModuleTest::it_loads_the_new_book_page";i:3;s:85:"Tests\Feature\UserModuleTest::admin_redirected_to_register_with_register_role_student";i:4;s:70:"Tests\Feature\LibrarianTest::can_see_some_personal_teacher_information";i:4;s:53:"Tests\Feature\LibrarianTest::can_see_list_of_students";i:4;s:72:"Tests\Feature\AccountingModuleTest::accountant_can_view_edit_sector_form";i:4;s:62:"Tests\Feature\AccountingModuleTest::accountant_can_edit_sector";i:4;s:43:"Tests\Feature\AccountingModuleTest::view_is";i:4;s:64:"Tests\Feature\AccountingModuleTest::accountant_can_create_sector";i:4;s:67:"Tests\Feature\AccountingModuleTest::accountant_can_view_income_list";i:4;s:61:"Tests\Feature\AccountingModuleTest::accountant_can_add_income";i:4;s:68:"Tests\Feature\AccountingModuleTest::accountant_can_view_expense_list";i:4;s:62:"Tests\Feature\AccountingModuleTest::accountant_can_add_expense";i:4;s:64:"Tests\Feature\AttendanceModuleTest::can_view_students_by_section";i:4;s:73:"Tests\Feature\AttendanceModuleTest::view_student_attendance_by_student_id";i:4;s:92:"Tests\Feature\AttendanceModuleTest::admin_or_teacher_can_view_adjust_student_attendance_form";i:4;s:81:"Tests\Feature\AttendanceModuleTest::admin_or_teacher_can_take_students_attendance";i:4;s:83:"Tests\Feature\AttendanceModuleTest::admin_or_teacher_can_update_students_attendance";i:4;s:91:"Tests\Feature\Auth\RegisterLoginTest::test_unauthenticated_user_cannot_view_a_register_form";i:3;s:69:"Tests\Feature\Auth\RegisterLoginTest::test_user_can_view_a_login_form";i:3;s:79:"Tests\Feature\CourseModuleTest::admin_or_teacher_can_view_courses_by_teacher_id";i:4;s:79:"Tests\Feature\CourseModuleTest::admin_or_teacher_can_view_courses_by_section_id";i:4;s:85:"Tests\Feature\CourseModuleTest::can_view_students_from_grade_table_by_course_and_exam";i:4;s:52:"Tests\Feature\CourseModuleTest::admin_can_add_course";i:4;s:67:"Tests\Feature\CourseModuleTest::admin_can_save_course_configuration";i:4;s:40:"Tests\Feature\ExampleTest::testBasicTest";i:3;s:75:"Tests\Feature\GradeModuleTest::can_view_classes_sections_for_students_grade";i:4;s:74:"Tests\Feature\GradeModuleTest::can_view_all_students_marks_under_a_section";i:4;s:58:"Tests\Feature\GradeModuleTest::can_view_grade_of_a_student";i:4;s:90:"Tests\Feature\GradeModuleTest::teacher_can_view_students_grades_of_a_section_of_his_course";i:4;s:92:"Tests\Feature\GradeModuleTest::teacher_can_submit_students_grades_of_a_section_of_his_course";i:4;s:44:"Tests\Feature\GradeSystemModuleTest::view_is";i:4;s:76:"Tests\Feature\GradeSystemModuleTest::admin_can_view_grade_system_create_form";i:4;s:66:"Tests\Feature\GradeSystemModuleTest::admin_can_create_grade_system";i:4;s:66:"Tests\Feature\GradeSystemModuleTest::admin_can_delete_grade_system";i:4;s:73:"Tests\Feature\LibrarianTest::can_see_dashboard_as_a_home_page_after_login";i:4;s:53:"Tests\Feature\LibrarianTest::can_see_list_of_teachers";i:4;s:55:"Tests\Feature\LibrarianTest::can_see_list_of_librarians";i:4;s:46:"Tests\Feature\LibrarianTest::can_see_all_books";i:4;s:49:"Tests\Feature\LibrarianTest::can_see_book_details";i:4;s:50:"Tests\Feature\LibrarianTest::can_edit_book_details";i:4;s:49:"Tests\Feature\LibrarianTest::can_see_issued_books";i:4;s:61:"Tests\Feature\Library\BookModuleTest::it_shows_the_books_list";i:3;s:67:"Tests\Feature\Library\BookModuleTest::it_displays_the_books_details";i:3;s:59:"Tests\Feature\Library\BookModuleTest::it_creates_a_new_book";i:4;s:74:"Tests\Feature\Library\BookModuleTest::the_book_attributes_must_be_required";i:3;s:66:"Tests\Feature\Library\BookModuleTest::the_book_code_must_be_unique";i:3;s:65:"Tests\Feature\Library\BookModuleTest::it_loads_the_edit_book_page";i:3;s:58:"Tests\Feature\Library\BookModuleTest::a_book_can_be_edited";i:3;s:69:"Tests\Feature\Library\IssuedBookModuleTest::librarian_can_issue_books";i:4;s:45:"Tests\Feature\Manage\ClassModuleTest::view_is";i:4;s:61:"Tests\Feature\Manage\ClassModuleTest::it_shows_the_class_list";i:4;s:60:"Tests\Feature\Manage\ClassModuleTest::admin_can_create_class";i:4;s:46:"Tests\Feature\Manage\CourseModuleTest::view_is";i:4;s:63:"Tests\Feature\Manage\CourseModuleTest::it_shows_the_course_list";i:4;s:62:"Tests\Feature\Manage\CourseModuleTest::admin_can_create_course";i:4;s:59:"Tests\Feature\Manage\ExamModuleTest::it_shows_the_exam_list";i:4;s:70:"Tests\Feature\Manage\ExamModuleTest::can_view_active_exams_of_a_school";i:4;s:70:"Tests\Feature\Manage\ExamModuleTest::admin_can_view_exam_creation_form";i:4;s:58:"Tests\Feature\Manage\ExamModuleTest::admin_can_create_exam";i:4;s:60:"Tests\Feature\Manage\ExamModuleTest::admin_can_activate_exam";i:4;s:62:"Tests\Feature\Manage\ExamModuleTest::admin_can_deactivate_exam";i:4;s:60:"Tests\Feature\Manage\SchoolModuleTest::it_shows_schools_list";i:4;s:62:"Tests\Feature\Manage\SchoolModuleTest::it_creates_a_new_school";i:4;s:59:"Tests\Feature\Manage\SchoolModuleTest::it_shows_edit_school";i:4;s:64:"Tests\Feature\Manage\SchoolModuleTest::a_school_can_being_edited";i:4;s:47:"Tests\Feature\Manage\SectionModuleTest::view_is";i:4;s:65:"Tests\Feature\Manage\SectionModuleTest::it_shows_the_section_list";i:4;s:64:"Tests\Feature\Manage\SectionModuleTest::admin_can_create_section";i:4;s:66:"Tests\Feature\Manage\SettingModuleTest::it_shows_the_teachers_list";i:4;s:69:"Tests\Feature\Manage\SettingModuleTest::it_shows_the_departments_list";i:4;s:65:"Tests\Feature\Manage\SettingModuleTest::it_shows_the_classes_list";i:4;s:66:"Tests\Feature\Manage\SettingModuleTest::it_shows_the_sections_list";i:4;s:71:"Tests\Feature\Manage\SettingModuleTest::admin_can_create_new_department";i:4;s:62:"Tests\Feature\PaymentModuleTest::student_can_view_payment_page";i:4;s:63:"Tests\Feature\PaymentModuleTest::student_can_view_receipts_page";i:4;s:59:"Tests\Feature\UserModuleTest::can_view_students_of_a_school";i:4;s:59:"Tests\Feature\UserModuleTest::can_view_teachers_of_a_school";i:4;s:62:"Tests\Feature\UserModuleTest::can_view_accountants_of_a_school";i:4;s:61:"Tests\Feature\UserModuleTest::can_view_librarians_of_a_school";i:4;s:60:"Tests\Feature\UserModuleTest::can_view_students_of_a_section";i:4;s:68:"Tests\Feature\UserModuleTest::can_view_promote_section_students_form";i:4;s:58:"Tests\Feature\UserModuleTest::can_promote_section_students";i:4;s:68:"Tests\Feature\UsersExcelExportTest::admin_can_download_students_list";i:4;s:68:"Tests\Feature\UsersExcelExportTest::admin_can_download_teachers_list";i:4;s:82:"Tests\Feature\UsersExcelExportTest::non_admin_users_can_not_see_export_users_forms";i:4;s:69:"Tests\Feature\CertificateTest::admin_can_view_upload_certificate_page";i:4;}s:5:"times";a:153:{s:43:"Tests\Feature\AccountingModuleTest::view_is";d:0.365;s:64:"Tests\Feature\AccountingModuleTest::accountant_can_create_sector";d:0.12;s:72:"Tests\Feature\AccountingModuleTest::accountant_can_view_edit_sector_form";d:0.121;s:62:"Tests\Feature\AccountingModuleTest::accountant_can_edit_sector";d:0.121;s:67:"Tests\Feature\AccountingModuleTest::accountant_can_view_income_list";d:0.12;s:61:"Tests\Feature\AccountingModuleTest::accountant_can_add_income";d:0.113;s:68:"Tests\Feature\AccountingModuleTest::accountant_can_view_expense_list";d:0.123;s:62:"Tests\Feature\AccountingModuleTest::accountant_can_add_expense";d:0.115;s:74:"Tests\Feature\AttendanceModuleTest::can_view_student_attendance_by_section";d:0.124;s:64:"Tests\Feature\AttendanceModuleTest::can_view_students_by_section";d:0.116;s:92:"Tests\Feature\AttendanceModuleTest::students_are_added_to_a_section_before_taking_attendance";d:0.121;s:73:"Tests\Feature\AttendanceModuleTest::view_student_attendance_by_student_id";d:0.116;s:92:"Tests\Feature\AttendanceModuleTest::admin_or_teacher_can_view_adjust_student_attendance_form";d:0.117;s:82:"Tests\Feature\AttendanceModuleTest::admin_or_teacher_can_adjust_student_attendance";d:0.117;s:81:"Tests\Feature\AttendanceModuleTest::admin_or_teacher_can_take_students_attendance";d:0.132;s:83:"Tests\Feature\AttendanceModuleTest::admin_or_teacher_can_update_students_attendance";d:0.118;s:91:"Tests\Feature\Auth\RegisterLoginTest::test_unauthenticated_user_cannot_view_a_register_form";d:0.044;s:62:"Tests\Feature\Auth\RegisterLoginTest::test_user_can_be_created";d:0.119;s:69:"Tests\Feature\Auth\RegisterLoginTest::test_user_can_view_a_login_form";d:0.044;s:58:"Tests\Feature\Auth\RegisterLoginTest::test_user_can_log_in";d:0.227;s:79:"Tests\Feature\CourseModuleTest::admin_or_teacher_can_view_courses_by_teacher_id";d:0.116;s:79:"Tests\Feature\CourseModuleTest::admin_or_teacher_can_view_courses_by_section_id";d:0.113;s:85:"Tests\Feature\CourseModuleTest::can_view_students_from_grade_table_by_course_and_exam";d:0.119;s:52:"Tests\Feature\CourseModuleTest::admin_can_add_course";d:0.122;s:67:"Tests\Feature\CourseModuleTest::admin_can_save_course_configuration";d:0.115;s:40:"Tests\Feature\ExampleTest::testBasicTest";d:0.015;s:75:"Tests\Feature\GradeModuleTest::can_view_classes_sections_for_students_grade";d:0.115;s:74:"Tests\Feature\GradeModuleTest::can_view_all_students_marks_under_a_section";d:0.112;s:58:"Tests\Feature\GradeModuleTest::can_view_grade_of_a_student";d:0.112;s:90:"Tests\Feature\GradeModuleTest::teacher_can_view_students_grades_of_a_section_of_his_course";d:0.125;s:92:"Tests\Feature\GradeModuleTest::teacher_can_submit_students_grades_of_a_section_of_his_course";d:0.119;s:112:"Tests\Feature\GradeModuleTest::teacher_can_get_total_calculated_marks_of_each_student_of_a_section_of_his_course";d:0.165;s:81:"Tests\Feature\GradeModuleTest::teacher_can_save_grade_for_a_section_of_his_course";d:0.12;s:44:"Tests\Feature\GradeSystemModuleTest::view_is";d:0.111;s:76:"Tests\Feature\GradeSystemModuleTest::admin_can_view_grade_system_create_form";d:0.12;s:66:"Tests\Feature\GradeSystemModuleTest::admin_can_create_grade_system";d:0.113;s:66:"Tests\Feature\GradeSystemModuleTest::admin_can_delete_grade_system";d:0.116;s:73:"Tests\Feature\LibrarianTest::can_see_dashboard_as_a_home_page_after_login";d:0.114;s:53:"Tests\Feature\LibrarianTest::can_see_list_of_students";d:0.119;s:70:"Tests\Feature\LibrarianTest::can_see_some_personal_student_information";d:0.115;s:53:"Tests\Feature\LibrarianTest::can_see_list_of_teachers";d:0.124;s:70:"Tests\Feature\LibrarianTest::can_see_some_personal_teacher_information";d:0.114;s:55:"Tests\Feature\LibrarianTest::can_see_list_of_librarians";d:0.117;s:72:"Tests\Feature\LibrarianTest::can_see_some_personal_librarian_information";d:0.115;s:46:"Tests\Feature\LibrarianTest::can_see_all_books";d:0.121;s:49:"Tests\Feature\LibrarianTest::can_see_book_details";d:0.125;s:50:"Tests\Feature\LibrarianTest::can_edit_book_details";d:0.117;s:49:"Tests\Feature\LibrarianTest::can_see_issued_books";d:0.118;s:47:"Tests\Feature\LibrarianTest::can_add_a_new_book";d:0.121;s:61:"Tests\Feature\Library\BookModuleTest::it_shows_the_books_list";d:0.12;s:67:"Tests\Feature\Library\BookModuleTest::it_displays_the_books_details";d:0.127;s:64:"Tests\Feature\Library\BookModuleTest::it_loads_the_new_book_page";d:0.116;s:59:"Tests\Feature\Library\BookModuleTest::it_creates_a_new_book";d:0.114;s:74:"Tests\Feature\Library\BookModuleTest::the_book_attributes_must_be_required";d:0.115;s:66:"Tests\Feature\Library\BookModuleTest::the_book_code_must_be_unique";d:0.111;s:65:"Tests\Feature\Library\BookModuleTest::it_loads_the_edit_book_page";d:0.126;s:58:"Tests\Feature\Library\BookModuleTest::a_book_can_be_edited";d:0.115;s:69:"Tests\Feature\Library\IssuedBookModuleTest::librarian_can_issue_books";d:0.113;s:45:"Tests\Feature\Manage\ClassModuleTest::view_is";d:0.113;s:61:"Tests\Feature\Manage\ClassModuleTest::it_shows_the_class_list";d:0.122;s:60:"Tests\Feature\Manage\ClassModuleTest::admin_can_create_class";d:0.131;s:46:"Tests\Feature\Manage\CourseModuleTest::view_is";d:0.131;s:63:"Tests\Feature\Manage\CourseModuleTest::it_shows_the_course_list";d:0.117;s:62:"Tests\Feature\Manage\CourseModuleTest::admin_can_create_course";d:0.122;s:59:"Tests\Feature\Manage\ExamModuleTest::it_shows_the_exam_list";d:0.115;s:70:"Tests\Feature\Manage\ExamModuleTest::can_view_active_exams_of_a_school";d:0.115;s:70:"Tests\Feature\Manage\ExamModuleTest::admin_can_view_exam_creation_form";d:0.124;s:58:"Tests\Feature\Manage\ExamModuleTest::admin_can_create_exam";d:0.121;s:60:"Tests\Feature\Manage\ExamModuleTest::admin_can_activate_exam";d:0.112;s:62:"Tests\Feature\Manage\ExamModuleTest::admin_can_deactivate_exam";d:0.112;s:60:"Tests\Feature\Manage\SchoolModuleTest::it_shows_schools_list";d:0.112;s:62:"Tests\Feature\Manage\SchoolModuleTest::it_creates_a_new_school";d:0.121;s:59:"Tests\Feature\Manage\SchoolModuleTest::it_shows_edit_school";d:0.112;s:64:"Tests\Feature\Manage\SchoolModuleTest::a_school_can_being_edited";d:0.113;s:47:"Tests\Feature\Manage\SectionModuleTest::view_is";d:0.117;s:65:"Tests\Feature\Manage\SectionModuleTest::it_shows_the_section_list";d:0.116;s:64:"Tests\Feature\Manage\SectionModuleTest::admin_can_create_section";d:0.132;s:66:"Tests\Feature\Manage\SettingModuleTest::it_shows_the_teachers_list";d:0.119;s:69:"Tests\Feature\Manage\SettingModuleTest::it_shows_the_departments_list";d:0.123;s:65:"Tests\Feature\Manage\SettingModuleTest::it_shows_the_classes_list";d:0.117;s:66:"Tests\Feature\Manage\SettingModuleTest::it_shows_the_sections_list";d:0.119;s:71:"Tests\Feature\Manage\SettingModuleTest::admin_can_create_new_department";d:0.124;s:62:"Tests\Feature\PaymentModuleTest::student_can_view_payment_page";d:0.123;s:63:"Tests\Feature\PaymentModuleTest::student_can_view_receipts_page";d:0.141;s:59:"Tests\Feature\UserModuleTest::can_view_students_of_a_school";d:0.332;s:59:"Tests\Feature\UserModuleTest::can_view_teachers_of_a_school";d:0.424;s:62:"Tests\Feature\UserModuleTest::can_view_accountants_of_a_school";d:0.188;s:61:"Tests\Feature\UserModuleTest::can_view_librarians_of_a_school";d:0.214;s:60:"Tests\Feature\UserModuleTest::can_view_students_of_a_section";d:0.114;s:68:"Tests\Feature\UserModuleTest::can_view_promote_section_students_form";d:0.117;s:58:"Tests\Feature\UserModuleTest::can_promote_section_students";d:0.127;s:85:"Tests\Feature\UserModuleTest::admin_redirected_to_register_with_register_role_student";d:0.12;s:68:"Tests\Feature\UsersExcelExportTest::admin_can_download_students_list";d:0.12;s:68:"Tests\Feature\UsersExcelExportTest::admin_can_download_teachers_list";d:0.109;s:82:"Tests\Feature\UsersExcelExportTest::non_admin_users_can_not_see_export_users_forms";d:0.112;s:60:"Test\Unit\App\AccountTest::the_accounts_are_filter_by_school";d:0.111;s:73:"Tests\Unit\App\AttendanceTest::an_attendance_is_an_instance_of_Attendance";d:0.11;s:63:"Tests\Unit\App\AttendanceTest::an_attendance_belongs_to_student";d:0.116;s:63:"Tests\Unit\App\AttendanceTest::an_attendance_belongs_to_section";d:0.113;s:60:"Tests\Unit\App\AttendanceTest::an_attendance_belongs_to_exam";d:0.109;s:55:"Tests\Unit\App\BookTest::a_class_is_an_instance_of_Book";d:0.106;s:49:"Tests\Unit\App\BookTest::a_book_belongs_to_school";d:0.109;s:48:"Tests\Unit\App\BookTest::a_book_belongs_to_class";d:0.107;s:47:"Tests\Unit\App\BookTest::a_book_belongs_to_user";d:0.106;s:55:"Tests\Unit\App\BookTest::the_books_are_filter_by_school";d:0.123;s:66:"Test\Unit\App\DepartmentTest::the_departments_are_filter_by_school";d:0.047;s:56:"Test\Unit\App\EventTest::the_events_are_filter_by_school";d:0.11;s:54:"Test\Unit\App\ExamTest::the_exams_are_filter_by_school";d:0.113;s:52:"Test\Unit\App\FeeTest::the_fees_are_filter_by_school";d:0.108;s:54:"Test\Unit\App\FormTest::the_forms_are_filter_by_school";d:0.111;s:57:"Tests\Unit\App\GradeTest::a_grade_is_an_instance_of_Grade";d:0.122;s:51:"Tests\Unit\App\GradeTest::a_grade_belongs_to_course";d:0.115;s:52:"Tests\Unit\App\GradeTest::a_grade_belongs_to_student";d:0.112;s:52:"Tests\Unit\App\GradeTest::a_grade_belongs_to_teacher";d:0.113;s:49:"Tests\Unit\App\GradeTest::a_grade_belongs_to_exam";d:0.114;s:75:"Tests\Unit\App\GradesystemTest::a_gradesystem_is_an_instance_of_Gradesystem";d:0.105;s:63:"Tests\Unit\App\GradesystemTest::a_gradesystem_belongs_to_school";d:0.119;s:69:"Tests\Unit\App\GradesystemTest::the_gradesystems_are_filter_by_school";d:0.111;s:73:"Tests\Unit\App\IssuedBookTest::an_Issuedbook_is_an_instance_of_Issuedbook";d:0.111;s:60:"Tests\Unit\App\IssuedBookTest::an_issuedbook_belongs_to_book";d:0.109;s:68:"Tests\Unit\App\IssuedBookTest::the_issued_books_are_filter_by_school";d:0.116;s:60:"Test\Unit\App\MessageTest::the_messages_are_filter_by_school";d:0.112;s:61:"Tests\Unit\App\MyclassTest::a_class_is_an_instance_of_Myclass";d:0.046;s:53:"Tests\Unit\App\MyclassTest::a_class_belongs_to_school";d:0.057;s:48:"Tests\Unit\App\MyclassTest::a_class_has_sections";d:0.06;s:45:"Tests\Unit\App\MyclassTest::a_class_has_books";d:0.05;s:57:"Tests\Unit\App\MyclassTest::my_class_are_filter_by_school";d:0.051;s:58:"Test\Unit\App\NoticeTest::the_notices_are_filter_by_school";d:0.113;s:60:"Test\Unit\App\RoutineTest::the_routines_are_filter_by_school";d:0.112;s:60:"Tests\Unit\App\SchoolTest::a_school_is_an_instance_of_School";d:0.058;s:45:"Tests\Unit\App\SchoolTest::a_school_has_users";d:0.045;s:51:"Tests\Unit\App\SchoolTest::a_school_has_departments";d:0.045;s:63:"Tests\Unit\App\SectionTest::a_section_is_an_instance_of_Section";d:0.048;s:54:"Tests\Unit\App\SectionTest::a_section_belongs_to_class";d:0.049;s:63:"Test\Unit\App\SyllabusTest::the_syllabuses_are_filter_by_school";d:0.113;s:56:"Tests\Unit\App\UsersTest::an_user_is_an_instance_of_User";d:0.109;s:52:"Tests\Unit\App\UsersTest::an_user_belongs_to_section";d:0.121;s:51:"Tests\Unit\App\UsersTest::an_user_belongs_to_school";d:0.112;s:55:"Tests\Unit\App\UsersTest::an_user_belongs_to_department";d:0.107;s:42:"Tests\Unit\App\UsersTest::an_user_has_role";d:0.116;s:56:"Tests\Unit\App\UsersTest::the_users_are_filter_by_school";d:0.119;s:37:"Tests\Unit\ExampleTest::testBasicTest";d:0.014;s:84:"Tests\Unit\IssuedBookTest::test_insert_each_issued_book_in_an_array with data set #0";d:0.043;s:59:"Tests\Unit\MarkCalculationTest::getMarkSum with data set #0";d:0.051;s:59:"Tests\Unit\MarkCalculationTest::getMarkSum with data set #1";d:0.04;s:59:"Tests\Unit\MarkCalculationTest::getMarkSum with data set #2";d:0.049;s:66:"Tests\Unit\MarkCalculationTest::getFieldFinalMark with data set #0";d:0.046;s:66:"Tests\Unit\MarkCalculationTest::getFieldFinalMark with data set #1";d:0.042;s:66:"Tests\Unit\MarkCalculationTest::getFieldFinalMark with data set #2";d:0.039;s:72:"Tests\Unit\MarkCalculationTest::getTotalCalculatedMarks with data set #0";d:0.041;s:72:"Tests\Unit\MarkCalculationTest::getTotalCalculatedMarks with data set #1";d:0.053;s:69:"Tests\Feature\CertificateTest::admin_can_view_upload_certificate_page";d:0.164;s:60:"Tests\Feature\CertificateTest::student_can_view_certificates";d:0.153;}}} \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100755 index d79a65b7d..000000000 --- a/.travis.yml +++ /dev/null @@ -1,9 +0,0 @@ -language: php -php: -- 7.4 -- 7.3 -before_script: -- cp .env.example .env -- composer install -- php artisan key:generate -script: vendor/bin/phpunit -c phpunit.xml diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100755 index 612eaac46..000000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "Listen for XDebug", - "type": "php", - "request": "launch", - "port": 9000 - }, - { - "name": "Launch currently open script", - "type": "php", - "request": "launch", - "program": "${file}", - "cwd": "${fileDirname}", - "port": 9000 - } - ] -} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100755 index 7a73a41bf..000000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,2 +0,0 @@ -{ -} \ No newline at end of file diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md deleted file mode 100755 index 4833a3d25..000000000 --- a/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,76 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as -contributors and maintainers pledge to making participation in our project and -our community a harassment-free experience for everyone, regardless of age, body -size, disability, ethnicity, sex characteristics, gender identity and expression, -level of experience, education, socio-economic status, nationality, personal -appearance, race, religion, or sexual identity and orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment -include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or - advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic - address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable -behavior and are expected to take appropriate and fair corrective action in -response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct, or to ban temporarily or -permanently any contributor for other behaviors that they deem inappropriate, -threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. Examples of -representing a project or community include using an official project e-mail -address, posting via an official social media account, or acting as an appointed -representative at an online or offline event. Representation of a project may be -further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team at kishorpasha870@yahoo.com. All -complaints will be reviewed and investigated and will result in a response that -is deemed necessary and appropriate to the circumstances. The project team is -obligated to maintain confidentiality with regard to the reporter of an incident. -Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good -faith may face temporary or permanent repercussions as determined by other -members of the project's leadership. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, -available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html - -[homepage]: https://www.contributor-covenant.org - -For answers to common questions about this code of conduct, see -https://www.contributor-covenant.org/faq diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100755 index 239cfef71..000000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,10 +0,0 @@ -In order to contribute please maintain following rules: -- For any new changes use `dev_for_new_features` this branch. -- Make a Pull Request to `dev_for_new_features` this branch not to `master` so that master branch can only have stable changes. -- Before making any pull request discuss about the change in a New Issue. -- Describe the current behavior and explain which behavior you expected to see and why -- Explain why this changes will be useful to most Unifiedtransform users -- If you have changes on different features seperate them in different commits and pull requests -- Make one feature change at a time -- Share screenshots of your changes. It will make review process faster -- Share the reason behind your changes diff --git a/FUNDING.yml b/FUNDING.yml deleted file mode 100755 index 70aebf5da..000000000 --- a/FUNDING.yml +++ /dev/null @@ -1,12 +0,0 @@ -# These are supported funding model platforms - -# github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] -patreon: hasib007 -# open_collective: # Replace with a single Open Collective username -# ko_fi: # Replace with a single Ko-fi username -# tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel -# community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry -# liberapay: # Replace with a single Liberapay username -# issuehunt: # Replace with a single IssueHunt username -# otechie: # Replace with a single Otechie username -# custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/LICENSE b/LICENSE deleted file mode 100755 index f288702d2..000000000 --- a/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/SECURITY.md b/SECURITY.md deleted file mode 100644 index 37fc0e996..000000000 --- a/SECURITY.md +++ /dev/null @@ -1,14 +0,0 @@ -# Security Policy - -## Supported Versions - -It is recommended to create issue for any support needed. It is also recommended to keep up to date with the latest version. - -## Reporting a Vulnerability - -You can report any vulnerability to following email address: `robinmilford870@gmail.com`. I will try to notify or fix the vulnerabilty but immediate support is not guaranteed. - - - If it is critical and break any functionality of the application, I will create an issue. - You are welcome to provide any fix for the issue through Pull Request. - - If vulnerability is low and updating the package will fix it but break any functionality of the application, - the report may be declined to maintain stability. diff --git a/_config.yml b/_config.yml deleted file mode 100755 index c4192631f..000000000 --- a/_config.yml +++ /dev/null @@ -1 +0,0 @@ -theme: jekyll-theme-cayman \ No newline at end of file diff --git a/app/Account.php b/app/Account.php deleted file mode 100755 index f4bb9d7f9..000000000 --- a/app/Account.php +++ /dev/null @@ -1,18 +0,0 @@ -belongsTo('App\School', 'school_id'); - } - - public function user() - { - return $this->belongsTo('App\User', 'user_id'); - } -} diff --git a/app/AccountSector.php b/app/AccountSector.php deleted file mode 100755 index ba7697a25..000000000 --- a/app/AccountSector.php +++ /dev/null @@ -1,19 +0,0 @@ - belongsTo( 'App\School', 'school_id' ); - } - - public function user() - { - return $this -> belongsTo( 'App\User', 'user_id' ); - } -} diff --git a/app/Attendance.php b/app/Attendance.php deleted file mode 100755 index ebace2a3d..000000000 --- a/app/Attendance.php +++ /dev/null @@ -1,32 +0,0 @@ -belongsTo('App\User'); - } - - /** - * Get the section record associated with the attendance. - */ - public function section() - { - return $this->belongsTo('App\Section'); - } - - /** - * Get the exam record associated with the attendance. - */ - public function exam() - { - return $this->belongsTo('App\Exam'); - } -} diff --git a/app/Book.php b/app/Book.php deleted file mode 100755 index f5ca2fb58..000000000 --- a/app/Book.php +++ /dev/null @@ -1,29 +0,0 @@ -belongsTo('App\School'); - } - - public function class() { - return $this->belongsTo('App\Myclass'); - } - - public function user() { - return $this->belongsTo('App\User'); - } - - public function issuedbook() { - return $this->hasMany('App\Issuedbook', 'book_id'); - } -} diff --git a/app/Certificate.php b/app/Certificate.php deleted file mode 100755 index 744905bd5..000000000 --- a/app/Certificate.php +++ /dev/null @@ -1,23 +0,0 @@ -belongsTo('App\School'); - } - /** - * Get the student record associated with the user. - */ - public function student() - { - return $this->belongsTo('App\User','given_to', 'student_code'); - } -} diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php deleted file mode 100755 index e82a1b389..000000000 --- a/app/Console/Kernel.php +++ /dev/null @@ -1,42 +0,0 @@ -command('cache:gc') - // ->everyMinute(); - } - - /** - * Register the commands for the application. - * - * @return void - */ - protected function commands() - { - $this->load(__DIR__.'/Commands'); - - require base_path('routes/console.php'); - } -} diff --git a/app/Course.php b/app/Course.php deleted file mode 100755 index ae7654377..000000000 --- a/app/Course.php +++ /dev/null @@ -1,37 +0,0 @@ -belongsTo('App\Myclass'); - } - /** - * Get the section record associated with the user. - */ - public function section() - { - return $this->belongsTo('App\Section'); - } - /** - * Get the teacher record associated with the user. - */ - public function teacher() - { - return $this->belongsTo('App\User'); - } - /** - * Get the exam record associated with the course. - */ - public function exam() - { - return $this->belongsTo('App\Exam'); - } -} diff --git a/app/Department.php b/app/Department.php deleted file mode 100755 index c43f7c1a6..000000000 --- a/app/Department.php +++ /dev/null @@ -1,12 +0,0 @@ -hasMany('App\User','department_id'); - } -} diff --git a/app/Event.php b/app/Event.php deleted file mode 100755 index bc6babfd8..000000000 --- a/app/Event.php +++ /dev/null @@ -1,16 +0,0 @@ -belongsTo('App\School'); - } -} diff --git a/app/Events/StudentInfoUpdateRequested.php b/app/Events/StudentInfoUpdateRequested.php deleted file mode 100755 index c5e436bcb..000000000 --- a/app/Events/StudentInfoUpdateRequested.php +++ /dev/null @@ -1,30 +0,0 @@ -request = $request; - $this->student_id = $student_id; - } -} diff --git a/app/Events/UserRegistered.php b/app/Events/UserRegistered.php deleted file mode 100755 index 224ef0991..000000000 --- a/app/Events/UserRegistered.php +++ /dev/null @@ -1,31 +0,0 @@ -user = $user; - $this->password = $password; - } -} diff --git a/app/Exam.php b/app/Exam.php deleted file mode 100755 index b69d819d9..000000000 --- a/app/Exam.php +++ /dev/null @@ -1,10 +0,0 @@ -hasMany('App\Myclass'); - } - - public function exam(){ - return $this->belongsTo('App\Exam'); - } -} diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php deleted file mode 100755 index 93e41737e..000000000 --- a/app/Exceptions/Handler.php +++ /dev/null @@ -1,53 +0,0 @@ -year = $year; - } - - public function query() - { - return User::query()->select('users.name','users.email','users.phone_number','users.gender','users.student_code','users.blood_group','sections.section_number','classes.class_number','users.address') - ->where('users.school_id', auth()->user()->school_id) - ->where('users.role','student') - ->whereYear('users.created_at', $this->year) - ->join('sections','sections.id', '=', 'users.section_id') - ->join('classes','sections.class_id', '=', 'classes.id') - ->orderBy('users.name'); - } - - public function headings() : array - { - $myLocale = App::getLocale(); - if ($myLocale == "es-MX") { - return $this->headingsES; //spanish - } else { - return $this->headings; //english - } - } -} diff --git a/app/Exports/TeachersExport.php b/app/Exports/TeachersExport.php deleted file mode 100755 index 91b1072c8..000000000 --- a/app/Exports/TeachersExport.php +++ /dev/null @@ -1,54 +0,0 @@ -year = $year; - } - - public function headings() : array - { - $myLocale = App::getLocale(); - if ($myLocale == "es-MX") { - return $this->headingsES; //spanish - } else { - return $this->headings; //english - } - } - - public function query(){ - return User::query() - ->select('name','email','gender','student_code','blood_group','phone_number','address') - ->bySchool(auth()->user()->school_id) - ->where('role','teacher') - ->orderBy('name'); - } -} diff --git a/app/Faq.php b/app/Faq.php deleted file mode 100755 index 230af2545..000000000 --- a/app/Faq.php +++ /dev/null @@ -1,10 +0,0 @@ -belongsTo('App\User'); - } - - /** - * Get the teacher record associated with the user. - */ - public function teacher() - { - return $this->belongsTo('App\User'); - } -} diff --git a/app/Form.php b/app/Form.php deleted file mode 100755 index 634688f05..000000000 --- a/app/Form.php +++ /dev/null @@ -1,16 +0,0 @@ -belongsTo('App\School'); - } -} diff --git a/app/Grade.php b/app/Grade.php deleted file mode 100755 index 0dd9c9d06..000000000 --- a/app/Grade.php +++ /dev/null @@ -1,38 +0,0 @@ -belongsTo('App\Course'); - } - /** - * Get the student record associated with the user. - */ - public function student() - { - return $this->belongsTo('App\User'); - } - /** - * Get the teacher record associated with the user. - */ - public function teacher() - { - return $this->belongsTo('App\User'); - } - - /** - * Get the exam name record associated with the exam. - */ - public function exam() - { - return $this->belongsTo('App\Exam'); - } -} diff --git a/app/Gradesystem.php b/app/Gradesystem.php deleted file mode 100755 index 1da62187c..000000000 --- a/app/Gradesystem.php +++ /dev/null @@ -1,15 +0,0 @@ -belongsTo('App\School'); - } -} diff --git a/app/Homework.php b/app/Homework.php deleted file mode 100755 index a0202d033..000000000 --- a/app/Homework.php +++ /dev/null @@ -1,17 +0,0 @@ -belongsTo('App\User'); - } -} diff --git a/app/Http/Controllers/AccountController.php b/app/Http/Controllers/AccountController.php deleted file mode 100755 index 342604ee8..000000000 --- a/app/Http/Controllers/AccountController.php +++ /dev/null @@ -1,200 +0,0 @@ -accountService = $accountService; - } - - public function sectors() - { - $sectors = $this->accountService->getSectorsBySchoolId(); - $this->accountService->account_type = 'income'; - $incomes = $this->accountService->getAccountsBySchoolId(); - $this->accountService->account_type = 'expense'; - $expenses = $this->accountService->getAccountsBySchoolId(); - $sector = []; - - return view('accounts.sector', compact('sectors', 'sector', 'incomes', 'expenses')); - } - - /** - * Show the form for creating a new resource. - * - * @return \Illuminate\Http\RedirectResponse - */ - public function storeSector(StoreSectorRequest $request) - { - $this->accountService->storeSector($request->validated()); - - return back()->with('status', 'Account Sector Created Successfully.'); - } - - /** - * Store a newly created resource in storage. - * - * @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\View\View - */ - public function editSector(AccountSector $sector) - { - return view('accounts.edit_sector', compact('sector')); - } - - /** - * Display the specified resource. - * - * @return \Illuminate\Http\RedirectResponse - */ - public function updateSector(AccountSector $sector, StoreSectorRequest $request) - { - $this->accountService->updateSector($sector, $request->validated()); - - return back()->with('status', 'Account Sector Updated Successfully.'); - } - - /** - * Delete the specified resource. - * - * @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector - * - * @throws \Exception - */ - public function deleteSector(AccountSector $sector) - { - $sector->delete(); - - return redirect('/accounts/sectors')->with('status', 'Account Sector Deleted Successfully.'); - } - - public function income() - { - $sectors = AccountSector ::bySchool(\Auth ::user()->school_id) - ->where('type', 'income') - ->get(); - //$sections = $this->$accountService->getSectionsIds(); - //$students = $this->$accountService->getStudentsBySectionIds(); - return view('accounts.income', [ - 'sectors' => $sectors, - //'sections'=>$sections, - //'students'=>$students, - ]); - } - - public function storeIncome(StoreAccountRequest $request) - { - $this->accountService->request = $request; - $this->accountService->account_type = 'income'; - $this->accountService->storeAccount(); - - return back()->with('status', 'Income saved Successfully.'); - } - - public function listIncome() - { - $incomes = []; - - return view('accounts.income-list', ['incomes' => $incomes]); - } - - public function postIncome(Request $request) - { - $this->accountService->request = $request; - $this->accountService->account_type = 'income'; - $incomes = $this->accountService->getAccountsByYear(); - - return view('accounts.income-list', compact('incomes')); - } - - public function editIncome($id) - { - $income = Account ::find($id); - - return view('accounts.income-edit', compact('income')); - } - - public function updateIncome(UpdateAccountRequest $request) - { - $this->accountService->request = $request; - $this->accountService->updateAccount(); - - return back()->with('status', 'Income Updated Successfully.'); - } - - public function deleteIncome($id) - { - $income = Account ::find($id); - $income->delete(); - - return back()->with('status', 'Income Deleted Successfully.'); - } - - public function expense() - { - $sectors = AccountSector ::bySchool(\Auth ::user()->school_id) - ->where('type', 'expense') - ->get(); - - return view('accounts.expense', ['sectors' => $sectors]); - } - - public function storeExpense(StoreAccountRequest $request) - { - $this->accountService->request = $request; - $this->accountService->account_type = 'expense'; - $this->accountService->storeAccount(); - - return back()->with('status', 'expense saved Successfully.'); - } - - public function listExpense() - { - $expenses = []; - - return view('accounts.expense-list', ['expenses' => $expenses]); - } - - public function postExpense(Request $request) - { - $this->accountService->request = $request; - $this->accountService->account_type = 'expense'; - $expenses = $this->accountService->getAccountsByYear(); - - return view('accounts.expense-list', compact('expenses')); - } - - public function editExpense($id) - { - $expense = Account ::find($id); - - return view('accounts.expense-edit', ['expense' => $expense]); - } - - public function updateExpense(UpdateAccountRequest $request) - { - $this->accountService->request = $request; - $this->accountService->updateAccount(); - - return back()->with('status', 'expense Updated Successfully.'); - } - - public function deleteExpense($id) - { - $expense = Account ::find($id); - $expense->delete(); - - return back()->with('status', 'expense Deleted Successfully.'); - } -} diff --git a/app/Http/Controllers/AttendanceController.php b/app/Http/Controllers/AttendanceController.php deleted file mode 100755 index 78a7af28c..000000000 --- a/app/Http/Controllers/AttendanceController.php +++ /dev/null @@ -1,147 +0,0 @@ -attendanceService = $attendanceService; - } - /** - * Display a listing of the resource. - * - * @return \Illuminate\Http\Response - */ - public function index($section_id, $student_id, $exam_id) - { - if($section_id > 0 && \Auth::user()->role != 'student'){ - // View attendances of students of a section - $students = $this->attendanceService->getStudentsBySection($section_id); - $attendances = $this->attendanceService->getTodaysAttendanceBySectionId($section_id); - $attCount = $this->attendanceService->getAllAttendanceBySecAndExam($section_id,$exam_id); - - return view('attendance.attendance', [ - 'students' => $students, - 'attendances' => $attendances, - 'attCount' => $attCount, - 'section_id'=>$section_id, - 'exam_id'=>$exam_id - ]); - } else { - // View attendance of a single student by student id - if(\Auth::user()->role == 'student'){ - // From student view - $exam = \App\ExamForClass::where('class_id',\Auth::user()->section->class->id) - ->where('active', 1) - ->first(); - } else { - // From other users view - $student = $this->attendanceService->getStudent($student_id); - $exam = \App\ExamForClass::where('class_id',$student->section->class->id) - ->where('active', 1) - ->first(); - } - if($exam) - $exId = $exam->exam_id; - else - $exId = 0; - $attendances = $this->attendanceService->getAttendanceByStudentAndExam($student_id, $exId); - return view('attendance.student-attendances',['attendances' => $attendances]); - } - } - /** - * View for Adjust missing Attendances - * - * @return \Illuminate\Http\Response - */ - public function adjust($student_id){ - $student = $this->attendanceService->getStudent($student_id); - $exam = \App\ExamForClass::where('class_id',$student->section->class->id) - ->where('active', 1) - ->first(); - if(count((array) $exam) == 1) - $exId = $exam->exam_id; - else - $exId = 0; - $attendances = $this->attendanceService->getAbsentAttendanceByStudentAndExam($student_id, $exId); - return view('attendance.adjust',['attendances'=>$attendances,'student_id'=>$student_id]); - } - /** - * @param \Illuminate\Http\Request $request - * Adjust missing Attendances POST request - * @return \Illuminate\Http\RedirectResponse - */ - public function adjustPost(Request $request){ - $request->validate([ - 'att_id' => 'required|array', - ]); - return $this->attendanceService->adjustPost($request); - } - /** - * Add students to a Course before taking attendances - * @return \Illuminate\Http\Response - */ - public function addStudentsToCourseBeforeAtt($teacher_id,$course_id,$exam_id,$section_id){ - $this->addStudentsToCourse($teacher_id,$course_id,$exam_id,$section_id); - - $students = $this->attendanceService->getStudentsBySection($section_id); - $attendances = $this->attendanceService->getTodaysAttendanceBySectionId($section_id); - $attCount = $this->attendanceService->getAllAttendanceBySecAndExam($section_id,$exam_id); - - return view('attendance.attendance', [ - 'students' => $students, - 'attendances' => $attendances, - 'attCount' => $attCount, - 'section_id'=>$section_id, - 'exam_id'=>$exam_id - ]); - } - /** - * @param \Illuminate\Http\Request $request - * View students of a section to view attendances - * @return \Illuminate\Http\Response - */ - public function sectionIndex(Request $request, $section_id){ - $users = $this->attendanceService->getStudentsWithInfoBySection($section_id); - - $request->session()->put('section-attendance', true); - - return view('list.student-list',[ - 'users' =>$users, - 'current_page'=>$users->currentPage(), - 'per_page'=>$users->perPage() - ]); - } - - /** - * Store a newly created resource in storage. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response - */ - public function store(StoreAttendanceRequest $request) - { - $this->attendanceService->request = $request; - if($request->update == 1){ - $at = $this->attendanceService->updateAttendance(); - if(isset($at)) - if(count($at) > 0) - Attendance::insert($at); - } else { - $this->attendanceService->storeAttendance(); - } - return back()->with('status',__('Saved')); - } -} diff --git a/app/Http/Controllers/Auth/ForgotPasswordController.php b/app/Http/Controllers/Auth/ForgotPasswordController.php deleted file mode 100755 index 6a247fefd..000000000 --- a/app/Http/Controllers/Auth/ForgotPasswordController.php +++ /dev/null @@ -1,32 +0,0 @@ -middleware('guest'); - } -} diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php deleted file mode 100755 index 557770c25..000000000 --- a/app/Http/Controllers/Auth/LoginController.php +++ /dev/null @@ -1,57 +0,0 @@ -middleware('guest')->except('logout'); - } - - public function redirectTo() - { - $role = Auth::user()->role; - - return ($role == 'master')?'/masters':'/home'; - } - - public function username() - { - $login = request()->input('email'); - $field = filter_var($login, FILTER_VALIDATE_EMAIL) ? 'email' : 'phone_number'; - request()->merge([$field => $login]); - return $field; - } - - public function credentials(Request $request) - { - $credentials = $request->only($this->username(), 'password'); - $credentials = Arr::add($credentials, 'active', '1'); - return $credentials; - } -} diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php deleted file mode 100755 index fe7cd41f7..000000000 --- a/app/Http/Controllers/Auth/RegisterController.php +++ /dev/null @@ -1,71 +0,0 @@ -middleware('auth'); - } - - /** - * 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|string|max:255', - 'email' => 'required|string|email|max:255|unique:users', - 'password' => 'required|string|min:6|confirmed', - ]); - } - - /** - * Create a new user instance after a valid registration. - * - * @param array $data - * @return \App\User - */ - protected function create(array $data) - { - return User::create([ - 'name' => $data['name'], - 'email' => $data['email'], - 'password' => bcrypt($data['password']), - ]); - } -} diff --git a/app/Http/Controllers/Auth/ResetPasswordController.php b/app/Http/Controllers/Auth/ResetPasswordController.php deleted file mode 100755 index cf726eecd..000000000 --- a/app/Http/Controllers/Auth/ResetPasswordController.php +++ /dev/null @@ -1,39 +0,0 @@ -middleware('guest'); - } -} diff --git a/app/Http/Controllers/CashierController.php b/app/Http/Controllers/CashierController.php deleted file mode 100755 index 8b98d08fa..000000000 --- a/app/Http/Controllers/CashierController.php +++ /dev/null @@ -1,40 +0,0 @@ -user()->school_id)->get(); - return view('stripe.payment', compact('fees_fields')); - } - - public function store(Request $request){ - $stripeToken = $request->stripeToken; - $amount = intval($request->amount * 100); - $chargeField = $request->charge_field; - $user = auth()->user(); - if($user->stripe_id == NULL){ - //manually create a new Customer instance with Stripe - $user->createAsStripeCustomer($stripeToken); - } - try { - $transaction = $user->charge($amount); - $payment = new Payment; - $payment->payment_id = $transaction->id; - $payment->payment_status = 1; - $payment->amount = $request->amount; - $payment->custormer_id = auth()->user()->id; - $payment->charge_for = $chargeField; - $payment->save(); - } catch (\Exception $e) { - return back()->with(['error'=>true,'status'=>__('Payment Unsuccessful')]); - } - // Return back - return back()->with('status',__('Payment Successful')); - } -} diff --git a/app/Http/Controllers/CertificateController.php b/app/Http/Controllers/CertificateController.php deleted file mode 100755 index aec21c013..000000000 --- a/app/Http/Controllers/CertificateController.php +++ /dev/null @@ -1,93 +0,0 @@ -student_code) - ->bySchool(\Auth::user()->school_id) - ->get(); - return view('certificates.index',['certificates'=>$certificates]); - } - - /** - * Show the form for creating a new resource. - * - * @return \Illuminate\Http\Response - */ - public function create() - { - $certificates = Certificate::with('student') - ->bySchool(\Auth::user()->school_id) - ->where('active',1)->get(); - return view('certificates.create',['certificates'=>$certificates]); - } - - /** - * 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 \App\Certificate $certificate - * @return \Illuminate\Http\Response - */ - public function show(Certificate $certificate) - { - // - } - - /** - * Show the form for editing the specified resource. - * - * @param \App\Certificate $certificate - * @return \Illuminate\Http\Response - */ - public function edit(Certificate $certificate) - { - // - } - - /** - * Update the specified resource in storage. - * - * @param Request $request - * @return \Illuminate\Http\Response - */ - public function update(Request $request) - { - $tb = Certificate::find($request->id); - $tb->active = 0; - $tb->save(); - return back()->with('status',__('File removed')); - } - - /** - * Remove the specified resource from storage. - * - * @param \App\Certificate $certificate - * @return \Illuminate\Http\Response - */ - public function destroy(Certificate $certificate) - { - // - } -} diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php deleted file mode 100755 index 03e02a23e..000000000 --- a/app/Http/Controllers/Controller.php +++ /dev/null @@ -1,13 +0,0 @@ -courseService = $courseService; - } - /** - * Display a listing of the resource. - * - * @return \Illuminate\Http\Response - */ - public function index($teacher_id, $section_id){ - if($this->courseService->isCourseOfTeacher($teacher_id)) { - $courses = $this->courseService->getCoursesByTeacher($teacher_id); - $exams = $this->courseService->getExamsBySchoolId(); - $view = 'course.teacher-course'; - - } else if($this->courseService->isCourseOfStudentOfASection($section_id)) { - $courses = $this->courseService->getCoursesBySection($section_id); - $view = 'course.class-course'; - $exams = []; - - } else if($this->courseService->isCourseOfASection($section_id)) { - $courses = $this->courseService->getCoursesBySection($section_id); - $exams = $this->courseService->getExamsBySchoolId(); - $view = 'course.class-course'; - } else { - return redirect('home'); - } - return view($view,compact('courses','exams')); - } - - /** - * Show the form for creating a new resource. - * - * @return \Illuminate\Http\Response - */ - public function create() - { - // - } - - /** - * Show the form for creating a new resource. - * - * @return \Illuminate\Http\Response - */ - public function course($teacher_id,$course_id,$exam_id,$section_id) - { - $this->addStudentsToCourse($teacher_id,$course_id,$exam_id,$section_id); - $students = $this->courseService->getStudentsFromGradeByCourseAndExam($course_id, $exam_id); - - return view('course.students', compact('students','teacher_id','section_id')); - } - - /** - * Store a newly created resource in storage. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response - */ - public function store(Request $request) - { - try{ - $this->courseService->addCourse($request); - } catch (\Exception $ex){ - return __('Could not add course.'); - } - return back()->with('status', __('Created')); - } - - /** - * @param SaveConfigurationRequest $request - * @return \Illuminate\Http\RedirectResponse - */ - public function saveConfiguration(SaveConfigurationRequest $request){ - try{ - $this->courseService->saveConfiguration($request); - } catch (\Exception $ex){ - return __('Could not save configuration.'); - } - return back()->with('status', __('Saved')); - } - - /** - * Display the specified resource. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function show($id) - { - return new CourseResource(Course::find($id)); - } - - /** - * Show the form for editing the specified resource. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function edit($id) - { - $course = Course::find($id); - return view('course.edit', ['course'=>$course]); - } - - /** - * Update the specified resource in storage. - * - * @param \Illuminate\Http\Request $request - * @param int $id - * @return \Illuminate\Http\Response - */ - public function updateNameAndTime(Request $request, $id) - { - $request->validate([ - 'course_name' => 'required|string', - 'course_time' => 'required|string', - ]); - $this->courseService->updateCourseInfo($id, $request); - return back()->with('status', __('Saved')); - } - - /** - * Remove the specified resource from storage. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function destroy($id) - { - return (Course::destroy($id))?response()->json([ - 'status' => 'success' - ]):response()->json([ - 'status' => 'error' - ]); - } -} diff --git a/app/Http/Controllers/EventController.php b/app/Http/Controllers/EventController.php deleted file mode 100755 index b57eff684..000000000 --- a/app/Http/Controllers/EventController.php +++ /dev/null @@ -1,101 +0,0 @@ - 0)? EventResource::collection(Event::where('class_id', $class_id)->get()):response()->json(['Invalid Class id: '. $class_id, 404]); - } - - /** - * Show the form for creating a new resource. - * - * @return \Illuminate\Http\Response - */ - public function create() - { - $files = Event::bySchool(\Auth::user()->school_id)->where('active',1)->get(); - return view('events.create',['files'=>$files]); - } - - /** - * Store a newly created resource in storage. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response - */ - public function store(Request $request) - { - $tb = new Event; - $tb->file_path = $request->file_path; - $tb->title = $request->title; - $tb->active = 1; - $tb->school_id = \Auth::user()->school_id; - $tb->user_id = \Auth::user()->id; - $tb->save(); - return back()->with('status', __('Uploaded')); - } - - /** - * Display the specified resource. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function show($id) - { - return new EventResource(Event::find($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 Request $request - * @return \Illuminate\Http\Response - */ - public function update(Request $request) - { - $tb = Event::find($request->id); - $tb->active = 0; - $tb->save(); - return back()->with('status','File removed'); - } - - /** - * Remove the specified resource from storage. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function destroy($id) - { - return (Event::destroy($id))?response()->json([ - 'status' => 'success' - ]):response()->json([ - 'status' => 'error' - ]); - } -} diff --git a/app/Http/Controllers/ExamController.php b/app/Http/Controllers/ExamController.php deleted file mode 100755 index ce732ec4e..000000000 --- a/app/Http/Controllers/ExamController.php +++ /dev/null @@ -1,140 +0,0 @@ -examService = $examService; - } - /** - * Display a listing of the resource. - * - * @return \Illuminate\Http\Response - */ - public function index() - { - $exams = $this->examService->getLatestExamsBySchoolIdWithPagination(); - return view('exams.all',compact('exams')); - } - - public function indexActive(){ - $exams = $this->examService->getActiveExamsBySchoolId(); - $this->examService->examIds = $exams->pluck('id')->toArray(); - $courses = $this->examService->getCoursesByExamIds(); - - return view('exams.active',compact('exams','courses')); - } - - /** - * Show the form for creating a new resource. - * - * @return \Illuminate\Http\Response - */ - public function create() - { - $classes = $this->examService->getClassesBySchoolId(); - $already_assigned_classes = $this->examService->getAlreadyAssignedClasses(); - return view('exams.add',compact('classes','already_assigned_classes')); - } - - /** - * Store a newly created resource in storage. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response - */ - public function store(CreateExamRequest $request) - { - - $this->examService->request = $request; - try{ - $this->examService->storeExam(); - } catch (\Exception $e){ - return 'Error: '. $e->getMessage(); - } - - //return $this->cindex($course_id, $exam_id, $teacher_id); - return back()->with('status', __('Created')); - } - - /** - * 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) - { - $request->validate([ - 'exam_id' => 'required|numeric', - ]); - try{ - $this->examService->request = $request; - $this->examService->updateExam(); - } catch (\Exception $e){ - return 'Error: '. $e->getMessage(); - } - return back()->with('status', __('Saved')); - } - - /** - * Update the specified resource in storage. - * - * @param \Illuminate\Http\Request $request - * @param int $id - * @return \Illuminate\Http\Response - */ - private function assignCoursesToExam() - { - // $request->validate([ - // 'course_id' => 'required|numeric', - // 'exam_id' => 'required|numeric', - // ]); - - // $tb = Course::find($request->course_id); - // $tb->exam_id = $request->exam_id; - // $tb->save(); - // return back()->with('status', 'Saved'); - } - - /** - * Remove the specified resource from storage. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function destroy($id) - { - // - } -} diff --git a/app/Http/Controllers/FaqController.php b/app/Http/Controllers/FaqController.php deleted file mode 100755 index c27ec4008..000000000 --- a/app/Http/Controllers/FaqController.php +++ /dev/null @@ -1,105 +0,0 @@ -question = $request->question; - $tb->answer = $request->answer; - - return($tb->save())?response()->json([ - 'status' => 'success' - ]):response()->json([ - 'status' => 'error' - ]); - } - - /** - * Display the specified resource. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function show($id) - { - return new FaqResource(Faq::find($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) - { - $tb = Faq::find($id); - $tb->question = $request->question; - $tb->answer = $request->answer; - return ($tb->save())?response()->json([ - 'status' => 'success' - ]):response()->json([ - 'status' => 'error' - ]); - } - - /** - * Remove the specified resource from storage. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function destroy($id) - { - return (Faq::destroy($id))?response()->json([ - 'status' => 'success' - ]):response()->json([ - 'status' => 'error' - ]); - } -} diff --git a/app/Http/Controllers/FeeController.php b/app/Http/Controllers/FeeController.php deleted file mode 100755 index 9dd939204..000000000 --- a/app/Http/Controllers/FeeController.php +++ /dev/null @@ -1,93 +0,0 @@ -school_id)->get(); - return view('fees.all',['fees'=>$fees]); - } - - /** - * Show the form for creating a new resource. - * - * @return \Illuminate\Http\Response - */ - public function create() - { - return view('fees.create'); - } - - /** - * Store a newly created resource in storage. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response - */ - public function store(Request $request) - { - $request->validate([ - 'fee_name' => 'required|string|max:255', - ]); - $fee = new \App\Fee; - $fee->fee_name = $request->fee_name; - $fee->school_id = \Auth::user()->school_id; - $fee->user_id = \Auth::user()->id; - $fee->save(); - return back()->with('status', __('Saved')); - } - - /** - * 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) - { - // - } -} diff --git a/app/Http/Controllers/FeedbackController.php b/app/Http/Controllers/FeedbackController.php deleted file mode 100755 index 04e53e6ee..000000000 --- a/app/Http/Controllers/FeedbackController.php +++ /dev/null @@ -1,107 +0,0 @@ - 0)? FeedbackResource::collection(Feedback::where('student_id', $student_id)->get()):response()->json(['Invalid Student id: '. $student_id, 404]); - } - - /** - * 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) - { - $tb = new Feedback; - $tb->description = $request->description; - $tb->teacher_id = $request->teacher_id; - $tb->student_id = $request->student_id; - - return($tb->save())?response()->json([ - 'status' => 'success' - ]):response()->json([ - 'status' => 'error' - ]); - } - - /** - * Display the specified resource. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function show($id) - { - return new FeedbackResource(Feedback::find($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) - { - $tb = Feedback::find($id); - $tb->description = $request->description; - $tb->student_id = $request->student_id; - $tb->teacher_id = $request->teacher_id; - return ($tb->save())?response()->json([ - 'status' => 'success' - ]):response()->json([ - 'status' => 'error' - ]); - } - - /** - * Remove the specified resource from storage. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function destroy($id) - { - return (Feedback::destroy($id))?response()->json([ - 'status' => 'success' - ]):response()->json([ - 'status' => 'error' - ]); - } -} diff --git a/app/Http/Controllers/FormController.php b/app/Http/Controllers/FormController.php deleted file mode 100755 index cd720465a..000000000 --- a/app/Http/Controllers/FormController.php +++ /dev/null @@ -1,105 +0,0 @@ - 0)? FormResource::collection(Form::bySchool($school_id)->get()):response()->json(['Invalid School id: '. $school_id, 404]); - } - - /** - * 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) - { - $tb = new Form; - $tb->file_path = $request->file_path; - $tb->school_id = $request->school_id; - - return($tb->save())?response()->json([ - 'status' => 'success' - ]):response()->json([ - 'status' => 'error' - ]); - } - - /** - * Display the specified resource. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function show($id) - { - return new FormResource(Form::find($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) - { - $tb = Form::find($id); - $tb->file_path = $request->file_path; - $tb->school_id = $request->school_id; - return ($tb->save())?response()->json([ - 'status' => 'success' - ]):response()->json([ - 'status' => 'error' - ]); - } - - /** - * Remove the specified resource from storage. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function destroy($id) - { - return (Form::destroy($id))?response()->json([ - 'status' => 'success' - ]):response()->json([ - 'status' => 'error' - ]); - } -} diff --git a/app/Http/Controllers/GradeController.php b/app/Http/Controllers/GradeController.php deleted file mode 100755 index 63d5b82d5..000000000 --- a/app/Http/Controllers/GradeController.php +++ /dev/null @@ -1,193 +0,0 @@ -gradeService = $gradeService; - } - /** - * Display a listing of the resource. - * - * @return \Illuminate\Http\Response - */ - public function index($student_id) - { - if($this->gradeService->isLoggedInUserStudent()){ - $grades = $this->gradeService->getStudentGradesWithInfoCourseTeacherExam(auth()->user()->id); - } else { - $grades = $this->gradeService->getStudentGradesWithInfoCourseTeacherExam($student_id); - } - if(count($grades) > 0){ - $exams = $this->gradeService->getExamByIdsFromGrades($grades); - $gradesystems = $this->gradeService->getGradeSystemBySchoolId($grades); - } else { - $grades = []; - $gradesystems = []; - $exams = []; - } - - $this->gradeService->grades = $grades; - $this->gradeService->gradesystems = $gradesystems; - $this->gradeService->exams = $exams; - - return $this->gradeService->gradeIndexView('grade.student-grade'); - } - - public function tindex($teacher_id,$course_id,$exam_id,$section_id) - { - $this->addStudentsToCourse($teacher_id,$course_id,$exam_id,$section_id); - - $grades = $this->gradeService->getGradesByCourseExam($course_id, $exam_id); - $gradesystems = $this->gradeService->getGradeSystemBySchoolIdGroupByName($grades); - - $this->gradeService->grades = $grades; - $this->gradeService->gradesystems = $gradesystems; - - return $this->gradeService->gradeTeacherIndexView('grade.teacher-grade'); - } - - public function cindex($teacher_id,$course_id,$exam_id,$section_id) - { - $this->addStudentsToCourse($teacher_id,$course_id,$exam_id,$section_id); - $grades = $this->gradeService->getGradesByCourseExam($course_id, $exam_id); - $gradesystems = $this->gradeService->getGradeSystemBySchoolId($grades); - - $this->gradeService->grades = $grades; - $this->gradeService->gradesystems = $gradesystems; - $this->gradeService->course_id = $course_id; - $this->gradeService->exam_id = $exam_id; - $this->gradeService->teacher_id = $teacher_id; - $this->gradeService->section_id = $section_id; - - return $this->gradeService->gradeCourseIndexView('grade.course-grade'); - } - - public function allExamsGrade(){ - $classes = $this->gradeService->getClassesBySchoolId(); - $classIds = $classes->pluck('id')->toArray(); - $sections = $this->gradeService->getSectionsByClassIds($classIds); - return view('grade.all-exams-grade',compact('classes', - 'sections')); - } - - public function gradesOfSection($section_id){ - $examIds = $this->gradeService->getActiveExamIds()->toArray(); - $courses = $this->gradeService->getCourseBySectionIdExamIds($section_id, $examIds); - $grades = $this->gradeService->getGradesByCourseId($courses); - - return view('grade.class-result',compact('grades')); - } - - public function calculateMarks(CalculateMarksRequest $request){ - $gradeSystem = $this->gradeService->getGradeSystemByname($request->grade_system_name); - - $this->gradeService->course_id = $request->course_id; - $course = $this->gradeService->getCourseByCourseId(); - - $grades = $this->gradeService->getGradesByCourseExam($request->course_id, $request->exam_id)->toArray(); - - $tbc = $this->gradeService->calculateGpaFromTotalMarks($grades, $course, $gradeSystem); - - $this->gradeService->saveCalculatedGPAFromTotalMarks($tbc); - - $this->gradeService->course_id = $request->course_id; - $this->gradeService->exam_id = $request->exam_id; - $this->gradeService->teacher_id = $request->teacher_id; - $this->gradeService->section_id = $request->section_id; - - return $this->gradeService->returnRouteWithParameters('teacher-grade'); - } - - /** - * 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) - { - return new GradeResource(Grade::find($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) - { - $tbc = $this->gradeService->updateGrade($request); - try{ - if(count($tbc) > 0){ - $gradeTb = new Grade; - \Batch::update($gradeTb, (array) $tbc,'id'); - } - }catch(\Exception $e){ - return __("Ops, an error occured"); - } - - return back()->with('status', __('Saved')); - } - - /** - * Remove the specified resource from storage. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function destroy($id) - { - return (Grade::destroy($id))?response()->json([ - 'status' => 'success' - ]):response()->json([ - 'status' => 'error' - ]); - } -} diff --git a/app/Http/Controllers/GradesystemController.php b/app/Http/Controllers/GradesystemController.php deleted file mode 100755 index 80eb60d48..000000000 --- a/app/Http/Controllers/GradesystemController.php +++ /dev/null @@ -1,85 +0,0 @@ -school_id)->get(); - return view('gpa.all',['gpas'=>$gpas]); - } - /** - * Show the form for creating a new resource. - * - * @return \Illuminate\Http\Response - */ - public function create(){ - return view('gpa.create'); - } - /** - * Store a newly created resource in storage. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response - */ - public function store(Request $request){ - $request->validate([ - 'grade_system_name' => 'required|string|max:255', - 'point' => 'required', - 'grade' => 'required', - 'from_mark' => 'required', - 'to_mark' => 'required', - ]); - $gpa = new Gradesystem; - $gpa->grade_system_name = $request->grade_system_name; - $gpa->point = $request->point; - $gpa->grade = $request->grade; - $gpa->from_mark = $request->from_mark; - $gpa->to_mark = $request->to_mark; - $gpa->school_id = \Auth::user()->school_id; - $gpa->user_id = \Auth::user()->id; - $gpa->save(); - return back()->with('status', __('Saved')); - } - /** - * 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(Request $request){ - $gpa = Gradesystem::find($request->gpa_id); - $gpa->delete(); - return back()->with('status', __('Deleted!')); - } -} diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php deleted file mode 100755 index cd7ad7f40..000000000 --- a/app/Http/Controllers/HomeController.php +++ /dev/null @@ -1,102 +0,0 @@ -middleware('auth'); - } - - /** - * Show the application dashboard. - * - * @return \Illuminate\Http\Response - */ - public function index() - { - - if (\Auth::user()->role != 'master') { - $minutes = 1440;// 24 hours = 1440 minutes - $school_id = \Auth::user()->school->id; - $classes = \Cache::remember('classes-'.$school_id, $minutes, function () use($school_id) { - return \App\Myclass::bySchool($school_id) - ->pluck('id') - ->toArray(); - }); - $totalStudents = \Cache::remember('totalStudents-'.$school_id, $minutes, function () use($school_id) { - return \App\User::bySchool($school_id) - ->where('role','student') - ->where('active', 1) - ->count(); - }); - $totalTeachers = \Cache::remember('totalTeachers-'.$school_id, $minutes, function () use($school_id) { - return \App\User::bySchool($school_id) - ->where('role','teacher') - ->where('active', 1) - ->count(); - }); - $totalBooks = \Cache::remember('totalBooks-'.$school_id, $minutes, function () use($school_id) { - return \App\Book::bySchool($school_id)->count(); - }); - $totalClasses = \Cache::remember('totalClasses-'.$school_id, $minutes, function () use($school_id) { - return \App\Myclass::bySchool($school_id)->count(); - }); - $totalSections = \Cache::remember('totalSections-'.$school_id, $minutes, function () use ($classes) { - return \App\Section::whereIn('class_id', $classes)->count(); - }); - $notices = \Cache::remember('notices-'.$school_id, $minutes, function () use($school_id) { - return \App\Notice::bySchool($school_id) - ->where('active',1) - ->get(); - }); - $events = \Cache::remember('events-'.$school_id, $minutes, function () use($school_id) { - return \App\Event::bySchool($school_id) - ->where('active',1) - ->get(); - }); - $routines = \Cache::remember('routines-'.$school_id, $minutes, function () use($school_id) { - return \App\Routine::bySchool($school_id) - ->where('active',1) - ->get(); - }); - $syllabuses = \Cache::remember('syllabuses-'.$school_id, $minutes, function () use($school_id) { - return \App\Syllabus::bySchool($school_id) - ->where('active',1) - ->get(); - }); - $exams = \Cache::remember('exams-'.$school_id, $minutes, function () use($school_id) { - return \App\Exam::bySchool($school_id) - ->where('active',1) - ->get(); - }); - // if(\Auth::user()->role == 'student') - // $messageCount = \App\Notification::where('student_id',\Auth::user()->id)->count(); - // else - // $messageCount = 0; - return view('home',[ - 'totalStudents'=>$totalStudents, - 'totalTeachers'=>$totalTeachers, - 'totalBooks'=>$totalBooks, - 'totalClasses'=>$totalClasses, - 'totalSections'=>$totalSections, - 'notices'=>$notices, - 'events'=>$events, - 'routines'=>$routines, - 'syllabuses'=>$syllabuses, - 'exams'=>$exams, - //'messageCount'=>$messageCount, - ]); - } else { - return redirect('/masters'); - } - } -} diff --git a/app/Http/Controllers/HomeworkController.php b/app/Http/Controllers/HomeworkController.php deleted file mode 100755 index 1d9e62fe7..000000000 --- a/app/Http/Controllers/HomeworkController.php +++ /dev/null @@ -1,117 +0,0 @@ - 0){ - return HomeworkResource::collection(Homework::where('section_id', $section_id)->get()); - } else if($teacher_id > 0){ - return HomeworkResource::collection(Homework::where('teacher_id', $teacher_id)->get()); - } else { - return response()->json([ - 'Invalid section_id: '.$section_id, - 'Invalid Teacher_id: '.$teacher_id, - 404]); - } - } - - /** - * 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) - { - $tb = new Homework; - $tb->file_path = $request->file_path; - $tb->description = $request->description; - $tb->teacher_id = $request->teacher_id; - $tb->section_id = $request->section_id; - - return($tb->save())?response()->json([ - 'status' => 'success' - ]):response()->json([ - 'status' => 'error' - ]); - } - - /** - * Display the specified resource. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function show($id) - { - return HomeworkResource(Homework::find($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) - { - $tb = Homework::find($id); - $tb->description = $request->description; - $tb->teacher_id = $request->teacher_id; - $tb->section_id = $request->section_id; - return ($tb->save())?response()->json([ - 'status' => 'success' - ]):response()->json([ - 'status' => 'error' - ]); - } - - /** - * Remove the specified resource from storage. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function destroy($id) - { - return (Homework::destroy($id))?response()->json([ - 'status' => 'success' - ]):response()->json([ - 'status' => 'error' - ]); - } -} diff --git a/app/Http/Controllers/IssuedbookController.php b/app/Http/Controllers/IssuedbookController.php deleted file mode 100755 index 7e3eba641..000000000 --- a/app/Http/Controllers/IssuedbookController.php +++ /dev/null @@ -1,74 +0,0 @@ -issuedBookService = $issuedBookService; - } - /** - * Show the issued books. - * - * @return \Illuminate\Http\Response - */ - public function index(){ - $issuedBooks = $this->issuedBookService->getIssuedBooks(); - return view('library.issued-books',['issued_books'=>$issuedBooks]); - } - /** - * Show all available books list so that librarian can issue books to students. - * - * @return \Illuminate\Http\Response - */ - public function create(){ - $books = \App\Book::bySchool(auth()->user()->school_id) - ->where('quantity','>',0) - ->get(); - return view('library.issuebooks',['books'=>$books]); - } - - /** - * Issue books to a student. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response - */ - public function store(Request $request){ - $studentExists = \App\User::where('student_code',$request->student_code)->first(); - if($studentExists){ - $this->issuedBookService->request = $request; - $this->issuedBookService->storeIssuedBooks(); - return back()->with('status', __('Saved')); - } else { - return back()->with('status', __('Student Does Not Exist!')); - } - } - - /** - * Update the specified resource in storage. - * - * @param \Illuminate\Http\Request $request - * @param int $id - * @return \Illuminate\Http\Response - */ - public function update(Request $request) - { - \DB::transaction(function () use ($request) { - $tb = \App\Issuedbook::find($request->issue_id); - $tb->borrowed = 0; - $tb->quantity = 0; - $tb->save(); - $book = \App\Book::where('id',$request->book_id)->first(); - $book->quantity = $book->quantity + 1; - $book->save(); - }, 5); - - return back()->with('status', __('Saved')); - } -} diff --git a/app/Http/Controllers/Library/BookController.php b/app/Http/Controllers/Library/BookController.php deleted file mode 100755 index 1b188b18c..000000000 --- a/app/Http/Controllers/Library/BookController.php +++ /dev/null @@ -1,71 +0,0 @@ -share('types', [ - __('Academic'), - __('Magazine'), - __('Story'), - __('Other') - ]); - } - - public function index() { - $books = Book::bySchool(auth()->user()->school_id)->paginate(); - - return view('library.books.index', compact('books')); - } - - public function show(Book $book) { - return view('library.books.show', compact('book')); - } - - public function edit(Book $book) { - $classes = Myclass::bySchool(auth()->user()->school_id)->get(); - - return view('library.books.edit', compact('book', 'classes')); - } - - public function create() { - $classes = Myclass::bySchool(auth()->user()->school_id)->get(); - - return view('library.books.create', compact('classes')); - } - - public function store(BookRequest $request) { - $book = Book::create([ - 'title' => $request->title, - 'book_code' => $request->book_code, - 'author' => $request->author, - 'quantity' => $request->quantity, - 'rackNo' => $request->rackNo, - 'rowNo' => $request->rowNo, - 'type' => $request->type, - 'about' => $request->about, - 'price' => $request->price, - 'img_path' => $request->img_path, - 'class_id' => $request->class_id, - 'school_id' => auth()->user()->school_id, - 'user_id' => auth()->user()->id - ]); - - return redirect()->route('library.books.show', $book->id); - } - - public function update(BookRequest $request, $book) - { - Book::where('id', $book)->update($request->except('_method', '_token')); - - return redirect()->route('library.books.index')->with('status', __('Book has been updated correctly')); - } -} diff --git a/app/Http/Controllers/MasterController.php b/app/Http/Controllers/MasterController.php deleted file mode 100755 index a9cdd2b2e..000000000 --- a/app/Http/Controllers/MasterController.php +++ /dev/null @@ -1,13 +0,0 @@ - 0)? MessageResource::collection(Message::bySchool($school_id)->get()):response()->json([ - 'Invalid School id: '. $school_id, - 404 - ]); - } - - /** - * 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) - { - $tb = new Message; - $tb->phone_number = $request->phone_number; - $tb->email = $request->email; - $tb->message = $request->message; - $tb->school_id = $request->school_id; - - return($tb->save())?response()->json([ - 'status' => 'success' - ]):response()->json([ - 'status' => 'error' - ]); - } - - /** - * Display the specified resource. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function show($id) - { - return new MessageResource(Message::find($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) - { - $tb = Message::find($id); - $tb->phone_number = $request->phone_number; - $tb->email = $request->email; - $tb->message = $request->message; - $tb->school_id = $request->school_id; - return ($tb->save())?response()->json([ - 'status' => 'success' - ]):response()->json([ - 'status' => 'error' - ]); - } - - /** - * Remove the specified resource from storage. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function destroy($id) - { - return (Message::destroy($id))?response()->json([ - 'status' => 'success' - ]):response()->json([ - 'status' => 'error' - ]); - } -} diff --git a/app/Http/Controllers/MyclassController.php b/app/Http/Controllers/MyclassController.php deleted file mode 100755 index 64837253a..000000000 --- a/app/Http/Controllers/MyclassController.php +++ /dev/null @@ -1,108 +0,0 @@ - 0)? ClassResource::collection(Myclass::bySchool($school_id)->get()):response()->json([ - 'Invalid School id: '. $school_id, - 404 - ]); - } - - /** - * 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) - { - $request->validate([ - 'class_number' => 'required' - ]); - $tb = new Myclass; - $tb->class_number = $request->class_number; - $tb->school_id = \Auth::user()->school_id; - $tb->group = (!empty($request->group))?$request->group:''; - $tb->save(); - return back()->with('status', __('Created')); - } - - /** - * Display the specified resource. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function show($id) - { - return new ClassResource(Myclass::find($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) - { - $tb = Myclass::find($id); - $tb->class_number = $request->class_number; - $tb->school_id = $request->school_id; - return ($tb->save())?response()->json([ - 'status' => 'success' - ]):response()->json([ - 'status' => 'error' - ]); - } - - /** - * Remove the specified resource from storage. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function destroy($id) - { - return (Myclass::destroy($id))?response()->json([ - 'status' => 'success' - ]):response()->json([ - 'status' => 'error' - ]); - } -} diff --git a/app/Http/Controllers/NoticeController.php b/app/Http/Controllers/NoticeController.php deleted file mode 100755 index 3753ee4c4..000000000 --- a/app/Http/Controllers/NoticeController.php +++ /dev/null @@ -1,100 +0,0 @@ -school_id)->get(); - } - - /** - * Show the form for creating a new resource. - * - * @return \Illuminate\Http\Response - */ - public function create() - { - $files = Notice::bySchool(\Auth::user()->school_id)->where('active',1)->get(); - return view('notices.create',['files'=>$files]); - } - - /** - * Store a newly created resource in storage. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response - */ - public function store(Request $request) - { - $tb = new Notice; - $tb->file_path = $request->file_path; - $tb->title = $request->title; - $tb->active = 1; - $tb->school_id = \Auth::user()->school_id; - $tb->user_id = \Auth::user()->id; - $tb->save(); - return back()->with('status', __('Uploaded')); - } - - /** - * Display the specified resource. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function show($id) - { - return new NoticeResource(Notice::find($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 Request $request - * @return \Illuminate\Http\Response - */ - public function update(Request $request) - { - $tb = Notice::find($request->id); - $tb->active = 0; - $tb->save(); - return back()->with('status',__('File removed')); - } - - /** - * Remove the specified resource from storage. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function destroy($id) - { - return (Notice::destroy($id))?response()->json([ - 'status' => 'success' - ]):response()->json([ - 'status' => 'error' - ]); - } -} diff --git a/app/Http/Controllers/NotificationController.php b/app/Http/Controllers/NotificationController.php deleted file mode 100755 index 6ce6cf13a..000000000 --- a/app/Http/Controllers/NotificationController.php +++ /dev/null @@ -1,128 +0,0 @@ -where('student_id',$id)->orderBy('id','desc')->paginate(10); - $msgs = []; - foreach($msg as $m){ - $msgs[] = [ - 'id' => $m->id, - 'active' => 0, - 'updated_at' => date('Y-m-d H:i:s'), - ]; - } - $notifTb = new Notification; - \Batch::update($notifTb,(array) $msgs,'id'); - return view('message.all',['messages'=>$msg]); - } - - /** - * 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) - { - $request->validate([ - 'section_id' => 'required|numeric', - 'teacher_id' => 'required|numeric', - 'recipients' => 'required|array', - 'msg' => 'required|string', - ]); - //DB::transaction(function () { - for($i=0; $i < count($request->recipients); $i++){ - $tb = new Notification; - $tb->sent_status = 1; - $tb->active = 1; - $tb->message = $request->msg; - $tb->student_id = $request->recipients[$i]; - $tb->user_id = $request->teacher_id; - $tb->created_at = date('Y-m-d H:i:s'); - $tb->updated_at = date('Y-m-d H:i:s'); - $n[] = $tb->attributesToArray(); - } - Notification::insert($n); - //}); - return back()->with('status',__('Message Sent')); - } - - /** - * Display the specified resource. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function show($id) - { - return new NotificationResource(Notification::find($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) - { - $tb = Notification::find($id); - $tb->student_id = $request->student_id; - $tb->message = $request->message; - return ($tb->save())?response()->json([ - 'status' => 'success' - ]):response()->json([ - 'status' => 'error' - ]); - } - - /** - * Remove the specified resource from storage. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function destroy($id) - { - return (Notification::destroy($id))?response()->json([ - 'status' => 'success' - ]):response()->json([ - 'status' => 'error' - ]); - } -} diff --git a/app/Http/Controllers/PaymentController.php b/app/Http/Controllers/PaymentController.php deleted file mode 100755 index e6bd2229c..000000000 --- a/app/Http/Controllers/PaymentController.php +++ /dev/null @@ -1,86 +0,0 @@ -user()->id)->get(); - return view('stripe.receipts',compact('receipts')); - } - - /** - * 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 \App\Payment $payment - * @return \Illuminate\Http\Response - */ - public function show(Payment $payment) - { - // - } - - /** - * Show the form for editing the specified resource. - * - * @param \App\Payment $payment - * @return \Illuminate\Http\Response - */ - public function edit(Payment $payment) - { - // - } - - /** - * Update the specified resource in storage. - * - * @param \Illuminate\Http\Request $request - * @param \App\Payment $payment - * @return \Illuminate\Http\Response - */ - public function update(Request $request, Payment $payment) - { - // - } - - /** - * Remove the specified resource from storage. - * - * @param \App\Payment $payment - * @return \Illuminate\Http\Response - */ - public function destroy(Payment $payment) - { - // - } -} diff --git a/app/Http/Controllers/RoutineController.php b/app/Http/Controllers/RoutineController.php deleted file mode 100755 index 77fe08c50..000000000 --- a/app/Http/Controllers/RoutineController.php +++ /dev/null @@ -1,148 +0,0 @@ -bySchool(\Auth::user()->school_id) - ->where('active',1) - ->get(); - $classes = \App\Myclass::bySchool(\Auth::user()->school->id) - ->get(); - $classeIds = \App\Myclass::bySchool(\Auth::user()->school->id) - ->pluck('id') - ->toArray(); - $sections = \App\Section::whereIn('class_id',$classeIds) - ->orderBy('section_number') - ->get(); - return view('routines.create',[ - 'files'=>$files, - 'classes'=>$classes, - 'sections'=>$sections, - 'section_id' => 0 - ]); - } - - /** - * Show the form for creating a new resource. - * - * @return \Illuminate\Http\Response - */ - public function create(int $section_id) - { - try{ - if(Schema::hasColumn('routines','section_id')){ - $files = Routine::with('section') - ->bySchool(\Auth::user()->school_id) - ->where('section_id', $section_id) - ->where('active',1) - ->get(); - $classes = \App\Myclass::bySchool(\Auth::user()->school->id) - ->get(); - $classeIds = \App\Myclass::bySchool(\Auth::user()->school->id) - ->pluck('id') - ->toArray(); - $sections = \App\Section::whereIn('class_id',$classeIds) - ->orderBy('section_number') - ->get(); - } else { - return 'section_id column missing. Run php artisan migrate'; - } - } catch(Exception $ex){ - return __('Something went wrong!!'); - } - return view('routines.create',[ - 'files'=>$files, - 'classes'=>$classes, - 'sections'=>$sections, - 'section_id'=>$section_id - ]); - } - - /** - * Store a newly created resource in storage. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response - */ - public function store(Request $request) - { - $request->validate([ - 'file_path' => 'required|string|max:255', - 'title' => 'required|string|max:255', - ]); - $tb = new Routine; - $tb->file_path = $request->file_path; - $tb->title = $request->title; - $tb->active = 1; - $tb->school_id = \Auth::user()->school_id; - $tb->user_id = \Auth::user()->id; - $tb->save(); - return back()->with('status', __('Uploaded')); - } - - /** - * Display the specified resource. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function show($id) - { - return new RoutineResource(Routine::find($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 Request $request - * @return \Illuminate\Http\Response - */ - public function update(Request $request) - { - $tb = Routine::find($request->id); - $tb->active = 0; - $tb->save(); - return back()->with('status',__('File removed')); - } - - /** - * Remove the specified resource from storage. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function destroy($id) - { - return (Routine::destroy($id))?response()->json([ - 'status' => 'success' - ]):response()->json([ - 'status' => 'error' - ]); - } -} diff --git a/app/Http/Controllers/SchoolController.php b/app/Http/Controllers/SchoolController.php deleted file mode 100755 index 0e63fde25..000000000 --- a/app/Http/Controllers/SchoolController.php +++ /dev/null @@ -1,111 +0,0 @@ -paginate(); - - return view('schools.index', compact('schools')); - } - - /** - * Store a newly created resource in storage. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response - */ - public function store(SchoolRequest $request) - { - School::create([ - 'name' => $request->name, - 'established' => $request->established, - 'about' => $request->about, - 'medium' => $request->medium, - 'code' => date("y").substr(number_format(time() * mt_rand(), 0, '', ''), 0, 6), - 'theme' => 'flatly' - ]); - - return redirect()->route('schools.index')->with('status', __('Created')); - } - - /** - * Display the specified resource. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function show($school_id) - { - $admins = User::bySchool($school_id)->where('role','admin')->get(); - return view('school.admin-list',compact('admins')); - } - - public function edit(School $school) { - return view('schools.edit', compact('school')); - } - - public function update(Request $request, School $school) { - $school->name = $request->name; - $school->about = $request->about; - $school->save(); - - return redirect()->route('schools.index'); - } - - public function addDepartment(Request $request){ - $request->validate([ - 'department_name' => 'required|string|max:50', - ]); - $s = new Department; - $s->school_id = \Auth::user()->school_id; - $s->department_name = $request->department_name; - $s->save(); - return back()->with('status', __('Created')); - } - - public function changeTheme(Request $request){ - $tb = School::find($request->s); - $tb->theme = $request->school_theme; - $tb->save(); - return back(); - } - - public function setIgnoreSessions(Request $request){ - $request->session()->put('ignoreSessions', $request->ignoreSessions); - return response()->json([ - 'data' => [ - 'success' => "Setting saved" - ] - ]); - } - - /** - * Remove the specified resource from storage. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function destroy($id) - { - // return (School::destroy($id))?response()->json([ - // 'status' => 'success' - // ]):response()->json([ - // 'status' => 'error' - // ]); - } -} diff --git a/app/Http/Controllers/SectionController.php b/app/Http/Controllers/SectionController.php deleted file mode 100755 index f5cecf7e1..000000000 --- a/app/Http/Controllers/SectionController.php +++ /dev/null @@ -1,124 +0,0 @@ -school->id) - ->get(); - $classeIds = \App\Myclass::bySchool(\Auth::user()->school->id) - ->pluck('id') - ->toArray(); - $sections = \App\Section::whereIn('class_id',$classeIds) - ->orderBy('section_number') - ->get(); - $exams = \App\ExamForClass::whereIn('class_id',$classeIds) - ->where('active', 1) - ->groupBy('class_id') - ->get(); - return view('school.sections',[ - 'classes'=>$classes, - 'sections'=>$sections, - 'exams'=>$exams - ]); - } - - /** - * 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) - { - $request->validate([ - 'section_number' => 'required', - 'room_number' => 'required|numeric', - 'class_id' => 'required|numeric', - ]); - $tb = new Section; - $tb->section_number = $request->section_number; - $tb->room_number = $request->room_number; - $tb->class_id = $request->class_id; - $tb->save(); - return back()->with('status', __('Created')); - } - - /** - * Display the specified resource. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function show($id) - { - return new SectionResource(Section::find($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) - { - $tb = Section::find($id); - $tb->section_number = $request->section_number; - $tb->room_number = $request->room_number; - $tb->class_id = $request->class_id; - return ($tb->save())?response()->json([ - 'status' => 'success' - ]):response()->json([ - 'status' => 'error' - ]); - } - - /** - * Remove the specified resource from storage. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function destroy($id) - { - return (Section::destroy($id))?response()->json([ - 'status' => 'success' - ]):response()->json([ - 'status' => 'error' - ]); - } -} diff --git a/app/Http/Controllers/SettingController.php b/app/Http/Controllers/SettingController.php deleted file mode 100755 index 84d662cbd..000000000 --- a/app/Http/Controllers/SettingController.php +++ /dev/null @@ -1,28 +0,0 @@ -school; - $classes = Myclass::all(); - $sections = Section::all(); - $departments = Department::bySchool(\Auth::user()->school_id)->get(); - $teachers = User::select('departments.*', 'users.*') - ->join('departments', 'departments.id', '=', 'users.department_id') - ->where('role', 'teacher') - ->orderBy('name', 'ASC') - ->where('active', 1) - ->get(); - - return view('settings.index', compact('school', 'classes', 'sections', 'departments', 'teachers')); - } -} diff --git a/app/Http/Controllers/SyllabusController.php b/app/Http/Controllers/SyllabusController.php deleted file mode 100755 index 836ff63a0..000000000 --- a/app/Http/Controllers/SyllabusController.php +++ /dev/null @@ -1,123 +0,0 @@ -bySchool(\Auth::user()->school_id) - ->where('active',1) - ->get(); - $classes = \App\Myclass::bySchool(\Auth::user()->school->id) - ->get(); - return view('syllabus.course-syllabus',['files'=>$files,'classes'=>$classes,'class_id' => 0]); - } - - /** - * Show the form for creating a new resource. - * - * @return \Illuminate\Http\Response - */ - public function create(int $class_id) - { - try{ - if(Schema::hasColumn('syllabuses','class_id')){ - $files = Syllabus::with('myclass') - ->bySchool(\Auth::user()->school_id) - ->where('class_id', $class_id) - ->where('active',1) - ->get(); - $classes = \App\Myclass::bySchool(\Auth::user()->school->id) - ->get(); - } else { - return 'class_id column missing. Run php artisan migrate'; - } - } catch(Exception $ex){ - return 'Something went wrong!!'; - } - - return view('syllabus.course-syllabus',['files'=>$files,'classes'=>$classes,'class_id'=>$class_id]); - } - - /** - * Store a newly created resource in storage. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response - */ - public function store(Request $request) - { - $tb = new Syllabus; - $tb->file_path = $request->file_path; - $tb->title = $request->title; - $tb->active = 1; - $tb->school_id = \Auth::user()->school_id; - $tb->user_id = \Auth::user()->id; - $tb->save(); - return back()->with('status', __('Uploaded')); - } - - /** - * Display the specified resource. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function show($id) - { - return new SyllabusResource(Syllabus::find($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 Request $request - * @return \Illuminate\Http\Response - */ - public function update(Request $request) - { - $tb = Syllabus::find($request->id); - $tb->active = 0; - $tb->save(); - return back()->with('status',__('File removed')); - } - - /** - * Remove the specified resource from storage. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function destroy($id) - { - return (Syllabus::destroy($id))?response()->json([ - 'status' => 'success' - ]):response()->json([ - 'status' => 'error' - ]); - } -} diff --git a/app/Http/Controllers/UploadController.php b/app/Http/Controllers/UploadController.php deleted file mode 100755 index a70ffe7e6..000000000 --- a/app/Http/Controllers/UploadController.php +++ /dev/null @@ -1,151 +0,0 @@ -validate([ - 'upload_type' => 'required', - 'file' => 'required|max:10000|mimes:doc,docx,png,jpeg,pdf,xlsx,xls,ppt,pptx,txt' - ]); - - $upload_dir = 'school-'.auth()->user()->school_id.'/'.date("Y").'/'.$request->upload_type; - - $path = \Storage::disk('public')->putFile($upload_dir, $request->file('file'));//$request->file('file')->store($upload_dir); - - if($request->upload_type == 'notice'){ - $request->validate([ - 'title' => 'required|string', - ]); - - $tb = new \App\Notice; - $tb->file_path = 'storage/'.$path; - $tb->title = $request->title; - $tb->active = 1; - $tb->school_id = auth()->user()->school_id; - $tb->user_id = auth()->user()->id; - $tb->save(); - }else if($request->upload_type == 'event'){ - $request->validate([ - 'title' => 'required|string', - ]); - $tb = new \App\Event; - $tb->file_path = 'storage/'.$path; - $tb->title = $request->title; - $tb->active = 1; - $tb->school_id = auth()->user()->school_id; - $tb->user_id = auth()->user()->id; - $tb->save(); - } else if($request->upload_type == 'routine'){ - $request->validate([ - 'title' => 'required|string', - ]); - $tb = new \App\Routine; - $tb->file_path = 'storage/'.$path; - $tb->title = $request->title; - $tb->active = 1; - $tb->school_id = auth()->user()->school_id; - $tb->section_id = $request->section_id; - $tb->user_id = auth()->user()->id; - $tb->save(); - } else if($request->upload_type == 'syllabus'){ - $request->validate([ - 'title' => 'required|string', - ]); - $tb = new \App\Syllabus; - $tb->file_path = 'storage/'.$path; - $tb->title = $request->title; - $tb->active = 1; - $tb->school_id = auth()->user()->school_id; - $tb->class_id = $request->class_id; - $tb->user_id = auth()->user()->id; - $tb->save(); - } else if($request->upload_type == 'certificate'){ - $request->validate([ - 'title' => 'required|string', - 'given_to' => 'required|int', - ]); - - $tb = new \App\Certificate; - $tb->file_path = 'storage/'.$path; - $tb->title = $request->title; - $tb->given_to = $request->given_to; - $tb->active = 1; - $tb->school_id = auth()->user()->school_id; - $tb->user_id = auth()->user()->id; - $tb->save(); - } else if($request->upload_type == 'profile' && $request->user_id > 0){ - $tb = \App\User::find($request->user_id); - $tb->pic_path = 'storage/'.$path; - $tb->save(); - } - - return ($path)?response()->json([ - 'imgUrlpath' => url('storage/'.$path), - 'path' => 'storage/'.$path, - 'error' => false - ]):response()->json([ - 'imgUrlpath' => null, - 'path' => null, - 'error' => true - ]); - // $options = ['upload_dir'=>'','upload_url'=>'']; - // new UploadHandler($options); - } - - public function import(Request $request){ - $request->validate([ - 'file' => 'required|max:10000|mimes:xlsx,xls', - ]); - - $path = $request->file('file')->getRealPath(); - - try{ - - if($request->type == 'student') - Excel::import(new StudentsImport, $path); - else if($request->type == 'teacher') - Excel::import(new TeachersImport, $path); - - } catch (\Maatwebsite\Excel\Validators\ValidationException $e) { - $failures = $e->failures(); - - foreach ($failures as $failure) { - $failure->row(); // row that went wrong - $failure->attribute(); // either heading key (if using heading row concern) or column index - $failure->errors(); // Actual error messages from Laravel validator - $failure->values(); // The values of the row that has failed. - } - } - - return back()->with('status', __('Students are added successfully!')); - } - - public function export(Request $request){ - if($request->type == 'student') - return Excel::download(new StudentsExport($request->year), date('Y').'-students.xlsx'); - else if($request->type == 'teacher') - return Excel::download(new TeachersExport($request->year), date('Y').'-teachers.xlsx'); - } -} diff --git a/app/Http/Controllers/UploadHandler.php b/app/Http/Controllers/UploadHandler.php deleted file mode 100755 index 147baaf21..000000000 --- a/app/Http/Controllers/UploadHandler.php +++ /dev/null @@ -1,1413 +0,0 @@ - 'The uploaded file exceeds the upload_max_filesize directive in php.ini', - 2 => 'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form', - 3 => 'The uploaded file was only partially uploaded', - 4 => 'No file was uploaded', - 6 => 'Missing a temporary folder', - 7 => 'Failed to write file to disk', - 8 => 'A PHP extension stopped the file upload', - 'post_max_size' => 'The uploaded file exceeds the post_max_size directive in php.ini', - 'max_file_size' => 'File is too big', - 'min_file_size' => 'File is too small', - 'accept_file_types' => 'Filetype not allowed', - 'max_number_of_files' => 'Maximum number of files exceeded', - 'max_width' => 'Image exceeds maximum width', - 'min_width' => 'Image requires a minimum width', - 'max_height' => 'Image exceeds maximum height', - 'min_height' => 'Image requires a minimum height', - 'abort' => 'File upload aborted', - 'image_resize' => 'Failed to resize image' - ); - - protected $image_objects = array(); - - public function __construct($options = null, $initialize = true, $error_messages = null) { - $this->response = array(); - $this->options = array( - 'script_url' => $this->get_full_url().'/'.$this->basename($this->get_server_var('SCRIPT_NAME')), - 'upload_dir' => dirname($this->get_server_var('SCRIPT_FILENAME')).'/files/', - 'upload_url' => $this->get_full_url().'/files/', - 'input_stream' => 'php://input', - 'user_dirs' => false, - 'mkdir_mode' => 0755, - 'param_name' => 'files', - // Set the following option to 'POST', if your server does not support - // DELETE requests. This is a parameter sent to the client: - 'delete_type' => 'DELETE', - 'access_control_allow_origin' => '*', - 'access_control_allow_credentials' => false, - 'access_control_allow_methods' => array( - 'OPTIONS', - 'HEAD', - 'GET', - 'POST', - 'PUT', - 'PATCH', - 'DELETE' - ), - 'access_control_allow_headers' => array( - 'Content-Type', - 'Content-Range', - 'Content-Disposition' - ), - // By default, allow redirects to the referer protocol+host: - 'redirect_allow_target' => '/^'.preg_quote( - parse_url($this->get_server_var('HTTP_REFERER'), PHP_URL_SCHEME) - .'://' - .parse_url($this->get_server_var('HTTP_REFERER'), PHP_URL_HOST) - .'/', // Trailing slash to not match subdomains by mistake - '/' // preg_quote delimiter param - ).'/', - // Enable to provide file downloads via GET requests to the PHP script: - // 1. Set to 1 to download files via readfile method through PHP - // 2. Set to 2 to send a X-Sendfile header for lighttpd/Apache - // 3. Set to 3 to send a X-Accel-Redirect header for nginx - // If set to 2 or 3, adjust the upload_url option to the base path of - // the redirect parameter, e.g. '/files/'. - 'download_via_php' => false, - // Read files in chunks to avoid memory limits when download_via_php - // is enabled, set to 0 to disable chunked reading of files: - 'readfile_chunk_size' => 10 * 1024 * 1024, // 10 MiB - // Defines which files can be displayed inline when downloaded: - 'inline_file_types' => '/\.(gif|jpe?g|png)$/i', - // Defines which files (based on their names) are accepted for upload: - 'accept_file_types' => '/.+$/i', - // The php.ini settings upload_max_filesize and post_max_size - // take precedence over the following max_file_size setting: - 'max_file_size' => null, - 'min_file_size' => 1, - // The maximum number of files for the upload directory: - 'max_number_of_files' => null, - // Defines which files are handled as image files: - 'image_file_types' => '/\.(gif|jpe?g|png)$/i', - // Use exif_imagetype on all files to correct file extensions: - 'correct_image_extensions' => false, - // Image resolution restrictions: - 'max_width' => null, - 'max_height' => null, - 'min_width' => 1, - 'min_height' => 1, - // Set the following option to false to enable resumable uploads: - 'discard_aborted_uploads' => true, - // Set to 0 to use the GD library to scale and orient images, - // set to 1 to use imagick (if installed, falls back to GD), - // set to 2 to use the ImageMagick convert binary directly: - 'image_library' => 1, - // Uncomment the following to define an array of resource limits - // for imagick: - /* - 'imagick_resource_limits' => array( - imagick::RESOURCETYPE_MAP => 32, - imagick::RESOURCETYPE_MEMORY => 32 - ), - */ - // Command or path for to the ImageMagick convert binary: - 'convert_bin' => 'convert', - // Uncomment the following to add parameters in front of each - // ImageMagick convert call (the limit constraints seem only - // to have an effect if put in front): - /* - 'convert_params' => '-limit memory 32MiB -limit map 32MiB', - */ - // Command or path for to the ImageMagick identify binary: - 'identify_bin' => 'identify', - 'image_versions' => array( - // The empty image version key defines options for the original image. - // Keep in mind: these image manipulations are inherited by all other image versions from this point onwards. - // Also note that the property 'no_cache' is not inherited, since it's not a manipulation. - '' => array( - // Automatically rotate images based on EXIF meta data: - 'auto_orient' => true - ), - // You can add arrays to generate different versions. - // The name of the key is the name of the version (example: 'medium'). - // the array contains the options to apply. - /* - 'medium' => array( - 'max_width' => 800, - 'max_height' => 600 - ), - */ - 'thumbnail' => array( - // Uncomment the following to use a defined directory for the thumbnails - // instead of a subdirectory based on the version identifier. - // Make sure that this directory doesn't allow execution of files if you - // don't pose any restrictions on the type of uploaded files, e.g. by - // copying the .htaccess file from the files directory for Apache: - //'upload_dir' => dirname($this->get_server_var('SCRIPT_FILENAME')).'/thumb/', - //'upload_url' => $this->get_full_url().'/thumb/', - // Uncomment the following to force the max - // dimensions and e.g. create square thumbnails: - // 'auto_orient' => true, - // 'crop' => true, - // 'jpeg_quality' => 70, - // 'no_cache' => true, (there's a caching option, but this remembers thumbnail sizes from a previous action!) - // 'strip' => true, (this strips EXIF tags, such as geolocation) - 'max_width' => 80, // either specify width, or set to 0. Then width is automatically adjusted - keeping aspect ratio to a specified max_height. - 'max_height' => 80 // either specify height, or set to 0. Then height is automatically adjusted - keeping aspect ratio to a specified max_width. - ) - ), - 'print_response' => true - ); - if ($options) { - $this->options = $options + $this->options; - } - if ($error_messages) { - $this->error_messages = $error_messages + $this->error_messages; - } - if ($initialize) { - $this->initialize(); - } - } - - protected function initialize() { - switch ($this->get_server_var('REQUEST_METHOD')) { - case 'OPTIONS': - case 'HEAD': - $this->head(); - break; - case 'GET': - $this->get($this->options['print_response']); - break; - case 'PATCH': - case 'PUT': - case 'POST': - $this->post($this->options['print_response']); - break; - case 'DELETE': - $this->delete($this->options['print_response']); - break; - default: - $this->header('HTTP/1.1 405 Method Not Allowed'); - } - } - - protected function get_full_url() { - $https = !empty($_SERVER['HTTPS']) && strcasecmp($_SERVER['HTTPS'], 'on') === 0 || - !empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && - strcasecmp($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') === 0; - return - ($https ? 'https://' : 'http://'). - (!empty($_SERVER['REMOTE_USER']) ? $_SERVER['REMOTE_USER'].'@' : ''). - (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : ($_SERVER['SERVER_NAME']. - ($https && $_SERVER['SERVER_PORT'] === 443 || - $_SERVER['SERVER_PORT'] === 80 ? '' : ':'.$_SERVER['SERVER_PORT']))). - substr($_SERVER['SCRIPT_NAME'],0, strrpos($_SERVER['SCRIPT_NAME'], '/')); - } - - protected function get_user_id() { - @session_start(); - return session_id(); - } - - protected function get_user_path() { - if ($this->options['user_dirs']) { - return $this->get_user_id().'/'; - } - return ''; - } - - protected function get_upload_path($file_name = null, $version = null) { - $file_name = $file_name ? $file_name : ''; - if (empty($version)) { - $version_path = ''; - } else { - $version_dir = @$this->options['image_versions'][$version]['upload_dir']; - if ($version_dir) { - return $version_dir.$this->get_user_path().$file_name; - } - $version_path = $version.'/'; - } - return $this->options['upload_dir'].$this->get_user_path() - .$version_path.$file_name; - } - - protected function get_query_separator($url) { - return strpos($url, '?') === false ? '?' : '&'; - } - - protected function get_download_url($file_name, $version = null, $direct = false) { - if (!$direct && $this->options['download_via_php']) { - $url = $this->options['script_url'] - .$this->get_query_separator($this->options['script_url']) - .$this->get_singular_param_name() - .'='.rawurlencode($file_name); - if ($version) { - $url .= '&version='.rawurlencode($version); - } - return $url.'&download=1'; - } - if (empty($version)) { - $version_path = ''; - } else { - $version_url = @$this->options['image_versions'][$version]['upload_url']; - if ($version_url) { - return $version_url.$this->get_user_path().rawurlencode($file_name); - } - $version_path = rawurlencode($version).'/'; - } - return $this->options['upload_url'].$this->get_user_path() - .$version_path.rawurlencode($file_name); - } - - protected function set_additional_file_properties($file) { - $file->deleteUrl = $this->options['script_url'] - .$this->get_query_separator($this->options['script_url']) - .$this->get_singular_param_name() - .'='.rawurlencode($file->name); - $file->deleteType = $this->options['delete_type']; - if ($file->deleteType !== 'DELETE') { - $file->deleteUrl .= '&_method=DELETE'; - } - if ($this->options['access_control_allow_credentials']) { - $file->deleteWithCredentials = true; - } - } - - // Fix for overflowing signed 32 bit integers, - // works for sizes up to 2^32-1 bytes (4 GiB - 1): - protected function fix_integer_overflow($size) { - if ($size < 0) { - $size += 2.0 * (PHP_INT_MAX + 1); - } - return $size; - } - - protected function get_file_size($file_path, $clear_stat_cache = false) { - if ($clear_stat_cache) { - if (version_compare(PHP_VERSION, '5.3.0') >= 0) { - clearstatcache(true, $file_path); - } else { - clearstatcache(); - } - } - return $this->fix_integer_overflow(filesize($file_path)); - } - - protected function is_valid_file_object($file_name) { - $file_path = $this->get_upload_path($file_name); - if (is_file($file_path) && $file_name[0] !== '.') { - return true; - } - return false; - } - - protected function get_file_object($file_name) { - if ($this->is_valid_file_object($file_name)) { - $file = new \stdClass(); - $file->name = $file_name; - $file->size = $this->get_file_size( - $this->get_upload_path($file_name) - ); - $file->url = $this->get_download_url($file->name); - foreach ($this->options['image_versions'] as $version => $options) { - if (!empty($version)) { - if (is_file($this->get_upload_path($file_name, $version))) { - $file->{$version.'Url'} = $this->get_download_url( - $file->name, - $version - ); - } - } - } - $this->set_additional_file_properties($file); - return $file; - } - return null; - } - - protected function get_file_objects($iteration_method = 'get_file_object') { - $upload_dir = $this->get_upload_path(); - if (!is_dir($upload_dir)) { - return array(); - } - return array_values(array_filter(array_map( - array($this, $iteration_method), - scandir($upload_dir) - ))); - } - - protected function count_file_objects() { - return count($this->get_file_objects('is_valid_file_object')); - } - - protected function get_error_message($error) { - return isset($this->error_messages[$error]) ? - $this->error_messages[$error] : $error; - } - - public function get_config_bytes($val) { - $val = trim($val); - $last = strtolower($val[strlen($val)-1]); - $val = (int)$val; - switch ($last) { - case 'g': - $val *= 1024; - case 'm': - $val *= 1024; - case 'k': - $val *= 1024; - } - return $this->fix_integer_overflow($val); - } - - protected function validate($uploaded_file, $file, $error, $index) { - if ($error) { - $file->error = $this->get_error_message($error); - return false; - } - $content_length = $this->fix_integer_overflow( - (int)$this->get_server_var('CONTENT_LENGTH') - ); - $post_max_size = $this->get_config_bytes(ini_get('post_max_size')); - if ($post_max_size && ($content_length > $post_max_size)) { - $file->error = $this->get_error_message('post_max_size'); - return false; - } - if (!preg_match($this->options['accept_file_types'], $file->name)) { - $file->error = $this->get_error_message('accept_file_types'); - return false; - } - if ($uploaded_file && is_uploaded_file($uploaded_file)) { - $file_size = $this->get_file_size($uploaded_file); - } else { - $file_size = $content_length; - } - if ($this->options['max_file_size'] && ( - $file_size > $this->options['max_file_size'] || - $file->size > $this->options['max_file_size']) - ) { - $file->error = $this->get_error_message('max_file_size'); - return false; - } - if ($this->options['min_file_size'] && - $file_size < $this->options['min_file_size']) { - $file->error = $this->get_error_message('min_file_size'); - return false; - } - if (is_int($this->options['max_number_of_files']) && - ($this->count_file_objects() >= $this->options['max_number_of_files']) && - // Ignore additional chunks of existing files: - !is_file($this->get_upload_path($file->name))) { - $file->error = $this->get_error_message('max_number_of_files'); - return false; - } - $max_width = @$this->options['max_width']; - $max_height = @$this->options['max_height']; - $min_width = @$this->options['min_width']; - $min_height = @$this->options['min_height']; - if (($max_width || $max_height || $min_width || $min_height) - && preg_match($this->options['image_file_types'], $file->name)) { - list($img_width, $img_height) = $this->get_image_size($uploaded_file); - - // If we are auto rotating the image by default, do the checks on - // the correct orientation - if ( - @$this->options['image_versions']['']['auto_orient'] && - function_exists('exif_read_data') && - ($exif = @exif_read_data($uploaded_file)) && - (((int) @$exif['Orientation']) >= 5) - ) { - $tmp = $img_width; - $img_width = $img_height; - $img_height = $tmp; - unset($tmp); - } - - } - if (!empty($img_width)) { - if ($max_width && $img_width > $max_width) { - $file->error = $this->get_error_message('max_width'); - return false; - } - if ($max_height && $img_height > $max_height) { - $file->error = $this->get_error_message('max_height'); - return false; - } - if ($min_width && $img_width < $min_width) { - $file->error = $this->get_error_message('min_width'); - return false; - } - if ($min_height && $img_height < $min_height) { - $file->error = $this->get_error_message('min_height'); - return false; - } - } - return true; - } - - protected function upcount_name_callback($matches) { - $index = isset($matches[1]) ? ((int)$matches[1]) + 1 : 1; - $ext = isset($matches[2]) ? $matches[2] : ''; - return ' ('.$index.')'.$ext; - } - - protected function upcount_name($name) { - return preg_replace_callback( - '/(?:(?: \(([\d]+)\))?(\.[^.]+))?$/', - array($this, 'upcount_name_callback'), - $name, - 1 - ); - } - - protected function get_unique_filename($file_path, $name, $size, $type, $error, - $index, $content_range) { - while(is_dir($this->get_upload_path($name))) { - $name = $this->upcount_name($name); - } - // Keep an existing filename if this is part of a chunked upload: - $uploaded_bytes = $this->fix_integer_overflow((int)$content_range[1]); - while (is_file($this->get_upload_path($name))) { - if ($uploaded_bytes === $this->get_file_size( - $this->get_upload_path($name))) { - break; - } - $name = $this->upcount_name($name); - } - return $name; - } - - protected function fix_file_extension($file_path, $name, $size, $type, $error, - $index, $content_range) { - // Add missing file extension for known image types: - if (strpos($name, '.') === false && - preg_match('/^image\/(gif|jpe?g|png)/', $type, $matches)) { - $name .= '.'.$matches[1]; - } - if ($this->options['correct_image_extensions'] && - function_exists('exif_imagetype')) { - switch (@exif_imagetype($file_path)){ - case IMAGETYPE_JPEG: - $extensions = array('jpg', 'jpeg'); - break; - case IMAGETYPE_PNG: - $extensions = array('png'); - break; - case IMAGETYPE_GIF: - $extensions = array('gif'); - break; - } - // Adjust incorrect image file extensions: - if (!empty($extensions)) { - $parts = explode('.', $name); - $extIndex = count($parts) - 1; - $ext = strtolower(@$parts[$extIndex]); - if (!in_array($ext, $extensions)) { - $parts[$extIndex] = $extensions[0]; - $name = implode('.', $parts); - } - } - } - return $name; - } - - protected function trim_file_name($file_path, $name, $size, $type, $error, - $index, $content_range) { - // Remove path information and dots around the filename, to prevent uploading - // into different directories or replacing hidden system files. - // Also remove control characters and spaces (\x00..\x20) around the filename: - $name = trim($this->basename(stripslashes($name)), ".\x00..\x20"); - // Use a timestamp for empty filenames: - if (!$name) { - $name = str_replace('.', '-', microtime(true)); - } - return $name; - } - - protected function get_file_name($file_path, $name, $size, $type, $error, - $index, $content_range) { - $name = $this->trim_file_name($file_path, $name, $size, $type, $error, - $index, $content_range); - return $this->get_unique_filename( - $file_path, - $this->fix_file_extension($file_path, $name, $size, $type, $error, - $index, $content_range), - $size, - $type, - $error, - $index, - $content_range - ); - } - - protected function get_scaled_image_file_paths($file_name, $version) { - $file_path = $this->get_upload_path($file_name); - if (!empty($version)) { - $version_dir = $this->get_upload_path(null, $version); - if (!is_dir($version_dir)) { - mkdir($version_dir, $this->options['mkdir_mode'], true); - } - $new_file_path = $version_dir.'/'.$file_name; - } else { - $new_file_path = $file_path; - } - return array($file_path, $new_file_path); - } - - protected function gd_get_image_object($file_path, $func, $no_cache = false) { - if (empty($this->image_objects[$file_path]) || $no_cache) { - $this->gd_destroy_image_object($file_path); - $this->image_objects[$file_path] = $func($file_path); - } - return $this->image_objects[$file_path]; - } - - protected function gd_set_image_object($file_path, $image) { - $this->gd_destroy_image_object($file_path); - $this->image_objects[$file_path] = $image; - } - - protected function gd_destroy_image_object($file_path) { - $image = (isset($this->image_objects[$file_path])) ? $this->image_objects[$file_path] : null ; - return $image && imagedestroy($image); - } - - protected function gd_imageflip($image, $mode) { - if (function_exists('imageflip')) { - return imageflip($image, $mode); - } - $new_width = $src_width = imagesx($image); - $new_height = $src_height = imagesy($image); - $new_img = imagecreatetruecolor($new_width, $new_height); - $src_x = 0; - $src_y = 0; - switch ($mode) { - case '1': // flip on the horizontal axis - $src_y = $new_height - 1; - $src_height = -$new_height; - break; - case '2': // flip on the vertical axis - $src_x = $new_width - 1; - $src_width = -$new_width; - break; - case '3': // flip on both axes - $src_y = $new_height - 1; - $src_height = -$new_height; - $src_x = $new_width - 1; - $src_width = -$new_width; - break; - default: - return $image; - } - imagecopyresampled( - $new_img, - $image, - 0, - 0, - $src_x, - $src_y, - $new_width, - $new_height, - $src_width, - $src_height - ); - return $new_img; - } - - protected function gd_orient_image($file_path, $src_img) { - if (!function_exists('exif_read_data')) { - return false; - } - $exif = @exif_read_data($file_path); - if ($exif === false) { - return false; - } - $orientation = (int)@$exif['Orientation']; - if ($orientation < 2 || $orientation > 8) { - return false; - } - switch ($orientation) { - case 2: - $new_img = $this->gd_imageflip( - $src_img, - defined('IMG_FLIP_VERTICAL') ? IMG_FLIP_VERTICAL : 2 - ); - break; - case 3: - $new_img = imagerotate($src_img, 180, 0); - break; - case 4: - $new_img = $this->gd_imageflip( - $src_img, - defined('IMG_FLIP_HORIZONTAL') ? IMG_FLIP_HORIZONTAL : 1 - ); - break; - case 5: - $tmp_img = $this->gd_imageflip( - $src_img, - defined('IMG_FLIP_HORIZONTAL') ? IMG_FLIP_HORIZONTAL : 1 - ); - $new_img = imagerotate($tmp_img, 270, 0); - imagedestroy($tmp_img); - break; - case 6: - $new_img = imagerotate($src_img, 270, 0); - break; - case 7: - $tmp_img = $this->gd_imageflip( - $src_img, - defined('IMG_FLIP_VERTICAL') ? IMG_FLIP_VERTICAL : 2 - ); - $new_img = imagerotate($tmp_img, 270, 0); - imagedestroy($tmp_img); - break; - case 8: - $new_img = imagerotate($src_img, 90, 0); - break; - default: - return false; - } - $this->gd_set_image_object($file_path, $new_img); - return true; - } - - protected function gd_create_scaled_image($file_name, $version, $options) { - if (!function_exists('imagecreatetruecolor')) { - error_log('Function not found: imagecreatetruecolor'); - return false; - } - list($file_path, $new_file_path) = - $this->get_scaled_image_file_paths($file_name, $version); - $type = strtolower(substr(strrchr($file_name, '.'), 1)); - switch ($type) { - case 'jpg': - case 'jpeg': - $src_func = 'imagecreatefromjpeg'; - $write_func = 'imagejpeg'; - $image_quality = isset($options['jpeg_quality']) ? - $options['jpeg_quality'] : 75; - break; - case 'gif': - $src_func = 'imagecreatefromgif'; - $write_func = 'imagegif'; - $image_quality = null; - break; - case 'png': - $src_func = 'imagecreatefrompng'; - $write_func = 'imagepng'; - $image_quality = isset($options['png_quality']) ? - $options['png_quality'] : 9; - break; - default: - return false; - } - $src_img = $this->gd_get_image_object( - $file_path, - $src_func, - !empty($options['no_cache']) - ); - $image_oriented = false; - if (!empty($options['auto_orient']) && $this->gd_orient_image( - $file_path, - $src_img - )) { - $image_oriented = true; - $src_img = $this->gd_get_image_object( - $file_path, - $src_func - ); - } - $max_width = $img_width = imagesx($src_img); - $max_height = $img_height = imagesy($src_img); - if (!empty($options['max_width'])) { - $max_width = $options['max_width']; - } - if (!empty($options['max_height'])) { - $max_height = $options['max_height']; - } - $scale = min( - $max_width / $img_width, - $max_height / $img_height - ); - if ($scale >= 1) { - if ($image_oriented) { - return $write_func($src_img, $new_file_path, $image_quality); - } - if ($file_path !== $new_file_path) { - return copy($file_path, $new_file_path); - } - return true; - } - if (empty($options['crop'])) { - $new_width = $img_width * $scale; - $new_height = $img_height * $scale; - $dst_x = 0; - $dst_y = 0; - $new_img = imagecreatetruecolor($new_width, $new_height); - } else { - if (($img_width / $img_height) >= ($max_width / $max_height)) { - $new_width = $img_width / ($img_height / $max_height); - $new_height = $max_height; - } else { - $new_width = $max_width; - $new_height = $img_height / ($img_width / $max_width); - } - $dst_x = 0 - ($new_width - $max_width) / 2; - $dst_y = 0 - ($new_height - $max_height) / 2; - $new_img = imagecreatetruecolor($max_width, $max_height); - } - // Handle transparency in GIF and PNG images: - switch ($type) { - case 'gif': - case 'png': - imagecolortransparent($new_img, imagecolorallocate($new_img, 0, 0, 0)); - case 'png': - imagealphablending($new_img, false); - imagesavealpha($new_img, true); - break; - } - $success = imagecopyresampled( - $new_img, - $src_img, - $dst_x, - $dst_y, - 0, - 0, - $new_width, - $new_height, - $img_width, - $img_height - ) && $write_func($new_img, $new_file_path, $image_quality); - $this->gd_set_image_object($file_path, $new_img); - return $success; - } - - protected function imagick_get_image_object($file_path, $no_cache = false) { - if (empty($this->image_objects[$file_path]) || $no_cache) { - $this->imagick_destroy_image_object($file_path); - $image = new \Imagick(); - if (!empty($this->options['imagick_resource_limits'])) { - foreach ($this->options['imagick_resource_limits'] as $type => $limit) { - $image->setResourceLimit($type, $limit); - } - } - $image->readImage($file_path); - $this->image_objects[$file_path] = $image; - } - return $this->image_objects[$file_path]; - } - - protected function imagick_set_image_object($file_path, $image) { - $this->imagick_destroy_image_object($file_path); - $this->image_objects[$file_path] = $image; - } - - protected function imagick_destroy_image_object($file_path) { - $image = (isset($this->image_objects[$file_path])) ? $this->image_objects[$file_path] : null ; - return $image && $image->destroy(); - } - - protected function imagick_orient_image($image) { - $orientation = $image->getImageOrientation(); - $background = new \ImagickPixel('none'); - switch ($orientation) { - case \imagick::ORIENTATION_TOPRIGHT: // 2 - $image->flopImage(); // horizontal flop around y-axis - break; - case \imagick::ORIENTATION_BOTTOMRIGHT: // 3 - $image->rotateImage($background, 180); - break; - case \imagick::ORIENTATION_BOTTOMLEFT: // 4 - $image->flipImage(); // vertical flip around x-axis - break; - case \imagick::ORIENTATION_LEFTTOP: // 5 - $image->flopImage(); // horizontal flop around y-axis - $image->rotateImage($background, 270); - break; - case \imagick::ORIENTATION_RIGHTTOP: // 6 - $image->rotateImage($background, 90); - break; - case \imagick::ORIENTATION_RIGHTBOTTOM: // 7 - $image->flipImage(); // vertical flip around x-axis - $image->rotateImage($background, 270); - break; - case \imagick::ORIENTATION_LEFTBOTTOM: // 8 - $image->rotateImage($background, 270); - break; - default: - return false; - } - $image->setImageOrientation(\imagick::ORIENTATION_TOPLEFT); // 1 - return true; - } - - protected function imagick_create_scaled_image($file_name, $version, $options) { - list($file_path, $new_file_path) = - $this->get_scaled_image_file_paths($file_name, $version); - $image = $this->imagick_get_image_object( - $file_path, - !empty($options['crop']) || !empty($options['no_cache']) - ); - if ($image->getImageFormat() === 'GIF') { - // Handle animated GIFs: - $images = $image->coalesceImages(); - foreach ($images as $frame) { - $image = $frame; - $this->imagick_set_image_object($file_name, $image); - break; - } - } - $image_oriented = false; - if (!empty($options['auto_orient'])) { - $image_oriented = $this->imagick_orient_image($image); - } - - $image_resize = false; - $new_width = $max_width = $img_width = $image->getImageWidth(); - $new_height = $max_height = $img_height = $image->getImageHeight(); - - // use isset(). User might be setting max_width = 0 (auto in regular resizing). Value 0 would be considered empty when you use empty() - if (isset($options['max_width'])) { - $image_resize = true; - $new_width = $max_width = $options['max_width']; - } - if (isset($options['max_height'])) { - $image_resize = true; - $new_height = $max_height = $options['max_height']; - } - - $image_strip = (isset($options['strip']) ? $options['strip'] : false); - - if ( !$image_oriented && ($max_width >= $img_width) && ($max_height >= $img_height) && !$image_strip && empty($options["jpeg_quality"]) ) { - if ($file_path !== $new_file_path) { - return copy($file_path, $new_file_path); - } - return true; - } - $crop = (isset($options['crop']) ? $options['crop'] : false); - - if ($crop) { - $x = 0; - $y = 0; - if (($img_width / $img_height) >= ($max_width / $max_height)) { - $new_width = 0; // Enables proportional scaling based on max_height - $x = ($img_width / ($img_height / $max_height) - $max_width) / 2; - } else { - $new_height = 0; // Enables proportional scaling based on max_width - $y = ($img_height / ($img_width / $max_width) - $max_height) / 2; - } - } - $success = $image->resizeImage( - $new_width, - $new_height, - isset($options['filter']) ? $options['filter'] : \imagick::FILTER_LANCZOS, - isset($options['blur']) ? $options['blur'] : 1, - $new_width && $new_height // fit image into constraints if not to be cropped - ); - if ($success && $crop) { - $success = $image->cropImage( - $max_width, - $max_height, - $x, - $y - ); - if ($success) { - $success = $image->setImagePage($max_width, $max_height, 0, 0); - } - } - $type = strtolower(substr(strrchr($file_name, '.'), 1)); - switch ($type) { - case 'jpg': - case 'jpeg': - if (!empty($options['jpeg_quality'])) { - $image->setImageCompression(\imagick::COMPRESSION_JPEG); - $image->setImageCompressionQuality($options['jpeg_quality']); - } - break; - } - if ( $image_strip ) { - $image->stripImage(); - } - return $success && $image->writeImage($new_file_path); - } - - protected function imagemagick_create_scaled_image($file_name, $version, $options) { - list($file_path, $new_file_path) = - $this->get_scaled_image_file_paths($file_name, $version); - $resize = @$options['max_width'] - .(empty($options['max_height']) ? '' : 'X'.$options['max_height']); - if (!$resize && empty($options['auto_orient'])) { - if ($file_path !== $new_file_path) { - return copy($file_path, $new_file_path); - } - return true; - } - $cmd = $this->options['convert_bin']; - if (!empty($this->options['convert_params'])) { - $cmd .= ' '.$this->options['convert_params']; - } - $cmd .= ' '.escapeshellarg($file_path); - if (!empty($options['auto_orient'])) { - $cmd .= ' -auto-orient'; - } - if ($resize) { - // Handle animated GIFs: - $cmd .= ' -coalesce'; - if (empty($options['crop'])) { - $cmd .= ' -resize '.escapeshellarg($resize.'>'); - } else { - $cmd .= ' -resize '.escapeshellarg($resize.'^'); - $cmd .= ' -gravity center'; - $cmd .= ' -crop '.escapeshellarg($resize.'+0+0'); - } - // Make sure the page dimensions are correct (fixes offsets of animated GIFs): - $cmd .= ' +repage'; - } - if (!empty($options['convert_params'])) { - $cmd .= ' '.$options['convert_params']; - } - $cmd .= ' '.escapeshellarg($new_file_path); - exec($cmd, $output, $error); - if ($error) { - error_log(implode('\n', $output)); - return false; - } - return true; - } - - protected function get_image_size($file_path) { - if ($this->options['image_library']) { - if (extension_loaded('imagick')) { - $image = new \Imagick(); - try { - if (@$image->pingImage($file_path)) { - $dimensions = array($image->getImageWidth(), $image->getImageHeight()); - $image->destroy(); - return $dimensions; - } - return false; - } catch (\Exception $e) { - error_log($e->getMessage()); - } - } - if ($this->options['image_library'] === 2) { - $cmd = $this->options['identify_bin']; - $cmd .= ' -ping '.escapeshellarg($file_path); - exec($cmd, $output, $error); - if (!$error && !empty($output)) { - // image.jpg JPEG 1920x1080 1920x1080+0+0 8-bit sRGB 465KB 0.000u 0:00.000 - $infos = preg_split('/\s+/', substr($output[0], strlen($file_path))); - $dimensions = preg_split('/x/', $infos[2]); - return $dimensions; - } - return false; - } - } - if (!function_exists('getimagesize')) { - error_log('Function not found: getimagesize'); - return false; - } - return @getimagesize($file_path); - } - - protected function create_scaled_image($file_name, $version, $options) { - if ($this->options['image_library'] === 2) { - return $this->imagemagick_create_scaled_image($file_name, $version, $options); - } - if ($this->options['image_library'] && extension_loaded('imagick')) { - return $this->imagick_create_scaled_image($file_name, $version, $options); - } - return $this->gd_create_scaled_image($file_name, $version, $options); - } - - protected function destroy_image_object($file_path) { - if ($this->options['image_library'] && extension_loaded('imagick')) { - return $this->imagick_destroy_image_object($file_path); - } - } - - protected function is_valid_image_file($file_path) { - if (!preg_match($this->options['image_file_types'], $file_path)) { - return false; - } - if (function_exists('exif_imagetype')) { - return @exif_imagetype($file_path); - } - $image_info = $this->get_image_size($file_path); - return $image_info && $image_info[0] && $image_info[1]; - } - - protected function handle_image_file($file_path, $file) { - $failed_versions = array(); - foreach ($this->options['image_versions'] as $version => $options) { - if ($this->create_scaled_image($file->name, $version, $options)) { - if (!empty($version)) { - $file->{$version.'Url'} = $this->get_download_url( - $file->name, - $version - ); - } else { - $file->size = $this->get_file_size($file_path, true); - } - } else { - $failed_versions[] = $version ? $version : 'original'; - } - } - if (count($failed_versions)) { - $file->error = $this->get_error_message('image_resize') - .' ('.implode($failed_versions, ', ').')'; - } - // Free memory: - $this->destroy_image_object($file_path); - } - - protected function handle_file_upload($uploaded_file, $name, $size, $type, $error, - $index = null, $content_range = null) { - $file = new \stdClass(); - $file->name = $this->get_file_name($uploaded_file, $name, $size, $type, $error, - $index, $content_range); - $file->size = $this->fix_integer_overflow((int)$size); - $file->type = $type; - if ($this->validate($uploaded_file, $file, $error, $index)) { - $this->handle_form_data($file, $index); - $upload_dir = $this->get_upload_path(); - if (!is_dir($upload_dir)) { - mkdir($upload_dir, $this->options['mkdir_mode'], true); - } - $file_path = $this->get_upload_path($file->name); - $append_file = $content_range && is_file($file_path) && - $file->size > $this->get_file_size($file_path); - if ($uploaded_file && is_uploaded_file($uploaded_file)) { - // multipart/formdata uploads (POST method uploads) - if ($append_file) { - file_put_contents( - $file_path, - fopen($uploaded_file, 'r'), - FILE_APPEND - ); - } else { - move_uploaded_file($uploaded_file, $file_path); - } - } else { - // Non-multipart uploads (PUT method support) - file_put_contents( - $file_path, - fopen($this->options['input_stream'], 'r'), - $append_file ? FILE_APPEND : 0 - ); - } - $file_size = $this->get_file_size($file_path, $append_file); - if ($file_size === $file->size) { - $file->url = $this->get_download_url($file->name); - if ($this->is_valid_image_file($file_path)) { - $this->handle_image_file($file_path, $file); - } - } else { - $file->size = $file_size; - if (!$content_range && $this->options['discard_aborted_uploads']) { - unlink($file_path); - $file->error = $this->get_error_message('abort'); - } - } - $this->set_additional_file_properties($file); - } - return $file; - } - - protected function readfile($file_path) { - $file_size = $this->get_file_size($file_path); - $chunk_size = $this->options['readfile_chunk_size']; - if ($chunk_size && $file_size > $chunk_size) { - $handle = fopen($file_path, 'rb'); - while (!feof($handle)) { - echo fread($handle, $chunk_size); - @ob_flush(); - @flush(); - } - fclose($handle); - return $file_size; - } - return readfile($file_path); - } - - protected function body($str) { - echo $str; - } - - protected function header($str) { - header($str); - } - - protected function get_upload_data($id) { - return @$_FILES[$id]; - } - - protected function get_post_param($id) { - return @$_POST[$id]; - } - - protected function get_query_param($id) { - return @$_GET[$id]; - } - - protected function get_server_var($id) { - return @$_SERVER[$id]; - } - - protected function handle_form_data($file, $index) { - // Handle form data, e.g. $_POST['description'][$index] - } - - protected function get_version_param() { - return $this->basename(stripslashes($this->get_query_param('version'))); - } - - protected function get_singular_param_name() { - return substr($this->options['param_name'], 0, -1); - } - - protected function get_file_name_param() { - $name = $this->get_singular_param_name(); - return $this->basename(stripslashes($this->get_query_param($name))); - } - - protected function get_file_names_params() { - $params = $this->get_query_param($this->options['param_name']); - if (!$params) { - return null; - } - foreach ($params as $key => $value) { - $params[$key] = $this->basename(stripslashes($value)); - } - return $params; - } - - protected function get_file_type($file_path) { - switch (strtolower(pathinfo($file_path, PATHINFO_EXTENSION))) { - case 'jpeg': - case 'jpg': - return 'image/jpeg'; - case 'png': - return 'image/png'; - case 'gif': - return 'image/gif'; - default: - return ''; - } - } - - protected function download() { - switch ($this->options['download_via_php']) { - case 1: - $redirect_header = null; - break; - case 2: - $redirect_header = 'X-Sendfile'; - break; - case 3: - $redirect_header = 'X-Accel-Redirect'; - break; - default: - return $this->header('HTTP/1.1 403 Forbidden'); - } - $file_name = $this->get_file_name_param(); - if (!$this->is_valid_file_object($file_name)) { - return $this->header('HTTP/1.1 404 Not Found'); - } - if ($redirect_header) { - return $this->header( - $redirect_header.': '.$this->get_download_url( - $file_name, - $this->get_version_param(), - true - ) - ); - } - $file_path = $this->get_upload_path($file_name, $this->get_version_param()); - // Prevent browsers from MIME-sniffing the content-type: - $this->header('X-Content-Type-Options: nosniff'); - if (!preg_match($this->options['inline_file_types'], $file_name)) { - $this->header('Content-Type: application/octet-stream'); - $this->header('Content-Disposition: attachment; filename="'.$file_name.'"'); - } else { - $this->header('Content-Type: '.$this->get_file_type($file_path)); - $this->header('Content-Disposition: inline; filename="'.$file_name.'"'); - } - $this->header('Content-Length: '.$this->get_file_size($file_path)); - $this->header('Last-Modified: '.gmdate('D, d M Y H:i:s T', filemtime($file_path))); - $this->readfile($file_path); - } - - protected function send_content_type_header() { - $this->header('Vary: Accept'); - if (strpos($this->get_server_var('HTTP_ACCEPT'), 'application/json') !== false) { - $this->header('Content-type: application/json'); - } else { - $this->header('Content-type: text/plain'); - } - } - - protected function send_access_control_headers() { - $this->header('Access-Control-Allow-Origin: '.$this->options['access_control_allow_origin']); - $this->header('Access-Control-Allow-Credentials: ' - .($this->options['access_control_allow_credentials'] ? 'true' : 'false')); - $this->header('Access-Control-Allow-Methods: ' - .implode(', ', $this->options['access_control_allow_methods'])); - $this->header('Access-Control-Allow-Headers: ' - .implode(', ', $this->options['access_control_allow_headers'])); - } - - public function generate_response($content, $print_response = true) { - $this->response = $content; - if ($print_response) { - $json = json_encode($content); - $redirect = stripslashes($this->get_post_param('redirect')); - if ($redirect && preg_match($this->options['redirect_allow_target'], $redirect)) { - $this->header('Location: '.sprintf($redirect, rawurlencode($json))); - return; - } - $this->head(); - if ($this->get_server_var('HTTP_CONTENT_RANGE')) { - $files = isset($content[$this->options['param_name']]) ? - $content[$this->options['param_name']] : null; - if ($files && is_array($files) && is_object($files[0]) && $files[0]->size) { - $this->header('Range: 0-'.( - $this->fix_integer_overflow((int)$files[0]->size) - 1 - )); - } - } - $this->body($json); - } - return $content; - } - - public function get_response () { - return $this->response; - } - - public function head() { - $this->header('Pragma: no-cache'); - $this->header('Cache-Control: no-store, no-cache, must-revalidate'); - $this->header('Content-Disposition: inline; filename="files.json"'); - // Prevent Internet Explorer from MIME-sniffing the content-type: - $this->header('X-Content-Type-Options: nosniff'); - if ($this->options['access_control_allow_origin']) { - $this->send_access_control_headers(); - } - $this->send_content_type_header(); - } - - public function get($print_response = true) { - if ($print_response && $this->get_query_param('download')) { - return $this->download(); - } - $file_name = $this->get_file_name_param(); - if ($file_name) { - $response = array( - $this->get_singular_param_name() => $this->get_file_object($file_name) - ); - } else { - $response = array( - $this->options['param_name'] => $this->get_file_objects() - ); - } - return $this->generate_response($response, $print_response); - } - - public function post($print_response = true) { - if ($this->get_query_param('_method') === 'DELETE') { - return $this->delete($print_response); - } - $upload = $this->get_upload_data($this->options['param_name']); - // Parse the Content-Disposition header, if available: - $content_disposition_header = $this->get_server_var('HTTP_CONTENT_DISPOSITION'); - $file_name = $content_disposition_header ? - rawurldecode(preg_replace( - '/(^[^"]+")|("$)/', - '', - $content_disposition_header - )) : null; - // Parse the Content-Range header, which has the following form: - // Content-Range: bytes 0-524287/2000000 - $content_range_header = $this->get_server_var('HTTP_CONTENT_RANGE'); - $content_range = $content_range_header ? - preg_split('/[^0-9]+/', $content_range_header) : null; - $size = $content_range ? $content_range[3] : null; - $files = array(); - if ($upload) { - if (is_array($upload['tmp_name'])) { - // param_name is an array identifier like "files[]", - // $upload is a multi-dimensional array: - foreach ($upload['tmp_name'] as $index => $value) { - $files[] = $this->handle_file_upload( - $upload['tmp_name'][$index], - $file_name ? $file_name : $upload['name'][$index], - $size ? $size : $upload['size'][$index], - $upload['type'][$index], - $upload['error'][$index], - $index, - $content_range - ); - } - } else { - // param_name is a single object identifier like "file", - // $upload is a one-dimensional array: - $files[] = $this->handle_file_upload( - isset($upload['tmp_name']) ? $upload['tmp_name'] : null, - $file_name ? $file_name : (isset($upload['name']) ? - $upload['name'] : null), - $size ? $size : (isset($upload['size']) ? - $upload['size'] : $this->get_server_var('CONTENT_LENGTH')), - isset($upload['type']) ? - $upload['type'] : $this->get_server_var('CONTENT_TYPE'), - isset($upload['error']) ? $upload['error'] : null, - null, - $content_range - ); - } - } - $response = array($this->options['param_name'] => $files); - return $this->generate_response($response, $print_response); - } - - public function delete($print_response = true) { - $file_names = $this->get_file_names_params(); - if (empty($file_names)) { - $file_names = array($this->get_file_name_param()); - } - $response = array(); - foreach ($file_names as $file_name) { - $file_path = $this->get_upload_path($file_name); - $success = is_file($file_path) && $file_name[0] !== '.' && unlink($file_path); - if ($success) { - foreach ($this->options['image_versions'] as $version => $options) { - if (!empty($version)) { - $file = $this->get_upload_path($file_name, $version); - if (is_file($file)) { - unlink($file); - } - } - } - } - $response[$file_name] = $success; - } - return $this->generate_response($response, $print_response); - } - - protected function basename($filepath, $suffix = null) { - $splited = preg_split('/\//', rtrim ($filepath, '/ ')); - return substr(basename('X'.$splited[count($splited)-1], $suffix), 1); - } -} diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php deleted file mode 100755 index ea67757fc..000000000 --- a/app/Http/Controllers/UserController.php +++ /dev/null @@ -1,429 +0,0 @@ -userService = $userService; - $this->user = $user; - } - /** - * Display a listing of the resource. - * - * @param $school_code - * @param $student_code - * @param $teacher_code - * @return \Illuminate\Http\Response - */ - public function index($school_code, $student_code, $teacher_code){ - session()->forget('section-attendance'); - - if($this->userService->isListOfStudents($school_code, $student_code)) - return $this->userService->indexView('list.student-list', $this->userService->getStudents()); - else if($this->userService->isListOfTeachers($school_code, $teacher_code)) - return $this->userService->indexView('list.teacher-list',$this->userService->getTeachers()); - else - return view('home'); - } - - /** - * @param $school_code - * @param $role - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View - */ - public function indexOther($school_code, $role){ - if($this->userService->isAccountant($role)) - return $this->userService->indexOtherView('accounts.accountant-list', $this->userService->getAccountants()); - else if($this->userService->isLibrarian($role)) - return $this->userService->indexOtherView('library.librarian-list', $this->userService->getLibrarians()); - else - return view('home'); - } - - /** - * @return \Illuminate\Http\RedirectResponse - */ - public function redirectToRegisterStudent() - { - $classes = Myclass::query() - ->bySchool(\Auth::user()->school->id) - ->pluck('id'); - - $sections = Section::with('class') - ->whereIn('class_id', $classes) - ->get(); - - session([ - 'register_role' => 'student', - 'register_sections' => $sections, - ]); - - return redirect()->route('register'); - } - - /** - * @param $section_id - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View - */ - public function sectionStudents($section_id) - { - $students = $this->userService->getSectionStudentsWithSchool($section_id); - - return view('profile.section-students', compact('students')); - } - - /** - * @param $section_id - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View - */ - public function promoteSectionStudents(Request $request, $section_id) - { - if($this->userService->hasSectionId($section_id)) - return $this->userService->promoteSectionStudentsView( - $this->userService->getSectionStudentsWithStudentInfo($request, $section_id), - Myclass::with('sections')->bySchool(\Auth::user()->school_id)->get(), - $section_id - ); - else - return $this->userService->promoteSectionStudentsView([], [], $section_id); - } - - /** - * @param Request $request - * @return \Illuminate\Http\RedirectResponse - */ - public function promoteSectionStudentsPost(Request $request) - { - return $this->userService->promoteSectionStudentsPost($request); - } - - /** - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View - */ - public function changePasswordGet() - { - return view('profile.change-password'); - } - - /** - * @param ChangePasswordRequest $request - * @return \Illuminate\Http\RedirectResponse - */ - public function changePasswordPost(ChangePasswordRequest $request) - { - if (Hash::check($request->old_password, Auth::user()->password)) { - $request->user()->fill([ - 'password' => Hash::make($request->new_password), - ])->save(); - - return back()->with('status', __('Saved')); - } - - return back()->with('error-status', __('Passwords do not match.')); - } - - /** - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View - */ - public function impersonateGet() - { - if (app('impersonate')->isImpersonating()) { - Auth::user()->leaveImpersonation(); - return (Auth::user()->role == 'master')?redirect('/masters') : redirect('/home'); - } - else { - return view('profile.impersonate', [ - 'other_users' => $this->user->where('id', '!=', auth()->id())->get([ 'id', 'name', 'role' ]) - ]); - } - } - - /** - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View - */ - public function impersonate(ImpersonateUserRequest $request) - { - $user = $this->user->find($request->id); - Auth::user()->impersonate($user); - return redirect('/home'); - } - - /** - * Store a newly created resource in storage. - * - * @param CreateUserRequest $request - * - * @return \Illuminate\Http\Response - */ - public function store(CreateUserRequest $request) - { - DB::transaction(function () use ($request) { - $password = $request->password; - $tb = $this->userService->storeStudent($request); - try { - // Fire event to store Student information - if(event(new StudentInfoUpdateRequested($request,$tb->id))){ - // Fire event to send welcome email - event(new UserRegistered($tb, $password)); - } else { - throw new \Exeception('Event returned false'); - } - } catch(\Exception $ex) { - Log::info('Email failed to send to this address: '.$tb->email.'\n'.$ex->getMessage()); - } - }); - - return back()->with('status', __('Saved')); - } - - /** - * @param CreateAdminRequest $request - * @return \Illuminate\Http\RedirectResponse - */ - public function storeAdmin(CreateAdminRequest $request) - { - $password = $request->password; - $tb = $this->userService->storeAdmin($request); - try { - // Fire event to send welcome email - // event(new userRegistered($userObject, $plain_password)); // $plain_password(optional) - event(new UserRegistered($tb, $password)); - } catch(\Exception $ex) { - Log::info('Email failed to send to this address: '.$tb->email); - } - - return back()->with('status', __('Saved')); - } - - /** - * @param CreateTeacherRequest $request - * @return \Illuminate\Http\RedirectResponse - */ - public function storeTeacher(CreateTeacherRequest $request) - { - $password = $request->password; - $tb = $this->userService->storeStaff($request, 'teacher'); - try { - // Fire event to send welcome email - event(new UserRegistered($tb, $password)); - } catch(\Exception $ex) { - Log::info('Email failed to send to this address: '.$tb->email); - } - - return back()->with('status', __('Saved')); - } - - /** - * @param CreateAccountantRequest $request - * @return \Illuminate\Http\RedirectResponse - */ - public function storeAccountant(CreateAccountantRequest $request) - { - $password = $request->password; - $tb = $this->userService->storeStaff($request, 'accountant'); - try { - // Fire event to send welcome email - event(new UserRegistered($tb, $password)); - } catch(\Exception $ex) { - Log::info('Email failed to send to this address: '.$tb->email); - } - - return back()->with('status', __('Saved')); - } - - /** - * @param CreateLibrarianRequest $request - * @return \Illuminate\Http\RedirectResponse - */ - public function storeLibrarian(CreateLibrarianRequest $request) - { - $password = $request->password; - $tb = $this->userService->storeStaff($request, 'librarian'); - try { - // Fire event to send welcome email - event(new UserRegistered($tb, $password)); - } catch(\Exception $ex) { - Log::info('Email failed to send to this address: '.$tb->email); - } - - return back()->with('status', __('Saved')); - } - - /** - * Display the specified resource. - * - * @param int $id - * - * @return UserResource - */ - public function show($user_code) - { - $user = $this->userService->getUserByUserCode($user_code); - - return view('profile.user', compact('user')); - } - - /** - * Show the form for editing the specified resource. - * - * @param int $id - * - * @return \Illuminate\Http\Response - */ - public function edit($id) - { - $user = $this->user->find($id); - - $classes = Myclass::query() - ->bySchool($user->school_id) - ->pluck('id') - ->toArray(); - - $sections = Section::query() - ->whereIn('class_id', $classes) - ->get(); - - $departments = Department::query() - ->bySchool($user->school_id) - ->get(); - - return view('profile.edit', [ - 'user' => $user, - 'sections' => $sections, - 'departments' => $departments, - ]); - } - - /** - * Update the specified resource in storage. - * - * @param UpdateUserRequest $request - * @return \Illuminate\Http\Response - */ - public function update(UpdateUserRequest $request) - { - - DB::transaction(function () use ($request) { - $tb = $this->user->find($request->user_id); - $tb->name = $request->name; - $tb->email = (!empty($request->email)) ? $request->email : ''; - $tb->nationality = (!empty($request->nationality)) ? $request->nationality : ''; - $tb->phone_number = $request->phone_number; - $tb->address = (!empty($request->address)) ? $request->address : ''; - $tb->about = (!empty($request->about)) ? $request->about : ''; - if (!empty($request->pic_path)) { - $tb->pic_path = $request->pic_path; - } - if ($request->user_role == 'teacher') { - $tb->department_id = $request->department_id; - $tb->section_id = $request->class_teacher_section_id; - } - if ($tb->save()) { - if ($request->user_role == 'student') { - // $request->validate([ - // 'session' => 'required', - // 'version' => 'required', - // 'birthday' => 'required', - // 'religion' => 'required', - // 'father_name' => 'required', - // 'mother_name' => 'required', - // ]); - try{ - // Fire event to store Student information - event(new StudentInfoUpdateRequested($request,$tb->id)); - } catch(\Exception $ex) { - Log::info('Failed to update Student information, Id: '.$tb->id. 'err:'.$ex->getMessage()); - } - } - } - }); - - return back()->with('status', __('Saved')); - } - - /** - * Activate admin - * @param Request $request - * @return \Illuminate\Http\RedirectResponse - */ - public function activateAdmin(Request $request) - { - $admin = $this->user->find($request->id); - - if ($admin->active !== 0) { - $admin->active = 0; - } else { - $admin->active = 1; - } - - $admin->save(); - - return back()->with('status', __('Saved')); - } - - /** - * Deactivate admin - * @param Request $request - * @return \Illuminate\Http\RedirectResponse - */ - public function deactivateAdmin(Request $request) - { - $admin = $this->user->find($request->id); - - if ($admin->active !== 1) { - $admin->active = 1; - } else { - $admin->active = 0; - } - - $admin->save(); - - return back()->with('status', __('Saved')); - } - - /** - * Remove the specified resource from storage. - * - * @param int $id - * - * @return void - */ - public function destroy($id) - { - // return ($this->user->destroy($id))?response()->json([ - // 'status' => 'success' - // ]):response()->json([ - // 'status' => 'error' - // ]); - } -} diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php deleted file mode 100755 index 243fc1ecc..000000000 --- a/app/Http/Kernel.php +++ /dev/null @@ -1,76 +0,0 @@ - [ - \App\Http\Middleware\EncryptCookies::class, - \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, - \Illuminate\Session\Middleware\StartSession::class, - // \Illuminate\Session\Middleware\AuthenticateSession::class, - \Illuminate\View\Middleware\ShareErrorsFromSession::class, - \App\Http\Middleware\VerifyCsrfToken::class, - \Illuminate\Routing\Middleware\SubstituteBindings::class, - ], - - 'api' => [ - 'throttle:60,1', - 'bindings', - ], - ]; - - /** - * The application's route middleware. - * - * These middleware may be assigned to groups or used individually. - * - * @var array - */ - protected $routeMiddleware = [ - 'auth' => \Illuminate\Auth\Middleware\Authenticate::class, - 'master' => \App\Http\Middleware\CheckMaster::class, - 'master.admin' => \App\Http\Middleware\CheckMasterOrAdmin::class, - 'teacher.student' => \App\Http\Middleware\CheckTeacherOrStudent::class, - 'admin' => \App\Http\Middleware\CheckAdmin::class, - 'accountant' => \App\Http\Middleware\CheckAccountant::class, - 'librarian' => \App\Http\Middleware\CheckLibrarian::class, - 'student' => \App\Http\Middleware\CheckStudent::class, - 'teacher' => \App\Http\Middleware\CheckTeacher::class, - 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, - 'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class, - 'can' => \Illuminate\Auth\Middleware\Authorize::class, - 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, - 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, - ]; -} diff --git a/app/Http/Middleware/CheckAccountant.php b/app/Http/Middleware/CheckAccountant.php deleted file mode 100755 index dc4b23c87..000000000 --- a/app/Http/Middleware/CheckAccountant.php +++ /dev/null @@ -1,24 +0,0 @@ -hasRole('accountant') || $user->hasRole('admin')) { - return $next($request); - } - return redirect('home'); - } -} diff --git a/app/Http/Middleware/CheckAdmin.php b/app/Http/Middleware/CheckAdmin.php deleted file mode 100755 index f41e2ca89..000000000 --- a/app/Http/Middleware/CheckAdmin.php +++ /dev/null @@ -1,23 +0,0 @@ -hasRole('admin')) { - return $next($request); - } - return redirect('home'); - } -} diff --git a/app/Http/Middleware/CheckLibrarian.php b/app/Http/Middleware/CheckLibrarian.php deleted file mode 100755 index ed3199535..000000000 --- a/app/Http/Middleware/CheckLibrarian.php +++ /dev/null @@ -1,24 +0,0 @@ -hasRole('librarian') || $user->hasRole('admin')) { - return $next($request); - } - return redirect('home'); - } -} diff --git a/app/Http/Middleware/CheckMaster.php b/app/Http/Middleware/CheckMaster.php deleted file mode 100755 index 89fce999a..000000000 --- a/app/Http/Middleware/CheckMaster.php +++ /dev/null @@ -1,23 +0,0 @@ -hasRole('master')) { - return $next($request); - } - return redirect('home'); - } -} diff --git a/app/Http/Middleware/CheckMasterOrAdmin.php b/app/Http/Middleware/CheckMasterOrAdmin.php deleted file mode 100755 index c0e7c87aa..000000000 --- a/app/Http/Middleware/CheckMasterOrAdmin.php +++ /dev/null @@ -1,24 +0,0 @@ -hasRole('master') || $user->hasRole('admin')) { - return $next($request); - } - return redirect('home'); - } -} diff --git a/app/Http/Middleware/CheckStudent.php b/app/Http/Middleware/CheckStudent.php deleted file mode 100755 index d948ac281..000000000 --- a/app/Http/Middleware/CheckStudent.php +++ /dev/null @@ -1,24 +0,0 @@ -hasRole('student') || $user->hasRole('admin')) { - return $next($request); - } - return redirect('home'); - } -} diff --git a/app/Http/Middleware/CheckTeacher.php b/app/Http/Middleware/CheckTeacher.php deleted file mode 100755 index c9c14967c..000000000 --- a/app/Http/Middleware/CheckTeacher.php +++ /dev/null @@ -1,24 +0,0 @@ -hasRole('teacher') || $user->hasRole('admin')) { - return $next($request); - } - return redirect('home'); - } -} diff --git a/app/Http/Middleware/CheckTeacherOrStudent.php b/app/Http/Middleware/CheckTeacherOrStudent.php deleted file mode 100755 index 5a552cb3f..000000000 --- a/app/Http/Middleware/CheckTeacherOrStudent.php +++ /dev/null @@ -1,24 +0,0 @@ -hasRole('teacher') || $user->hasRole('student') || $user->hasRole('admin')) { - return $next($request); - } - return redirect('home'); - } -} diff --git a/app/Http/Middleware/EncryptCookies.php b/app/Http/Middleware/EncryptCookies.php deleted file mode 100755 index 033136ad1..000000000 --- a/app/Http/Middleware/EncryptCookies.php +++ /dev/null @@ -1,17 +0,0 @@ -check()) { - return redirect('/home'); - } - - return $next($request); - } -} diff --git a/app/Http/Middleware/TrimStrings.php b/app/Http/Middleware/TrimStrings.php deleted file mode 100755 index 5a50e7b5c..000000000 --- a/app/Http/Middleware/TrimStrings.php +++ /dev/null @@ -1,18 +0,0 @@ - 'required|string', - 'amount' => 'required|numeric', - 'description' => 'required', - ]; - } -} diff --git a/app/Http/Requests/Account/StoreSectorRequest.php b/app/Http/Requests/Account/StoreSectorRequest.php deleted file mode 100755 index 55b2b667b..000000000 --- a/app/Http/Requests/Account/StoreSectorRequest.php +++ /dev/null @@ -1,31 +0,0 @@ - 'sometimes|required|string', - 'type' => 'sometimes|required|string', - ]; - } -} diff --git a/app/Http/Requests/Account/UpdateAccountRequest.php b/app/Http/Requests/Account/UpdateAccountRequest.php deleted file mode 100755 index 444bd2c32..000000000 --- a/app/Http/Requests/Account/UpdateAccountRequest.php +++ /dev/null @@ -1,31 +0,0 @@ - 'required|string', - 'amount' => 'required|numeric', - ]; - } -} diff --git a/app/Http/Requests/Attendance/StoreAttendanceRequest.php b/app/Http/Requests/Attendance/StoreAttendanceRequest.php deleted file mode 100755 index 5132055e4..000000000 --- a/app/Http/Requests/Attendance/StoreAttendanceRequest.php +++ /dev/null @@ -1,35 +0,0 @@ - 'required|array', - 'attendances' => 'required|array', - 'section_id' => 'required', - 'exam_id' => 'required', - 'update' => 'required', - 'isPresent*' => 'required', - ]; - } -} diff --git a/app/Http/Requests/Course/SaveConfigurationRequest.php b/app/Http/Requests/Course/SaveConfigurationRequest.php deleted file mode 100755 index 03138589f..000000000 --- a/app/Http/Requests/Course/SaveConfigurationRequest.php +++ /dev/null @@ -1,45 +0,0 @@ - 'required|string', - 'quiz_count' => 'required|numeric|min:0|max:5', - 'assignment_count' => 'required|numeric|min:0|max:3', - 'ct_count' => 'required|numeric|min:0|max:5', - 'quiz_percent' => 'required|numeric|min:0|max:100', - 'attendance_percent' => 'required|numeric|min:0|max:100', - 'assignment_percent' => 'required|numeric|min:0|max:100', - 'ct_percent' => 'required|numeric|min:0|max:100', - 'final_exam_percent' => 'required|numeric|min:0|max:100', - 'practical_percent' => 'required|numeric|min:0|max:100', - 'att_fullmark' => 'required|numeric|min:0|max:100', - 'quiz_fullmark' => 'required|numeric|min:0|max:100', - 'a_fullmark' => 'required|numeric|min:0|max:100', - 'ct_fullmark' => 'required|numeric|min:0|max:100', - 'final_fullmark' => 'required|numeric|min:0|max:100', - 'practical_fullmark' => 'required|numeric|min:0|max:100', - ]; - } -} diff --git a/app/Http/Requests/Exam/CreateExamRequest.php b/app/Http/Requests/Exam/CreateExamRequest.php deleted file mode 100755 index ff18556e8..000000000 --- a/app/Http/Requests/Exam/CreateExamRequest.php +++ /dev/null @@ -1,33 +0,0 @@ - 'required|string', - 'term' => 'required|string', - 'start_date' => 'required|string', - 'end_date' => 'required|string', - ]; - } -} diff --git a/app/Http/Requests/Grade/CalculateMarksRequest.php b/app/Http/Requests/Grade/CalculateMarksRequest.php deleted file mode 100755 index 2672efb37..000000000 --- a/app/Http/Requests/Grade/CalculateMarksRequest.php +++ /dev/null @@ -1,34 +0,0 @@ - 'required|numeric', - 'grade_system_name' => 'required|string', - 'exam_id' => 'required|numeric', - 'course_id' => 'required|numeric', - 'section_id' => 'required|numeric', - ]; - } -} diff --git a/app/Http/Requests/Library/BookRequest.php b/app/Http/Requests/Library/BookRequest.php deleted file mode 100755 index cf2d590ee..000000000 --- a/app/Http/Requests/Library/BookRequest.php +++ /dev/null @@ -1,47 +0,0 @@ - 'required', - 'book_code' => 'required', - 'author' => 'required', - 'quantity' => 'required', - 'rackNo' => 'required', - 'rowNo' => 'required', - 'type' => 'required', - 'about' => 'required', - 'price' => 'required', - 'img_path' => 'required', - 'class_id' => 'required', - ]; - - /** - * Validate 'book_code' only when a new Book is created. - */ - if ($this->getMethod() == 'POST') $rules['book_code'] .= '|unique:books,book_code'; - - return $rules; - } -} diff --git a/app/Http/Requests/SchoolRequest.php b/app/Http/Requests/SchoolRequest.php deleted file mode 100755 index d0484231d..000000000 --- a/app/Http/Requests/SchoolRequest.php +++ /dev/null @@ -1,33 +0,0 @@ - 'required|string|max:255', - 'medium' => 'required', - 'about' => 'required', - 'established' => 'required', - ]; - } -} diff --git a/app/Http/Requests/User/ChangePasswordRequest.php b/app/Http/Requests/User/ChangePasswordRequest.php deleted file mode 100755 index 9a6c37c59..000000000 --- a/app/Http/Requests/User/ChangePasswordRequest.php +++ /dev/null @@ -1,35 +0,0 @@ - 'required|min:6', - 'new_password' => 'required|min:6', - ]; - } -} diff --git a/app/Http/Requests/User/CreateAccountantRequest.php b/app/Http/Requests/User/CreateAccountantRequest.php deleted file mode 100755 index 111fef910..000000000 --- a/app/Http/Requests/User/CreateAccountantRequest.php +++ /dev/null @@ -1,39 +0,0 @@ - 'required|string|max:255', - 'password' => 'required|string|min:6|confirmed', - 'gender' => 'required', - 'blood_group' => 'required', - 'phone_number' => 'required|unique:users', - 'email' => 'sometimes|email|max:255|unique:users', - ]; - } -} diff --git a/app/Http/Requests/User/CreateAdminRequest.php b/app/Http/Requests/User/CreateAdminRequest.php deleted file mode 100755 index eb379de6a..000000000 --- a/app/Http/Requests/User/CreateAdminRequest.php +++ /dev/null @@ -1,39 +0,0 @@ - 'required|string|max:255', - 'password' => 'required|string|min:6|confirmed', - 'gender' => 'required', - 'blood_group' => 'required', - 'phone_number' => 'required|unique:users', - 'email' => 'email|max:255|unique:users', - ]; - } -} diff --git a/app/Http/Requests/User/CreateLibrarianRequest.php b/app/Http/Requests/User/CreateLibrarianRequest.php deleted file mode 100755 index a33785d55..000000000 --- a/app/Http/Requests/User/CreateLibrarianRequest.php +++ /dev/null @@ -1,39 +0,0 @@ - 'required|string|max:255', - 'email' => 'sometimes|email|max:255|unique:users', - 'password' => 'required|string|min:6|confirmed', - 'gender' => 'required', - 'blood_group' => 'required', - 'phone_number' => 'required|unique:users', - ]; - } -} diff --git a/app/Http/Requests/User/CreateTeacherRequest.php b/app/Http/Requests/User/CreateTeacherRequest.php deleted file mode 100755 index 9497202b1..000000000 --- a/app/Http/Requests/User/CreateTeacherRequest.php +++ /dev/null @@ -1,40 +0,0 @@ - 'required|string|max:255', - 'email' => 'sometimes|email|max:255|unique:users', - 'password' => 'required|string|min:6|confirmed', - 'gender' => 'required', - 'blood_group' => 'required', - 'department_id' => 'required|numeric', - 'phone_number' => 'required|unique:users', - ]; - } -} diff --git a/app/Http/Requests/User/CreateUserRequest.php b/app/Http/Requests/User/CreateUserRequest.php deleted file mode 100755 index 7cee5fc6f..000000000 --- a/app/Http/Requests/User/CreateUserRequest.php +++ /dev/null @@ -1,48 +0,0 @@ - 'required|string|max:255', - 'email' => 'sometimes|email|max:255|unique:users', - 'password' => 'required|string|min:6|confirmed', - 'section' => 'required|numeric', - 'gender' => 'required|string', - 'blood_group' => 'required|string', - 'nationality' => 'required|string', - 'father_name' => 'required|string', - 'mother_name' => 'required|string', - 'phone_number' => 'required|string|unique:users', - 'address' => 'required|string', - 'session' => 'required', - 'version' => 'required', - 'birthday' => 'required', - 'religion' => 'required|string', - ]; - } -} diff --git a/app/Http/Requests/User/ImpersonateUserRequest.php b/app/Http/Requests/User/ImpersonateUserRequest.php deleted file mode 100755 index 064f4949a..000000000 --- a/app/Http/Requests/User/ImpersonateUserRequest.php +++ /dev/null @@ -1,34 +0,0 @@ - 'required|numeric|exists:users,id' - ]; - } -} diff --git a/app/Http/Requests/User/UpdateUserRequest.php b/app/Http/Requests/User/UpdateUserRequest.php deleted file mode 100755 index fc32a7b07..000000000 --- a/app/Http/Requests/User/UpdateUserRequest.php +++ /dev/null @@ -1,44 +0,0 @@ - 'required|numeric', - 'email' => 'required|email|max:255|' . Rule::unique('users')->ignore($this->get('user_id')), - 'name' => 'required|string|max:255', - 'phone_number' => 'required|string|' . Rule::unique('users')->ignore($this->get('user_id')), - ]; - - if ($this->get('user_role') == 'teacher') { - $rules['department_id'] = 'required|numeric'; - } - - return $rules; - } -} diff --git a/app/Http/Resources/AttendanceResource.php b/app/Http/Resources/AttendanceResource.php deleted file mode 100755 index 2158bbd42..000000000 --- a/app/Http/Resources/AttendanceResource.php +++ /dev/null @@ -1,25 +0,0 @@ - $this->id, - 'present' => $this->present, - 'created_at' => (string) $this->created_at, - 'student' => new UserResource($this->student), - //'section' => new SectionResource($this->section) - ]; - } -} diff --git a/app/Http/Resources/BookResource.php b/app/Http/Resources/BookResource.php deleted file mode 100755 index 2e200aa0c..000000000 --- a/app/Http/Resources/BookResource.php +++ /dev/null @@ -1,26 +0,0 @@ - $this->id, - 'course_name' => $this->course_name, - 'img_path' => $this->img_path, - 'about' => $this->about, - 'price' => $this->price, - 'class' => new ClassResource($this->class), - ]; - } -} diff --git a/app/Http/Resources/ClassResource.php b/app/Http/Resources/ClassResource.php deleted file mode 100755 index cd1db214b..000000000 --- a/app/Http/Resources/ClassResource.php +++ /dev/null @@ -1,23 +0,0 @@ - $this->id, - 'class_number' => $this->class_number, - 'school' => new SchoolResource($this->school), - ]; - } -} diff --git a/app/Http/Resources/CourseResource.php b/app/Http/Resources/CourseResource.php deleted file mode 100755 index 45a0d21c4..000000000 --- a/app/Http/Resources/CourseResource.php +++ /dev/null @@ -1,25 +0,0 @@ - $this->id, - 'course_name' => $this->course_name, - 'course_time' => $this->course_time, - 'teacher' => new UserResource($this->teacher), - 'section' => new SectionResource($this->section), - ]; - } -} diff --git a/app/Http/Resources/EventResource.php b/app/Http/Resources/EventResource.php deleted file mode 100755 index ff40805cf..000000000 --- a/app/Http/Resources/EventResource.php +++ /dev/null @@ -1,23 +0,0 @@ - $this->id, - 'description' => $this->description, - 'class' => new ClassResource($this->class), - ]; - } -} diff --git a/app/Http/Resources/FaqResource.php b/app/Http/Resources/FaqResource.php deleted file mode 100755 index a3884bc69..000000000 --- a/app/Http/Resources/FaqResource.php +++ /dev/null @@ -1,23 +0,0 @@ - $this->id, - 'question' => $this->question, - 'answer' => $this->answer, - ]; - } -} diff --git a/app/Http/Resources/FeedbackResource.php b/app/Http/Resources/FeedbackResource.php deleted file mode 100755 index faa89e3a7..000000000 --- a/app/Http/Resources/FeedbackResource.php +++ /dev/null @@ -1,24 +0,0 @@ - $this->id, - 'description' => $this->description, - 'teacher' => new UserResource($this->teacher), - 'student' => new UserResource($this->student), - ]; - } -} diff --git a/app/Http/Resources/FormResource.php b/app/Http/Resources/FormResource.php deleted file mode 100755 index d2c6a4898..000000000 --- a/app/Http/Resources/FormResource.php +++ /dev/null @@ -1,23 +0,0 @@ - $this->id, - 'file_path' => $this->file_path, - 'school' => new SchoolResource($this->school), - ]; - } -} diff --git a/app/Http/Resources/GradeResource.php b/app/Http/Resources/GradeResource.php deleted file mode 100755 index 719229977..000000000 --- a/app/Http/Resources/GradeResource.php +++ /dev/null @@ -1,26 +0,0 @@ - $this->id, - 'marks' => $this->marks, - //'exam_name' => $this->exam_name, - 'course' => new CourseResource($this->course), - 'teacher' => new UserResource($this->teacher), - 'student' => new UserResource($this->student), - ]; - } -} diff --git a/app/Http/Resources/HomeworkResource.php b/app/Http/Resources/HomeworkResource.php deleted file mode 100755 index 6890ba5f7..000000000 --- a/app/Http/Resources/HomeworkResource.php +++ /dev/null @@ -1,25 +0,0 @@ - $this->id, - 'description' => $this->description, - 'file_path' => $this->file_path, - 'section' => new SectionResource($this->section), - 'teacher' => new UserResource($this->teacher), - ]; - } -} diff --git a/app/Http/Resources/MessageResource.php b/app/Http/Resources/MessageResource.php deleted file mode 100755 index d9bad8854..000000000 --- a/app/Http/Resources/MessageResource.php +++ /dev/null @@ -1,25 +0,0 @@ - $this->id, - 'phone_number' => $this->phone_number, - 'email' => $this->email, - 'message' => $this->message, - 'school' => new SchoolResource($this->school), - ]; - } -} diff --git a/app/Http/Resources/NoticeResource.php b/app/Http/Resources/NoticeResource.php deleted file mode 100755 index 2fa2206c7..000000000 --- a/app/Http/Resources/NoticeResource.php +++ /dev/null @@ -1,24 +0,0 @@ - $this->id, - 'file_path' => $this->file_path, - 'description' => $this->description, - 'school' => new SchoolResource($this->school), - ]; - } -} diff --git a/app/Http/Resources/NotificationResource.php b/app/Http/Resources/NotificationResource.php deleted file mode 100755 index 9c789f6a9..000000000 --- a/app/Http/Resources/NotificationResource.php +++ /dev/null @@ -1,23 +0,0 @@ - $this->id, - 'message' => $this->message, - 'student' => new UserResource($this->student), - ]; - } -} diff --git a/app/Http/Resources/RoutineResource.php b/app/Http/Resources/RoutineResource.php deleted file mode 100755 index c6e89c26b..000000000 --- a/app/Http/Resources/RoutineResource.php +++ /dev/null @@ -1,23 +0,0 @@ - $this->id, - 'file_path' => $this->file_path, - 'class' => new ClassResource($this->class), - ]; - } -} diff --git a/app/Http/Resources/SchoolResource.php b/app/Http/Resources/SchoolResource.php deleted file mode 100755 index 713827adb..000000000 --- a/app/Http/Resources/SchoolResource.php +++ /dev/null @@ -1,24 +0,0 @@ - $this->id, - 'name' => $this->name, - 'about' => $this->about, - 'code' => $this->code, - ]; - } -} diff --git a/app/Http/Resources/SectionResource.php b/app/Http/Resources/SectionResource.php deleted file mode 100755 index d6c758d7a..000000000 --- a/app/Http/Resources/SectionResource.php +++ /dev/null @@ -1,24 +0,0 @@ - $this->id, - 'section_number' => $this->section_number, - 'room_number' => $this->room_number, - 'class' => new ClassResource($this->class), - ]; - } -} diff --git a/app/Http/Resources/SyllabusResource.php b/app/Http/Resources/SyllabusResource.php deleted file mode 100755 index 201f1b296..000000000 --- a/app/Http/Resources/SyllabusResource.php +++ /dev/null @@ -1,23 +0,0 @@ - $this->id, - 'file_path' => $this->file_path, - 'class' => new SchoolResource($this->class), - ]; - } -} diff --git a/app/Http/Resources/UserResource.php b/app/Http/Resources/UserResource.php deleted file mode 100755 index bf2a952fa..000000000 --- a/app/Http/Resources/UserResource.php +++ /dev/null @@ -1,34 +0,0 @@ - $this->id, - 'name' => $this->name, - 'role' => $this->role, - 'email' => $this->email, - 'address' => $this->address, - 'about' => $this->about, - 'pic_path' => (!empty($this->pic_path))?$this->pic_path:null, - 'phone_number' => $this->phone_number, - 'school_code' => $this->code, - 'school' => new SchoolResource(\App\School::where('code',$this->code)->first()), - 'student_code' => $this->student_code, - 'section' => new SectionResource($this->section), - 'father_name' => $this->father_name, - 'mother_name' => $this->mother_name, - ]; - } -} diff --git a/app/Http/Traits/GradeTrait.php b/app/Http/Traits/GradeTrait.php deleted file mode 100755 index d387a24ce..000000000 --- a/app/Http/Traits/GradeTrait.php +++ /dev/null @@ -1,76 +0,0 @@ -where('exam_id', $exam_id) - ->count(); - if($countGradeIds < 1){// Not added - // Get student ids of that section - $students = \App\User::where('section_id',$section_id) - ->where('role','student') - ->where('active',1) - ->pluck('id') - ->toArray(); - $grades = Grade::whereIn('student_id',$students) - ->where('course_id',$course_id) - ->where('exam_id',$exam_id) - ->pluck('student_id') - ->toArray(); - - $grade_student_ids = array(); - - foreach($grades as $grade){ - array_push($grade_student_ids, $grade->student_id); - } - - foreach($students as $student_id){ - if(!in_array($student_id,$grade_student_ids)){ - // Put default values - $tb = new Grade; - $tb->gpa = 0; - $tb->marks = 0; - $tb->attendance = 0; - $tb->quiz1 = 0; - $tb->quiz2 = 0; - $tb->quiz3 = 0; - $tb->quiz4 = 0; - $tb->quiz5 = 0; - $tb->ct1 = 0; - $tb->ct2 = 0; - $tb->ct3 = 0; - $tb->ct4 = 0; - $tb->ct5 = 0; - $tb->assignment1 = 0; - $tb->assignment2 = 0; - $tb->assignment3 = 0; - $tb->written = 0; - $tb->mcq = 0; - $tb->practical = 0; - $tb->exam_id = $exam_id; - $tb->student_id = $student_id; - $tb->teacher_id = $teacher_id; - $tb->course_id = $course_id; - $tb->created_at = date('Y-m-d H:i:s'); - $tb->updated_at = date('Y-m-d H:i:s'); - //$tb->user_id = \Auth::user()->id; // User id who is logged in while this command executes - $tbc[] = $tb->attributesToArray(); - } - } - try{ - if(count($tbc) > 0) - // Insert students of that section to give marks later for this course and Examination - Grade::insert($tbc); - return; - }catch(\Exception $e){ - return false; - } - } else {// Added desired course for desired exam - return true; - } - } -} \ No newline at end of file diff --git a/app/Imports/FirstStudentSheetImport.php b/app/Imports/FirstStudentSheetImport.php deleted file mode 100755 index 6b993df99..000000000 --- a/app/Imports/FirstStudentSheetImport.php +++ /dev/null @@ -1,92 +0,0 @@ -getIndex(); - - if($rowIndex >= 200) - return; // Not more than 200 rows at a time - - $row = $row->toArray(); - - $this->class = (string) $row[__('class')]; - $this->section = (string) $row[__('section')]; - - $user = [ - 'name' => $row[__('name')], - 'email' => $row[__('email')], - 'password' => Hash::make($row[__('password')]), - 'active' => 1, - 'role' => 'student', - 'school_id' => auth()->user()->school_id, - 'code' => auth()->user()->code, - 'student_code' => auth()->user()->school_id.date('y').substr(number_format(time() * mt_rand(), 0, '', ''), 0, 5), - 'address' => $row[__('address')], - 'about' => $row[__('about')], - 'pic_path' => '', - 'phone_number' => $row[__('phone_number')], - 'verified' => 1, - 'section_id' => $this->getSectionId(), - 'blood_group' => $row[__('blood_group')], - 'nationality' => $row[__('nationality')], - 'gender' => $row[__('gender')], - ]; - - $tb = create(User::class, $user); - - $student_info = [ - 'student_id' => $tb->id, - 'session' => $row[__('session')] ?? now()->year, - 'version' => $row[__('version')] ?? '', - 'group' => $row[__('group')] ?? '', - 'birthday' => $row[__('birthday')]?? date('Y-m-d'), - 'religion' => $row[__('religion')] ?? '', - 'father_name' => $row[__('father_name')], - 'father_phone_number' => $row[__('father_phone_number')] ?? '', - 'father_national_id' => $row[__('father_national_id')] ?? '', - 'father_occupation' => $row[__('father_occupation')] ?? '', - 'father_designation' => $row[__('father_designation')] ?? '', - 'father_annual_income' => $row[__('father_annual_income')] ?? '', - 'mother_name' => $row[__('mother_name')], - 'mother_phone_number' => $row[__('mother_phone_number')] ?? '', - 'mother_national_id' => $row[__('mother_national_id')] ?? '', - 'mother_occupation' => $row[__('mother_occupation')] ?? '', - 'mother_designation' => $row[__('mother_designation')] ?? '', - 'mother_annual_income' => $row[__('mother_annual_income')] ?? '', - 'user_id' => auth()->user()->id, - ]; - - create(StudentInfo::class, $student_info); - } - - public function getSectionId(){ - if(!empty($this->class) && !empty($this->section)){ - $class_id = Myclass::bySchool(auth()->user()->school_id)->where('class_number', $this->class)->pluck('id')->first(); - - $section = Section::where('class_id', $class_id)->where('section_number', $this->section)->pluck('id')->first(); - - return $section; - } else { - return 0; - } - } -} diff --git a/app/Imports/FirstTeacherSheetImport.php b/app/Imports/FirstTeacherSheetImport.php deleted file mode 100755 index 249665b42..000000000 --- a/app/Imports/FirstTeacherSheetImport.php +++ /dev/null @@ -1,69 +0,0 @@ -class = (string) $row[__('class')]; - $this->section = (string) $row[__('section')]; - $this->department = $row[__('department')]; - - return new User([ - 'name' => $row[__('name')], - 'email' => $row[__('email')], - 'password' => Hash::make($row[__('password')]), - 'active' => 1, - 'role' => 'teacher', - 'school_id' => auth()->user()->school_id, - 'code' => auth()->user()->code, - 'student_code' => auth()->user()->school_id.date('y').substr(number_format(time() * mt_rand(), 0, '', ''), 0, 5), - 'address' => $row[__('address')], - 'about' => $row[__('about')], - 'pic_path' => '', - 'phone_number' => $row[__('phone_number')], - 'verified' => 1, - 'section_id' => $this->getSectionId(),// For assigning as class teacher - 'blood_group' => $row[__('blood_group')] ?? '', - 'nationality' => $row[__('nationality')] ?? '', - 'gender' => $row[__('gender')], - 'department_id' => $this->getDepartmentId(), - ]); - } - - public function getSectionId(){ - if(!empty($this->class) && !empty($this->section)){ - $class_id = Myclass::bySchool(auth()->user()->school_id)->where('class_number', $this->class)->pluck('id')->first(); - - return Section::where('class_id', $class_id)->where('section_number', $this->section)->pluck('id')->first(); - } else { - return 0; - } - } - - public function getDepartmentId(){ - return Department::bySchool(auth()->user()->school_id)->where('department_name',$this->department)->pluck('id')->first(); - } - - public function batchSize(): int - { - return 200; - } -} diff --git a/app/Imports/StudentsImport.php b/app/Imports/StudentsImport.php deleted file mode 100755 index 2d0c1b7ef..000000000 --- a/app/Imports/StudentsImport.php +++ /dev/null @@ -1,15 +0,0 @@ -belongsTo('App\Book'); - } -} diff --git a/app/Listeners/SendWelcomeEmail.php b/app/Listeners/SendWelcomeEmail.php deleted file mode 100755 index d76e0a482..000000000 --- a/app/Listeners/SendWelcomeEmail.php +++ /dev/null @@ -1,33 +0,0 @@ -user)->send(new SendWelcomeEmailToUser($event->user, $event->password)); - } -} diff --git a/app/Listeners/UpdateStudentInfo.php b/app/Listeners/UpdateStudentInfo.php deleted file mode 100755 index d1f06916d..000000000 --- a/app/Listeners/UpdateStudentInfo.php +++ /dev/null @@ -1,39 +0,0 @@ -userService = $userService; - } - - /** - * Handle the event. - * - * @param StudentInfoUpdateRequested $event - * @return void - */ - public function handle(StudentInfoUpdateRequested $event) - { - try{ - $this->userService->updateStudentInfo($event->request,$event->student_id); - return true; - } catch(\Exception $ex) { - Log::info('Failed to update Student information, Id: '.$event->user_id); - return false; - } - } -} diff --git a/app/Mail/SendWelcomeEmailToUser.php b/app/Mail/SendWelcomeEmailToUser.php deleted file mode 100755 index 74bb55ec3..000000000 --- a/app/Mail/SendWelcomeEmailToUser.php +++ /dev/null @@ -1,43 +0,0 @@ -user = $user; - $this->password = $password; - } - - /** - * Build the message. - * - * @return $this - */ - public function build() - { - return $this->subject('Welcome to ' . config('app.name'))->markdown('email.user.welcome') - ->with([ - 'name' => $this->user->name, - 'email' => $this->user->email, - 'password' => $this->password, - ]); - } -} diff --git a/app/Message.php b/app/Message.php deleted file mode 100755 index 086e9192a..000000000 --- a/app/Message.php +++ /dev/null @@ -1,16 +0,0 @@ -belongsTo('App\School'); - } -} diff --git a/app/Model.php b/app/Model.php deleted file mode 100755 index 0aea51afd..000000000 --- a/app/Model.php +++ /dev/null @@ -1,16 +0,0 @@ - where( 'school_id', $school_id ); - } -} diff --git a/app/Myclass.php b/app/Myclass.php deleted file mode 100755 index 584da5f9e..000000000 --- a/app/Myclass.php +++ /dev/null @@ -1,40 +0,0 @@ -belongsTo('App\School'); - } - - public function sections() - { - return $this->hasMany('App\Section','class_id'); - } - - // public function exam() - // { - // return $this->belongsTo('App\ExamForClass'); - // } - - public function books() - { - return $this->hasMany('App\Book','class_id'); - } -} diff --git a/app/Notice.php b/app/Notice.php deleted file mode 100755 index d5913af97..000000000 --- a/app/Notice.php +++ /dev/null @@ -1,16 +0,0 @@ -belongsTo('App\School'); - } -} diff --git a/app/Notification.php b/app/Notification.php deleted file mode 100755 index 6932a8d85..000000000 --- a/app/Notification.php +++ /dev/null @@ -1,23 +0,0 @@ -belongsTo('App\User','student_id'); - } - /** - * Get the student record associated with the user. - */ - public function teacher() - { - return $this->belongsTo('App\User','user_id'); - } -} diff --git a/app/Payment.php b/app/Payment.php deleted file mode 100755 index 4f8ff0b27..000000000 --- a/app/Payment.php +++ /dev/null @@ -1,10 +0,0 @@ -app->environment('local', 'testing')) { - $this->app->register(\Laravel\Dusk\DuskServiceProvider::class); - $this->app->register(\Barryvdh\Debugbar\ServiceProvider::class); - $this->app->register(\Rap2hpoutre\LaravelLogViewer\LaravelLogViewerServiceProvider::class); - } - } -} diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php deleted file mode 100755 index 5ea086523..000000000 --- a/app/Providers/AuthServiceProvider.php +++ /dev/null @@ -1,31 +0,0 @@ - 'App\Policies\ModelPolicy', - ]; - - /** - * Register any authentication / authorization services. - * - * @return void - */ - public function boot() - { - $this->registerPolicies(); - - Passport::routes(); - } -} diff --git a/app/Providers/BroadcastServiceProvider.php b/app/Providers/BroadcastServiceProvider.php deleted file mode 100755 index 352cce44a..000000000 --- a/app/Providers/BroadcastServiceProvider.php +++ /dev/null @@ -1,21 +0,0 @@ - [ - 'App\Listeners\SendWelcomeEmail', - ], - 'App\Events\StudentInfoUpdateRequested' => [ - 'App\Listeners\UpdateStudentInfo', - ], - ]; - - /** - * Register any events for your application. - * - * @return void - */ - public function boot() - { - parent::boot(); - - // - } -} diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php deleted file mode 100755 index bd6ade422..000000000 --- a/app/Providers/RouteServiceProvider.php +++ /dev/null @@ -1,84 +0,0 @@ - '[0-9]+', - 'course_id' => '[0-9]+', - 'exam_id' => '[0-9]+', - 'section_id' => '[0-9]+', - 'student_id' => '[0-9]+', - 'school_code' => '[0-9]+', - 'user_code' => '[0-9]+', - 'id' => '[0-9]+', - 'code' => '[0-9]+', - 'role' => '[a-z]+', - ]); - - parent::boot(); - } - - /** - * Define the routes for the application. - * - * @return void - */ - public function map() - { - $this->mapApiRoutes(); - - $this->mapWebRoutes(); - - // - } - - /** - * Define the "web" routes for the application. - * - * These routes all receive session state, CSRF protection, etc. - * - * @return void - */ - protected function mapWebRoutes() - { - Route::middleware('web') - ->namespace($this->namespace) - ->group(base_path('routes/web.php')); - } - - /** - * Define the "api" routes for the application. - * - * These routes are typically stateless. - * - * @return void - */ - protected function mapApiRoutes() - { - Route::prefix('api') - ->middleware('api') - ->namespace($this->namespace) - ->group(base_path('routes/api.php')); - } -} diff --git a/app/Routine.php b/app/Routine.php deleted file mode 100755 index 9459d5c0b..000000000 --- a/app/Routine.php +++ /dev/null @@ -1,23 +0,0 @@ -belongsTo('App\School'); - } - /** - * Get the Section record associated with the Routine. - */ - public function section() - { - return $this->belongsTo('App\Section'); - } -} diff --git a/app/School.php b/app/School.php deleted file mode 100755 index ed3c76ec3..000000000 --- a/app/School.php +++ /dev/null @@ -1,32 +0,0 @@ -hasMany('App\User'); - } - - public function departments() - { - return $this->hasMany('App\Department'); - } - - public function gradesystems() - { - return $this->hasMany('App\Gradesystem'); - } -} diff --git a/app/Section.php b/app/Section.php deleted file mode 100755 index 3fe5a4d1c..000000000 --- a/app/Section.php +++ /dev/null @@ -1,24 +0,0 @@ -belongsTo('App\Myclass'); - } -} diff --git a/app/Services/Account/AccountService.php b/app/Services/Account/AccountService.php deleted file mode 100755 index c61c0a094..000000000 --- a/app/Services/Account/AccountService.php +++ /dev/null @@ -1,88 +0,0 @@ - user() -> school_id ) -> get(); - } - - public function getAccountsBySchoolId() - { - return Account ::where( 'school_id', auth() -> user() -> school_id ) - -> where( 'type', $this -> account_type ) - -> orderBy( 'id', 'desc' ) - -> take( 50 ) - -> get(); - } - - public function storeSector( $storeData ) - { - AccountSector ::create( [ - 'name' => $storeData['name'], - 'type' => $storeData['type'], - 'school_id' => auth() -> user() -> school_id, - 'user_id' => auth() -> id(), - ] ); - } - - public function updateSector( AccountSector $accountSector, $updateData ) - { - $accountSector -> update( $updateData ); - } - - // public function getClassIds(){ - // return Myclass::where('school_id', \Auth::user()->school_id) - // ->pluck('id'); - // } - // public function getSectionsIds(){ - // $classes = $this->getClassIds()->toArray(); - // return Section::with('class') - // ->whereIn('class_id', $classes) - // ->get(); - // } - // public function getStudentsBySectionIds(){ - // $sections = $this->getSectionsIds(); - // return User::whereIn('section_id',$sections->pluck('id')->toArray()) - // ->get(); - // } - public function storeAccount() - { - $income = new Account(); - $income -> name = $this -> request -> name; - $income -> type = $this -> account_type; - $income -> amount = $this -> request -> amount; - $income -> description = $this -> request -> description; - $income -> school_id = auth() -> user() -> school_id; - $income -> user_id = auth() -> user() -> id; - $income -> save(); - } - - public function getAccountsByYear() - { - return Account ::where( 'school_id', auth() -> user() -> school_id ) - -> where( 'type', $this -> account_type ) - -> whereYear( 'created_at', $this -> request -> year ) - -> get(); - } - - public function updateAccount() - { - $account = Account ::find( $this -> request -> id ); - $account -> amount = $this -> request -> amount; - $account -> description = $this -> request -> description; - $account -> save(); - } -} diff --git a/app/Services/Attendance/AttendanceService.php b/app/Services/Attendance/AttendanceService.php deleted file mode 100755 index 94ed1edc1..000000000 --- a/app/Services/Attendance/AttendanceService.php +++ /dev/null @@ -1,131 +0,0 @@ -select('id','name','student_code','section_id') - ->where('section_id', $section_id) - ->student() - ->where('active', 1) - ->get(); - } - - public function getStudentsWithInfoBySection($section_id){ - return User::with(['section','school','studentInfo']) - ->where('section_id', $section_id) - ->student() - ->where('active', 1) - ->orderBy('name', 'asc') - ->paginate(50); - } - - public function adjustPost($request){ - try{ - for($i=0; $i < count($request->isPresent); $i++){ - $atts[] = [ - 'id' => $request->att_id[$i], - 'present' => isset($request->isPresent[$i])?1:0, - 'updated_at' => date('Y-m-d H:i:s'), - ]; - } - $attTb = new Attendance; - \Batch::update($attTb,(array) $atts,'id'); - return back()->with('status', 'Updated'); - }catch(\Exception $ex){ - return false; - } - } - - public function getTodaysAttendanceBySectionId($section_id){ - return Attendance::where('section_id', $section_id) - ->whereDate('created_at', '=', date('Y-m-d')) - ->orderBy('created_at', 'desc') - ->get() - ->unique('student_id'); - } - - public function getAllAttendanceBySecAndExam($section_id,$exam_id){ - return \DB::table('attendances') - ->select('student_id', \DB::raw(' - COUNT(CASE WHEN present=1 THEN present END) AS totalPresent, - COUNT(CASE WHEN present=0 THEN present END) AS totalAbsent, - COUNT(CASE WHEN present=2 THEN present END) AS totalEscaped' - )) - ->where('section_id', $section_id) - ->where('exam_id', $exam_id) - ->groupBy('student_id') - ->get(); - } - - public function getStudent($student_id){ - return User::with('section') - ->where('id', $student_id) - ->student() - ->where('active', 1) - ->first(); - } - - public function getAbsentAttendanceByStudentAndExam($student_id, $exId){ - return Attendance::with(['student', 'section']) - ->where('student_id', $student_id) - ->where('present',0) - ->where('exam_id', $exId) - ->get(); - } - - public function getAttendanceByStudentAndExam($student_id, $exId){ - return Attendance::with(['student', 'section']) - ->where('student_id', $student_id) - ->where('exam_id', $exId) - ->get(); - } - - public function updateAttendance(){ - $i = 0; - $at = []; - foreach ($this->request->attendances as $key => $attendance) { - $tb = Attendance::find($attendance); - if(count((array) $tb) === 1 && !isset($this->request["isPresent$i"]) && $tb->present == 1){ - // Attended today's class but escaped - $tb->updated_at = date('Y-m-d H:i:s'); - $tb->save(); - // Escape record - $tb2 = new Attendance; - $tb2->student_id = $this->request->students[$i]; - $tb2->section_id = $this->request->section_id; - $tb2->exam_id = $this->request->exam_id; - $tb2->present = 2; - $tb2->user_id = auth()->user()->id; - $tb2->created_at = date('Y-m-d H:i:s'); - $tb2->updated_at = date('Y-m-d H:i:s'); - $at[] = $tb2->attributesToArray(); - } - ++$i; - } - return $at; - } - - public function storeAttendance(){ - $i = 0; - foreach ($this->request->students as $key => $student) { - $tb = new Attendance; - $tb->student_id = $student; - $tb->section_id = $this->request->section_id; - $tb->exam_id = $this->request->exam_id; - $tb->present = isset($this->request["isPresent$i"])?1:0; - $tb->user_id = auth()->user()->id; - $tb->created_at = date('Y-m-d H:i:s'); - $tb->updated_at = date('Y-m-d H:i:s'); - $at[] = $tb->attributesToArray(); - ++$i; - } - Attendance::insert($at); - } -} \ No newline at end of file diff --git a/app/Services/Course/CourseService.php b/app/Services/Course/CourseService.php deleted file mode 100755 index 8218a1665..000000000 --- a/app/Services/Course/CourseService.php +++ /dev/null @@ -1,112 +0,0 @@ -user()->role != 'student' && $teacher_id > 0; - } - - public function isCourseOfStudentOfASection($section_id){ - return auth()->user()->role == 'student' - && $section_id == auth()->user()->section_id - && $section_id > 0; - } - - public function isCourseOfASection($section_id){ - return auth()->user()->role != 'student' && $section_id > 0; - } - - public function getCoursesByTeacher($teacher_id){ - return Course::with(['section', 'teacher','exam']) - ->where('teacher_id', $teacher_id) - ->get(); - } - - public function getExamsBySchoolId(){ - return Exam::where('school_id', auth()->user()->school_id) - ->where('active',1) - ->get(); - } - - public function updateCourseInfo($id, $request){ - $tb = Course::find($id); - $tb->course_name = $request->course_name; - $tb->course_time = $request->course_time; - $tb->save(); - } - - public function getCoursesBySection($section_id){ - return Course::with(['section', 'teacher']) - ->where('section_id', $section_id) - ->get(); - } - - public function getStudentsFromGradeByCourseAndExam($course_id, $exam_id){ - return Grade::with('student') - ->where('course_id', $course_id) - ->where('exam_id',$exam_id) - ->get(); - } - - public function addCourse($request){ - $tb = new Course; - $tb->course_name = $request->course_name; - $tb->class_id = $request->class_id; - $tb->course_type = $request->course_type; - $tb->course_time = $request->course_time; - $tb->section_id = $request->section_id; - $tb->teacher_id = $request->teacher_id; - $tb->grade_system_name = ''; - $tb->quiz_count = 0; - $tb->assignment_count = 0; - $tb->ct_count = 0; - $tb->quiz_percent = 0; - $tb->attendance_percent = 0; - $tb->assignment_percent = 0; - $tb->ct_percent = 0; - $tb->final_exam_percent = 0; - $tb->practical_percent = 0; - $tb->att_fullmark = 0; - $tb->quiz_fullmark = 0; - $tb->a_fullmark = 0; - $tb->ct_fullmark = 0; - $tb->final_fullmark = 0; - $tb->practical_fullmark = 0; - $tb->exam_id = 0; - $tb->school_id = auth()->user()->school_id; - $tb->user_id = auth()->user()->id; // who is creating - // $tb->quiz_percent = $request->quiz_percent; - // $tb->test_percent = $request->test_percent; - // $tb->assignment_percent = $request->assignment_percent; - // $tb->class_work_percent = $request->class_work_percent; - // $tb->final_exam_percent = $request->final_exam_percent; - $tb->save(); - } - - public function saveConfiguration($request){ - $tb = Course::find($request->id); - $tb->grade_system_name = $request->grade_system_name; - $tb->quiz_count = $request->quiz_count; - $tb->assignment_count = $request->assignment_count; - $tb->ct_count = $request->ct_count; - $tb->quiz_percent = $request->quiz_percent; - $tb->attendance_percent = $request->attendance_percent; - $tb->assignment_percent = $request->assignment_percent; - $tb->ct_percent = $request->ct_percent; - $tb->final_exam_percent = $request->final_exam_percent; - $tb->practical_percent = $request->practical_percent; - $tb->att_fullmark = $request->att_fullmark; - $tb->quiz_fullmark = $request->quiz_fullmark; - $tb->a_fullmark = $request->a_fullmark; - $tb->ct_fullmark = $request->ct_fullmark; - $tb->final_fullmark = $request->final_fullmark; - $tb->practical_fullmark = $request->practical_fullmark; - $tb->save(); - } -} \ No newline at end of file diff --git a/app/Services/Exam/ExamService.php b/app/Services/Exam/ExamService.php deleted file mode 100755 index 345fb80d1..000000000 --- a/app/Services/Exam/ExamService.php +++ /dev/null @@ -1,115 +0,0 @@ -user()->school_id) - ->latest() - ->paginate(100); - } - - public function getActiveExamsBySchoolId(){ - return Exam::where('school_id', auth()->user()->school_id) - ->where('active',1) - ->get(); - } - - public function getCoursesByExamIds(){ - return Course::with('class','teacher') - ->whereIn('exam_id', $this->examIds) - ->orderBy('class_id') - ->get(); - } - - public function getClassesBySchoolId(){ - return Myclass::where('school_id',auth()->user()->school->id)->get(); - } - - public function getAlreadyAssignedClasses(){ - $classes = $this->getClassesBySchoolId() - ->pluck('id') - ->toArray(); - return ExamForClass::with('exam') - ->where('active', 1) - ->whereIn('class_id', $classes) - ->get(); - } - - public function createExam(){ - $exam = new Exam; - $exam->exam_name = $this->request->exam_name; - $exam->active = 1; - $exam->term = $this->request->term; - $exam->start_date = $this->request->start_date; - $exam->end_date = $this->request->end_date; - $exam->notice_published = 0; - $exam->result_published = 0; - $exam->school_id = auth()->user()->school_id; - $exam->user_id = auth()->user()->id; - $exam->save(); - return $exam; - } - - public function updateCoursesWithExamId(){ - Course::whereIn('class_id',$this->request->classes)->update([ - 'exam_id' => $this->exam->id - ]); - } - - public function assignClassesToExam(){ - $tc = count($this->request->classes); - $i = 0; - while($i < $tc){ - $examForClass = new ExamForClass; - $examForClass->exam_id = $this->exam->id; - $examForClass->class_id = $this->request->classes[$i]; - $efc[] = $examForClass->attributesToArray(); - ++$i; - } - return $efc; - } - - public function storeExam(){ - \DB::transaction(function () { - $this->exam = $this->createExam(); - - // Assign Exam ID to Classes in Course Table - $this->updateCoursesWithExamId(); - - $efc = $this->assignClassesToExam(); - - if(count($efc) > 0) - ExamForClass::insert($efc); - }, 5); - } - - public function updateExamFields(){ - $tb = Exam::find($this->request->exam_id); - $tb->notice_published = isset($this->request->notice_published)?1:0; - $tb->result_published = isset($this->request->result_published)?1:0; - $tb->active = (isset($this->request->active))?1:0; - $tb->save(); - } - - public function updateExamForClass(){ - if(!isset($this->request->active)){ - ExamForClass::where('exam_id', $this->request->exam_id)->update(['active'=>0]); - } - } - - public function updateExam(){ - \DB::transaction(function () { - $this->updateExamFields(); - $this->updateExamForClass(); - }); - } -} \ No newline at end of file diff --git a/app/Services/Grade/GradeService.php b/app/Services/Grade/GradeService.php deleted file mode 100755 index 6424283f6..000000000 --- a/app/Services/Grade/GradeService.php +++ /dev/null @@ -1,340 +0,0 @@ -user()->role == 'student'; - } - - public function getExamByIdsFromGrades($grades){ - $examIds = $grades->map(function($grade){ - return $grade->exam_id; - }); - $exams = Exam::whereIn('id', $examIds) - ->orderBy('id','desc') - ->get(); - return $exams; - } - - public function getStudentGradesWithInfoCourseTeacherExam($student_id){ - return Grade::with(['student','course','teacher','exam']) - ->where('student_id', $student_id) - ->orderBy('exam_id') - ->latest() - ->get(); - } - - public function getGradeSystemBySchoolId($grades){ - $grade_system_name = isset($grades[0]->course->grade_system_name) ? $grades[0]->course->grade_system_name : false; - return ($grade_system_name)?Gradesystem::where('school_id', auth()->user()->school_id) - ->where('grade_system_name', $grade_system_name) - //->groupBy('grade_system_name') - ->get() : Gradesystem::select('grade_system_name') - ->where('school_id', auth()->user()->school_id) - ->distinct() - ->get(); - } - - public function getGradeSystemByname($grade_system_name){ - return Gradesystem::where('school_id', auth()->user()->school_id) - ->where('grade_system_name', $grade_system_name) - ->get(); - } - - public function gradeIndexView($view){ - return view($view,[ - 'grades' => $this->grades, - 'gradesystems' => $this->gradesystems, - 'exams' => $this->exams, - ]); - } - - public function getGradeSystemBySchoolIdGroupByName($grades){ - $grade_system_name = isset($grades[0]->course->grade_system_name) ? $grades[0]->course->grade_system_name : false; - - return ($grade_system_name)?Gradesystem::where('school_id', auth()->user()->school_id) - ->where('grade_system_name', $grade_system_name) - //->groupBy('grade_system_name') - ->get() : Gradesystem::select('grade_system_name') - ->where('school_id', auth()->user()->school_id) - ->distinct() - ->get(); - } - - public function gradeTeacherIndexView($view){ - return view($view,[ - 'grades' => $this->grades, - 'gradesystems' => $this->gradesystems - ]); - } - - public function gradeCourseIndexView($view){ - return view($view,[ - 'grades' => $this->grades, - 'gradesystems' => $this->gradesystems, - 'course_id' => $this->course_id, - 'exam_id' => $this->exam_id, - 'teacher_id' => $this->teacher_id, - 'section_id' => $this->section_id, - ]); - } - - public function getGradesByCourseExam($course_id, $exam_id){ - return Grade::with('course','student') - ->where('course_id', $course_id) - ->where('exam_id',$exam_id) - ->get(); - } - - public function calculateGpaFromTotalMarks($grades, $course, $gradeSystem){ - foreach($grades as $key => $grade){ - $totalMarks = $this->calculateMarks($course, $grade); - // Calculate GPA from Total marks - $gpa = $this->calculateGpa($gradeSystem, $totalMarks); - $tb = Grade::find($grade['id']); - $tb->marks = $totalMarks; - $tb->gpa = $gpa; - $tbc[] = $tb->attributesToArray(); - } - return $tbc; - } - - public function getActiveExamIds(){ - return Exam::where('school_id', auth()->user()->school_id) - ->where('active',1) - ->pluck('id'); - } - - public function getCourseBySectionIdExamIds($section_id, $examIds){ - return Course::where('section_id',$section_id) - ->whereIn('exam_id', $examIds) - ->pluck('id') - ->toArray(); - } - - public function getGradesByCourseId($courses){ - return Grade::with(['student','course','exam']) - ->whereIn('course_id', $courses) - ->get(); - } - - public function getClassesBySchoolId(){ - return Myclass::where('school_id',auth()->user()->school->id)->get(); - } - - public function getSectionsByClassIds($classIds){ - return Section::whereIn('class_id',$classIds) - ->orderBy('section_number') - ->get(); - } - - public function getCourseByCourseId(){ - return Course::find($this->course_id); - } - - public function saveCalculatedGPAFromTotalMarks($tbc){ - try{ - if(count($tbc) > 0){ - $gradeTb = new Grade; - return \Batch::update($gradeTb,(array) $tbc,'id'); - } else { - return false; - } - }catch(\Exception $e){ - return "OOps, an error occured"; - } - } - - public function calculateMarks($course, $grade){ - $this->grade = $grade; - - $this->quizCount = $course->quiz_count; - $this->assignmentCount = $course->assignment_count; - $this->ctCount = $course->ct_count; - - // Quiz - $this->field = 'quiz'; - $this->fieldCount = $this->quizCount; - $this->maxFieldNum = 5; - $this->quizSum = $this->getMarkSum(); - // Assignment - $this->field = 'assignment'; - $this->fieldCount = $this->assignmentCount; - $this->maxFieldNum = 3; - $this->assignmentSum = $this->getMarkSum(); - // Class Test - $this->field = 'ct'; - $this->fieldCount = $this->ctCount; - $this->maxFieldNum = 5; - $this->ctSum = $this->getMarkSum(); - - // Percentage related calculation - // Attendance - $this->full_field_mark = $course->att_fullmark; - $this->field_percentage = $course->attendance_percent; - $this->avg_field_sum = $this->grade['attendance']; - $this->final_default_value = $this->grade['attendance']; - $this->final_att_mark = $this->getFieldFinalMark(); - // Quiz - $this->full_field_mark = $course->quiz_fullmark; - $this->field_percentage = $course->quiz_percent; - $this->avg_field_sum = $this->quizCount > 0 ? $this->quizSum/$this->quizCount : 0; - $this->final_default_value = $this->quizSum; - $this->final_quiz_mark = $this->getFieldFinalMark(); - // Assignment - $this->full_field_mark = $course->a_fullmark; - $this->field_percentage = $course->assignment_percent; - $this->avg_field_sum = $this->assignmentCount > 0 ? $this->assignmentSum/$this->assignmentCount : 0; - $this->final_default_value = $this->assignmentSum; - $this->final_assignment_mark = $this->getFieldFinalMark(); - // Class Test - $this->full_field_mark = $course->ct_fullmark; - $this->field_percentage = $course->ct_percent; - $this->avg_field_sum = $this->ctCount > 0 ? $this->ctSum/$this->ctCount : 0; - $this->final_default_value = $this->ctSum; - $this->final_ct_mark = $this->getFieldFinalMark(); - // Final Exam - $this->full_field_mark = $course->final_fullmark; - $this->field_percentage = $course->final_exam_percent; - $this->avg_field_sum = ($this->grade['written']+$this->grade['mcq']); - $this->final_default_value = $this->grade['written']+$this->grade['mcq']; - $this->final_finalExam_mark = $this->getFieldFinalMark(); - // Practical - $this->full_field_mark = $course->practical_fullmark; - $this->field_percentage = $course->practical_percent; - $this->avg_field_sum = $this->grade['practical']; - $this->final_default_value = $this->grade['practical']; - $this->final_practical_mark = $this->getFieldFinalMark(); - - // Calculate total marks - $totalMarks = $this->getTotalCalculatedMarks(); - - return $totalMarks; - } - - public function getMarkSum(){ - $fieldSum = 0; - if($this->fieldCount > 0){ - $fieldGradeArray = array(); - for($i=1; $i<=$this->maxFieldNum; ++$i){ - array_push($fieldGradeArray,$this->grade["{$this->field}{$i}"]); - } - rsort($fieldGradeArray); - $largest = array_slice($fieldGradeArray, 0, $this->fieldCount); - - foreach($largest as $l){ - $fieldSum += $l; - } - } else { - for($i=1; $i<=5; ++$i){ - if (isset($this->grade["{$this->field}{$i}"])) - $fieldSum += $this->grade["{$this->field}{$i}"]; - } - } - return $fieldSum; - } - - public function getFieldFinalMark(){ - return ($this->full_field_mark > 0)? (($this->field_percentage*$this->avg_field_sum)/$this->full_field_mark) : $this->final_default_value; - } - - public function getTotalCalculatedMarks(){ - return round( - (round($this->final_att_mark, 8, 2)+ - round($this->final_quiz_mark, 8, 2)+ - round($this->final_assignment_mark, 8, 2)+ - round($this->final_ct_mark, 8, 2)+ - round($this->final_finalExam_mark, 8, 2)+ - round($this->final_practical_mark, 8, 2) - ), 8, 2); - } - - public function calculateGpa($gradeSystem, $totalMarks){ - $totalMarks = round($totalMarks); - foreach($gradeSystem as $gs){ - if($totalMarks > $gs->from_mark && $totalMarks <= $gs->to_mark){ - return $gs->point; - } - } - return 'Something went wrong.'; - } - - public function updateGrade($request){ - $i = 0; - foreach($request->grade_ids as $id){ - $tb = Grade::find($id); - $tb->attendance = $request->attendance[$i]; - $tb->quiz1 = $request->quiz1[$i]; - $tb->quiz2 = $request->quiz2[$i]; - $tb->quiz3 = $request->quiz3[$i]; - $tb->quiz4 = $request->quiz4[$i]; - $tb->quiz5 = $request->quiz5[$i]; - $tb->assignment1 = $request->assign1[$i]; - $tb->assignment2 = $request->assign2[$i]; - $tb->assignment3 = $request->assign3[$i]; - $tb->ct1 = $request->ct1[$i]; - $tb->ct2 = $request->ct2[$i]; - $tb->ct3 = $request->ct3[$i]; - $tb->ct4 = $request->ct4[$i]; - $tb->ct5 = $request->ct5[$i]; - $tb->written = $request->written[$i]; - $tb->mcq = $request->mcq[$i]; - $tb->practical = $request->practical[$i]; - $tb->user_id = Auth::user()->id; - $tb->created_at = date('Y-m-d H:i:s'); - $tb->updated_at = date('Y-m-d H:i:s'); - $tbc[] = $tb->attributesToArray(); - $i++; - } - return $tbc; - } - - public function returnRouteWithParameters($route_name){ - return redirect()->route($route_name, [ - 'teacher_id' => $this->teacher_id, - 'course_id' => $this->course_id, - 'exam_id' => $this->exam_id, - 'section_id' => $this->section_id, - ]); - } -} \ No newline at end of file diff --git a/app/Services/IssueBook/IssuedBookService.php b/app/Services/IssueBook/IssuedBookService.php deleted file mode 100755 index 20055757c..000000000 --- a/app/Services/IssueBook/IssuedBookService.php +++ /dev/null @@ -1,52 +0,0 @@ -select('issued_books.*','books.title','books.type','users.name') - ->join('users', 'issued_books.student_code', '=', 'users.student_code') - ->where('issued_books.borrowed', '=', 1) - ->where('issued_books.school_id', '=', auth()->user()->school->id) - ->paginate(50); - } - - /** - * Insert each issued book to an array. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response - */ - public function insertEachIssuedBookInAnArray(){ - foreach ($this->request->book_id as $bk){ - $issueBooks = new Issuedbook; - $issueBooks->student_code = $this->request->student_code; - $issueBooks->book_id = $bk; - $issueBooks->quantity = 1; - $issueBooks->school_id = auth()->user()->school->id; - $issueBooks->issue_date = $this->request->issue_date; - $issueBooks->return_date = $this->request->return_date; - $issueBooks->fine = 0;//$this->request->fine; - $issueBooks->borrowed = 1; - $issueBooks->user_id = auth()->user()->id; - $this->ib[] = $issueBooks->attributesToArray(); - } - } - - public function storeIssuedBooks(){ - $this->insertEachIssuedBookInAnArray(); - - \DB::transaction(function () { - Issuedbook::insert($this->ib); - Book::whereIn('id',$this->request->book_id)->update([ - 'quantity' => \DB::raw('MAX((quantity - 1), 0)') - ]); - }); - } -} \ No newline at end of file diff --git a/app/Services/User/UserService.php b/app/Services/User/UserService.php deleted file mode 100755 index 5983d86c3..000000000 --- a/app/Services/User/UserService.php +++ /dev/null @@ -1,268 +0,0 @@ -user = $user; - $this->student_info = $student_info; - $this->db = $db; - $this->batch = $batch; - } - - public function isListOfStudents($school_code, $student_code){ - return !empty($school_code) && $student_code == 1; - } - - public function isListOfTeachers($school_code, $teacher_code){ - return !empty($school_code) && $teacher_code == 1; - } - - public function indexView($view, $users){ - return view($view, [ - 'users' => $users, - 'current_page' => $users->currentPage(), - 'per_page' => $users->perPage(), - ]); - } - - public function hasSectionId($section_id){ - return $section_id > 0; - } - - public function updateStudentInfo($request, $id){ - $info = StudentInfo::firstOrCreate(['student_id' => $id]); - $info->student_id = $id; - $info->session = (!empty($request->session)) ? $request->session : ''; - $info->version = (!empty($request->version)) ? $request->version : ''; - $info->group = (!empty($request->group)) ? $request->group : ''; - $info->birthday = (!empty($request->birthday)) ? $request->birthday : ''; - $info->religion = (!empty($request->religion)) ? $request->religion : ''; - $info->father_name = (!empty($request->father_name)) ? $request->father_name : ''; - $info->father_phone_number = (!empty($request->father_phone_number)) ? $request->father_phone_number : ''; - $info->father_national_id = (!empty($request->father_national_id)) ? $request->father_national_id : ''; - $info->father_occupation = (!empty($request->father_occupation)) ? $request->father_occupation : ''; - $info->father_designation = (!empty($request->father_designation)) ? $request->father_designation : ''; - $info->father_annual_income = (!empty($request->father_annual_income)) ? $request->father_annual_income : ''; - $info->mother_name = (!empty($request->mother_name)) ? $request->mother_name : ''; - $info->mother_phone_number = (!empty($request->mother_phone_number)) ? $request->mother_phone_number : ''; - $info->mother_national_id = (!empty($request->mother_national_id)) ? $request->mother_national_id : ''; - $info->mother_occupation = (!empty($request->mother_occupation)) ? $request->mother_occupation : ''; - $info->mother_designation = (!empty($request->mother_designation)) ? $request->mother_designation : ''; - $info->mother_annual_income = (!empty($request->mother_annual_income)) ? $request->mother_annual_income : ''; - $info->user_id = auth()->user()->id; - $info->save(); - } - - public function promoteSectionStudentsView($students, $classes, $section_id){ - return view('school.promote-students', compact('students','classes','section_id')); - } - - public function promoteSectionStudentsPost($request) - { - if ($request->section_id > 0) { - $students = $this->getSectionStudentsWithStudentInfo($request, $request->section_id); - $i = 0; - foreach ($students as $student) { - $this->st[] = [ - 'id' => $student->student_id, - 'section_id' => $request->to_section[$i], - 'active' => isset($request["left_school$i"])?0:1, - ]; - - $this->st2[] = [ - 'student_id' => $student->student_id, - 'session' => $request->to_session[$i], - ]; - ++$i; - } - $this->promoteSectionStudentsPostDBTransaction(); - - return back()->with('status', 'Saved'); - } - } - - public function promoteSectionStudentsPostDBTransaction(){ - return $this->db::transaction(function () { - // $table1 = 'users'; - $this->batch->update($this->user, (array) $this->st, 'id'); - // $table2 = 'student_infos'; - $this->batch->update($this->student_info, (array) $this->st2, 'student_id'); - }); - } - - public function isAccountant($role){ - return $role == 'accountant'; - } - - public function isLibrarian($role){ - return $role == 'librarian'; - } - - public function indexOtherView($view, $users){ - return view($view, [ - 'users' => $users, - 'current_page' => $users->currentPage(), - 'per_page' => $users->perPage(), - ]); - } - - public function getStudents(){ - return $this->user->with(['section.class', 'school', 'studentInfo']) - ->where('code', auth()->user()->school->code) - ->student() - ->where('active', 1) - ->orderBy('name', 'asc') - ->paginate(50); - } - - public function getTeachers(){ - return $this->user->with(['section', 'school']) - ->where('code', auth()->user()->school->code) - ->where('role', 'teacher') - ->where('active', 1) - ->orderBy('name', 'asc') - ->paginate(50); - } - - public function getAccountants(){ - return $this->user->with('school') - ->where('code', auth()->user()->school->code) - ->where('role', 'accountant') - ->where('active', 1) - ->orderBy('name', 'asc') - ->paginate(50); - } - - public function getLibrarians(){ - return $this->user->with('school') - ->where('code', auth()->user()->school->code) - ->where('role', 'librarian') - ->where('active', 1) - ->orderBy('name', 'asc') - ->paginate(50); - } - - public function getSectionStudentsWithSchool($section_id){ - return $this->user->with('school') - ->student() - ->where('section_id', $section_id) - ->where('active', 1) - ->orderBy('name', 'asc') - ->get(); - } - - public function getSectionStudentsWithStudentInfo($request, $section_id){ - $ignoreSessions = $request->session()->get('ignoreSessions'); - - if (isset($ignoreSessions) && $ignoreSessions == "true") { - return $this->user->with(['section']) - ->join('student_infos', 'users.id', '=', 'student_infos.student_id') - //->where('student_infos.session', '<=', now()->year) - ->where('users.section_id', $section_id) - ->where('users.active', 1) - ->get(); - } else { - return $this->user->with(['section']) - ->join('student_infos', 'users.id', '=', 'student_infos.student_id') - ->where('student_infos.session', '<=', now()->year) - ->where('users.section_id', $section_id) - ->where('users.active', 1) - ->get(); - } - } - - public function getSectionStudents($section_id){ - return $this->user->where('section_id', $section_id) - ->where('active', 1) - ->get(); - } - - public function getUserByUserCode($user_code){ - return $this->user->with('section', 'studentInfo') - ->where('student_code', $user_code) - ->where('active', 1) - ->first(); - } - - public function storeAdmin($request){ - $tb = new $this->user; - $tb->name = $request->name; - $tb->email = $request->email; - $tb->password = bcrypt($request->password); - $tb->role = 'admin'; - $tb->active = 1; - $tb->school_id = session('register_school_id'); - $tb->code = session('register_school_code'); - $tb->student_code = session('register_school_id').date('y').substr(number_format(time() * mt_rand(), 0, '', ''), 0, 5); - $tb->gender = $request->gender; - $tb->blood_group = $request->blood_group; - $tb->nationality = (!empty($request->nationality)) ? $request->nationality : ''; - $tb->phone_number = $request->phone_number; - $tb->pic_path = (!empty($request->pic_path)) ? $request->pic_path : ''; - $tb->verified = 1; - $tb->save(); - return $tb; - } - - public function storeStudent($request){ - $tb = new $this->user; - $tb->name = $request->name; - $tb->email = (!empty($request->email)) ? $request->email : ''; - $tb->password = bcrypt($request->password); - $tb->role = 'student'; - $tb->active = 1; - $tb->school_id = auth()->user()->school_id; - $tb->code = auth()->user()->code;// School Code - $tb->student_code = auth()->user()->school_id.date('y').substr(number_format(time() * mt_rand(), 0, '', ''), 0, 5); - $tb->gender = $request->gender; - $tb->blood_group = $request->blood_group; - $tb->nationality = (!empty($request->nationality)) ? $request->nationality : ''; - $tb->phone_number = $request->phone_number; - $tb->address = (!empty($request->address)) ? $request->address : ''; - $tb->about = (!empty($request->about)) ? $request->about : ''; - $tb->pic_path = (!empty($request->pic_path)) ? $request->pic_path : ''; - $tb->verified = 1; - $tb->section_id = $request->section; - $tb->save(); - return $tb; - } - - public function storeStaff($request, $role){ - $tb = new $this->user; - $tb->name = $request->name; - $tb->email = (!empty($request->email)) ? $request->email : ''; - $tb->password = bcrypt($request->password); - $tb->role = $role; - $tb->active = 1; - $tb->school_id = auth()->user()->school_id; - $tb->code = auth()->user()->code; - $tb->student_code = auth()->user()->school_id.date('y').substr(number_format(time() * mt_rand(), 0, '', ''), 0, 5); - $tb->gender = $request->gender; - $tb->blood_group = $request->blood_group; - $tb->nationality = (!empty($request->nationality)) ? $request->nationality : ''; - $tb->phone_number = $request->phone_number; - $tb->pic_path = (!empty($request->pic_path)) ? $request->pic_path : ''; - $tb->verified = 1; - $tb->department_id = (!empty($request->department_id))?$request->department_id:0; - - if($role == 'teacher'){ - $tb->section_id = ($request->class_teacher_section_id != 0) ? $request->class_teacher_section_id : 0; - } - - $tb->save(); - return $tb; - } -} \ No newline at end of file diff --git a/app/StudentBoardExam.php b/app/StudentBoardExam.php deleted file mode 100755 index d8921063a..000000000 --- a/app/StudentBoardExam.php +++ /dev/null @@ -1,17 +0,0 @@ -belongsTo('App\User'); - } -} diff --git a/app/StudentInfo.php b/app/StudentInfo.php deleted file mode 100755 index c88fee4f1..000000000 --- a/app/StudentInfo.php +++ /dev/null @@ -1,18 +0,0 @@ -belongsTo('App\User'); - } -} diff --git a/app/Syllabus.php b/app/Syllabus.php deleted file mode 100755 index 2b469582b..000000000 --- a/app/Syllabus.php +++ /dev/null @@ -1,24 +0,0 @@ -belongsTo('App\School'); - } - /** - * Get the class record associated with the syllabus. - */ - public function myclass() - { - return $this->belongsTo('App\Myclass','class_id'); - } -} diff --git a/app/User.php b/app/User.php deleted file mode 100755 index 823386dda..000000000 --- a/app/User.php +++ /dev/null @@ -1,78 +0,0 @@ -where('role', 'student'); - } - - public function section() - { - return $this->belongsTo('App\Section'); - } - - public function school() - { - return $this->belongsTo('App\School'); - } - - public function department() - { - return $this->belongsTo('App\Department','department_id', 'id'); - } - - public function studentInfo(){ - return $this->hasOne('App\StudentInfo','student_id'); - } - - public function studentBoardExam(){ - return $this->hasMany('App\StudentBoardExam','student_id'); - } - - public function notifications(){ - return $this->hasMany('App\Notification','student_id'); - } - - public function hasRole(string $role): bool - { - return $this->role == $role ? true : false; - } -} diff --git a/artisan b/artisan deleted file mode 100755 index 5c23e2e24..000000000 --- a/artisan +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/env php -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/bootstrap/app.php b/bootstrap/app.php deleted file mode 100755 index f2801adf6..000000000 --- a/bootstrap/app.php +++ /dev/null @@ -1,55 +0,0 @@ -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/bootstrap/cache/.gitignore b/bootstrap/cache/.gitignore deleted file mode 100755 index d6b7ef32c..000000000 --- a/bootstrap/cache/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/composer.json b/composer.json deleted file mode 100755 index 8bf17a5f5..000000000 --- a/composer.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "name": "changeweb/unifiedtransform", - "description": "A school management software.", - "keywords": ["school", "management"], - "license": "GPL 3", - "type": "project", - "require": { - "php": ">=7.2.5", - "doctrine/dbal": "^2.9", - "fideloper/proxy": "^4.2", - "guzzlehttp/guzzle": "^6.3", - "lab404/laravel-impersonate": "1.6.0", - "laravel/cashier": "^11.0", - "laravel/framework": "^7.0", - "laravel/passport": "^9.1.0", - "laravel/tinker": "^2.0", - "laravel/ui": "2.0.3", - "maatwebsite/excel": "^3.1", - "mavinoo/laravel-batch": "2.1.9", - "renatomarinho/laravel-page-speed": "^1.8", - "stevebauman/purify": "^4.0" - }, - "require-dev": { - "facade/ignition": "^2.0", - "barryvdh/laravel-debugbar": "^3.2", - "filp/whoops": "~2.0", - "friendsofphp/php-cs-fixer": "^2.14", - "fzaninotto/faker": "^1.9.1", - "laravel/dusk": "^6.1.0", - "mockery/mockery": "^1.3.1", - "nunomaduro/collision": "^4.1", - "phpunit/phpunit": "^8.5", - "rap2hpoutre/laravel-log-viewer": "^1.6.0" - }, - "autoload": { - "classmap": [ - "database/seeds", - "database/factories" - ], - "psr-4": { - "App\\": "app/" - } - }, - "autoload-dev": { - "psr-4": { - "Tests\\": "tests/" - }, - "files": [ - "tests/utilities/functions.php" - ] - }, - "extra": { - "laravel": { - "dont-discover": [ - "laravel/dusk", - "barryvdh/laravel-debugbar", - "rap2hpoutre/laravel-log-viewer" - ] - } - }, - "scripts": { - "post-root-package-install": [ - "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" - ], - "post-create-project-cmd": [ - "@php artisan key:generate" - ], - "post-install-cmd": [ - "@php artisan key:generate", - "@php artisan passport:keys" - ], - "post-autoload-dump": [ - "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", - "@php artisan package:discover" - ] - }, - "config": { - "preferred-install": "dist", - "sort-packages": true, - "optimize-autoloader": true - } -} diff --git a/composer.lock b/composer.lock deleted file mode 100644 index ceebdfe65..000000000 --- a/composer.lock +++ /dev/null @@ -1,9948 +0,0 @@ -{ - "_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#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "61903a45b1cf4a92bde4ba68df7a848d", - "packages": [ - { - "name": "brick/math", - "version": "0.9.2", - "source": { - "type": "git", - "url": "https://github.com/brick/math.git", - "reference": "dff976c2f3487d42c1db75a3b180e2b9f0e72ce0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/dff976c2f3487d42c1db75a3b180e2b9f0e72ce0", - "reference": "dff976c2f3487d42c1db75a3b180e2b9f0e72ce0", - "shasum": "" - }, - "require": { - "ext-json": "*", - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "php-coveralls/php-coveralls": "^2.2", - "phpunit/phpunit": "^7.5.15 || ^8.5 || ^9.0", - "vimeo/psalm": "4.3.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "Brick\\Math\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Arbitrary-precision arithmetic library", - "keywords": [ - "Arbitrary-precision", - "BigInteger", - "BigRational", - "arithmetic", - "bigdecimal", - "bignum", - "brick", - "math" - ], - "funding": [ - { - "url": "https://tidelift.com/funding/github/packagist/brick/math", - "type": "tidelift" - } - ], - "time": "2021-01-20T22:51:39+00:00" - }, - { - "name": "defuse/php-encryption", - "version": "v2.2.1", - "source": { - "type": "git", - "url": "https://github.com/defuse/php-encryption.git", - "reference": "0f407c43b953d571421e0020ba92082ed5fb7620" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/defuse/php-encryption/zipball/0f407c43b953d571421e0020ba92082ed5fb7620", - "reference": "0f407c43b953d571421e0020ba92082ed5fb7620", - "shasum": "" - }, - "require": { - "ext-openssl": "*", - "paragonie/random_compat": ">= 2", - "php": ">=5.4.0" - }, - "require-dev": { - "nikic/php-parser": "^2.0|^3.0|^4.0", - "phpunit/phpunit": "^4|^5" - }, - "bin": [ - "bin/generate-defuse-key" - ], - "type": "library", - "autoload": { - "psr-4": { - "Defuse\\Crypto\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Hornby", - "email": "taylor@defuse.ca", - "homepage": "https://defuse.ca/" - }, - { - "name": "Scott Arciszewski", - "email": "info@paragonie.com", - "homepage": "https://paragonie.com" - } - ], - "description": "Secure PHP Encryption Library", - "keywords": [ - "aes", - "authenticated encryption", - "cipher", - "crypto", - "cryptography", - "encrypt", - "encryption", - "openssl", - "security", - "symmetric key cryptography" - ], - "time": "2018-07-24T23:27:56+00:00" - }, - { - "name": "dnoegel/php-xdg-base-dir", - "version": "v0.1.1", - "source": { - "type": "git", - "url": "https://github.com/dnoegel/php-xdg-base-dir.git", - "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", - "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "require-dev": { - "phpunit/phpunit": "~7.0|~6.0|~5.0|~4.8.35" - }, - "type": "library", - "autoload": { - "psr-4": { - "XdgBaseDir\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "implementation of xdg base directory specification for php", - "time": "2019-12-04T15:06:13+00:00" - }, - { - "name": "doctrine/cache", - "version": "1.10.2", - "source": { - "type": "git", - "url": "https://github.com/doctrine/cache.git", - "reference": "13e3381b25847283a91948d04640543941309727" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/13e3381b25847283a91948d04640543941309727", - "reference": "13e3381b25847283a91948d04640543941309727", - "shasum": "" - }, - "require": { - "php": "~7.1 || ^8.0" - }, - "conflict": { - "doctrine/common": ">2.2,<2.4" - }, - "require-dev": { - "alcaeus/mongo-php-adapter": "^1.1", - "doctrine/coding-standard": "^6.0", - "mongodb/mongodb": "^1.1", - "phpunit/phpunit": "^7.0", - "predis/predis": "~1.0" - }, - "suggest": { - "alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.9.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others.", - "homepage": "https://www.doctrine-project.org/projects/cache.html", - "keywords": [ - "abstraction", - "apcu", - "cache", - "caching", - "couchdb", - "memcached", - "php", - "redis", - "xcache" - ], - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcache", - "type": "tidelift" - } - ], - "time": "2020-07-07T18:54:01+00:00" - }, - { - "name": "doctrine/dbal", - "version": "2.10.2", - "source": { - "type": "git", - "url": "https://github.com/doctrine/dbal.git", - "reference": "aab745e7b6b2de3b47019da81e7225e14dcfdac8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/aab745e7b6b2de3b47019da81e7225e14dcfdac8", - "reference": "aab745e7b6b2de3b47019da81e7225e14dcfdac8", - "shasum": "" - }, - "require": { - "doctrine/cache": "^1.0", - "doctrine/event-manager": "^1.0", - "ext-pdo": "*", - "php": "^7.2" - }, - "require-dev": { - "doctrine/coding-standard": "^6.0", - "jetbrains/phpstorm-stubs": "^2019.1", - "nikic/php-parser": "^4.4", - "phpstan/phpstan": "^0.12", - "phpunit/phpunit": "^8.4.1", - "symfony/console": "^2.0.5|^3.0|^4.0|^5.0", - "vimeo/psalm": "^3.11" - }, - "suggest": { - "symfony/console": "For helpful console commands such as SQL execution and import of files." - }, - "bin": [ - "bin/doctrine-dbal" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.10.x-dev", - "dev-develop": "3.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\DBAL\\": "lib/Doctrine/DBAL" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - } - ], - "description": "Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.", - "homepage": "https://www.doctrine-project.org/projects/dbal.html", - "keywords": [ - "abstraction", - "database", - "db2", - "dbal", - "mariadb", - "mssql", - "mysql", - "oci8", - "oracle", - "pdo", - "pgsql", - "postgresql", - "queryobject", - "sasql", - "sql", - "sqlanywhere", - "sqlite", - "sqlserver", - "sqlsrv" - ], - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdbal", - "type": "tidelift" - } - ], - "time": "2020-04-20T17:19:26+00:00" - }, - { - "name": "doctrine/event-manager", - "version": "1.1.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/event-manager.git", - "reference": "629572819973f13486371cb611386eb17851e85c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/event-manager/zipball/629572819973f13486371cb611386eb17851e85c", - "reference": "629572819973f13486371cb611386eb17851e85c", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "conflict": { - "doctrine/common": "<2.9@dev" - }, - "require-dev": { - "doctrine/coding-standard": "^6.0", - "phpunit/phpunit": "^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Common\\": "lib/Doctrine/Common" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - }, - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com" - } - ], - "description": "The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.", - "homepage": "https://www.doctrine-project.org/projects/event-manager.html", - "keywords": [ - "event", - "event dispatcher", - "event manager", - "event system", - "events" - ], - "time": "2019-11-10T09:48:07+00:00" - }, - { - "name": "doctrine/inflector", - "version": "2.0.3", - "source": { - "type": "git", - "url": "https://github.com/doctrine/inflector.git", - "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/9cf661f4eb38f7c881cac67c75ea9b00bf97b210", - "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "require-dev": { - "doctrine/coding-standard": "^7.0", - "phpstan/phpstan": "^0.11", - "phpstan/phpstan-phpunit": "^0.11", - "phpstan/phpstan-strict-rules": "^0.11", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", - "homepage": "https://www.doctrine-project.org/projects/inflector.html", - "keywords": [ - "inflection", - "inflector", - "lowercase", - "manipulation", - "php", - "plural", - "singular", - "strings", - "uppercase", - "words" - ], - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", - "type": "tidelift" - } - ], - "time": "2020-05-29T15:13:26+00:00" - }, - { - "name": "doctrine/lexer", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/doctrine/lexer.git", - "reference": "e864bbf5904cb8f5bb334f99209b48018522f042" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/e864bbf5904cb8f5bb334f99209b48018522f042", - "reference": "e864bbf5904cb8f5bb334f99209b48018522f042", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "require-dev": { - "doctrine/coding-standard": "^6.0", - "phpstan/phpstan": "^0.11.8", - "phpunit/phpunit": "^8.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", - "homepage": "https://www.doctrine-project.org/projects/lexer.html", - "keywords": [ - "annotations", - "docblock", - "lexer", - "parser", - "php" - ], - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", - "type": "tidelift" - } - ], - "time": "2020-05-25T17:44:05+00:00" - }, - { - "name": "dompdf/dompdf", - "version": "v0.8.5", - "source": { - "type": "git", - "url": "https://github.com/dompdf/dompdf.git", - "reference": "6782abfc090b132134cd6cea0ec6d76f0fce2c56" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dompdf/dompdf/zipball/6782abfc090b132134cd6cea0ec6d76f0fce2c56", - "reference": "6782abfc090b132134cd6cea0ec6d76f0fce2c56", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-mbstring": "*", - "phenx/php-font-lib": "^0.5.1", - "phenx/php-svg-lib": "^0.3.3", - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.5", - "squizlabs/php_codesniffer": "^3.5" - }, - "suggest": { - "ext-gd": "Needed to process images", - "ext-gmagick": "Improves image processing performance", - "ext-imagick": "Improves image processing performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-develop": "0.7-dev" - } - }, - "autoload": { - "psr-4": { - "Dompdf\\": "src/" - }, - "classmap": [ - "lib/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-2.1" - ], - "authors": [ - { - "name": "Fabien Ménager", - "email": "fabien.menager@gmail.com" - }, - { - "name": "Brian Sweeney", - "email": "eclecticgeek@gmail.com" - }, - { - "name": "Gabriel Bull", - "email": "me@gabrielbull.com" - } - ], - "description": "DOMPDF is a CSS 2.1 compliant HTML to PDF converter", - "homepage": "https://github.com/dompdf/dompdf", - "time": "2020-02-20T03:52:51+00:00" - }, - { - "name": "dragonmantank/cron-expression", - "version": "v2.3.1", - "source": { - "type": "git", - "url": "https://github.com/dragonmantank/cron-expression.git", - "reference": "65b2d8ee1f10915efb3b55597da3404f096acba2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/65b2d8ee1f10915efb3b55597da3404f096acba2", - "reference": "65b2d8ee1f10915efb3b55597da3404f096acba2", - "shasum": "" - }, - "require": { - "php": "^7.0|^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.4|^7.0|^8.0|^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev" - } - }, - "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" - }, - { - "name": "Chris Tankersley", - "email": "chris@ctankersley.com", - "homepage": "https://github.com/dragonmantank" - } - ], - "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", - "keywords": [ - "cron", - "schedule" - ], - "funding": [ - { - "url": "https://github.com/dragonmantank", - "type": "github" - } - ], - "time": "2020-10-13T00:52:37+00:00" - }, - { - "name": "egulias/email-validator", - "version": "2.1.25", - "source": { - "type": "git", - "url": "https://github.com/egulias/EmailValidator.git", - "reference": "0dbf5d78455d4d6a41d186da50adc1122ec066f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/0dbf5d78455d4d6a41d186da50adc1122ec066f4", - "reference": "0dbf5d78455d4d6a41d186da50adc1122ec066f4", - "shasum": "" - }, - "require": { - "doctrine/lexer": "^1.0.1", - "php": ">=5.5", - "symfony/polyfill-intl-idn": "^1.10" - }, - "require-dev": { - "dominicsayers/isemail": "^3.0.7", - "phpunit/phpunit": "^4.8.36|^7.5.15", - "satooshi/php-coveralls": "^1.0.1" - }, - "suggest": { - "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Egulias\\EmailValidator\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Eduardo Gulias Davis" - } - ], - "description": "A library for validating emails against several RFCs", - "homepage": "https://github.com/egulias/EmailValidator", - "keywords": [ - "email", - "emailvalidation", - "emailvalidator", - "validation", - "validator" - ], - "funding": [ - { - "url": "https://github.com/egulias", - "type": "github" - } - ], - "time": "2020-12-29T14:50:06+00:00" - }, - { - "name": "ezyang/htmlpurifier", - "version": "v4.13.0", - "source": { - "type": "git", - "url": "https://github.com/ezyang/htmlpurifier.git", - "reference": "08e27c97e4c6ed02f37c5b2b20488046c8d90d75" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/08e27c97e4c6ed02f37c5b2b20488046c8d90d75", - "reference": "08e27c97e4c6ed02f37c5b2b20488046c8d90d75", - "shasum": "" - }, - "require": { - "php": ">=5.2" - }, - "require-dev": { - "simpletest/simpletest": "dev-master#72de02a7b80c6bb8864ef9bf66d41d2f58f826bd" - }, - "type": "library", - "autoload": { - "psr-0": { - "HTMLPurifier": "library/" - }, - "files": [ - "library/HTMLPurifier.composer.php" - ], - "exclude-from-classmap": [ - "/library/HTMLPurifier/Language/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-2.1-or-later" - ], - "authors": [ - { - "name": "Edward Z. Yang", - "email": "admin@htmlpurifier.org", - "homepage": "http://ezyang.com" - } - ], - "description": "Standards compliant HTML filter written in PHP", - "homepage": "http://htmlpurifier.org/", - "keywords": [ - "html" - ], - "support": { - "issues": "https://github.com/ezyang/htmlpurifier/issues", - "source": "https://github.com/ezyang/htmlpurifier/tree/master" - }, - "time": "2020-06-29T00:56:53+00:00" - }, - { - "name": "fideloper/proxy", - "version": "4.4.0", - "source": { - "type": "git", - "url": "https://github.com/fideloper/TrustedProxy.git", - "reference": "9beebf48a1c344ed67c1d36bb1b8709db7c3c1a8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/fideloper/TrustedProxy/zipball/9beebf48a1c344ed67c1d36bb1b8709db7c3c1a8", - "reference": "9beebf48a1c344ed67c1d36bb1b8709db7c3c1a8", - "shasum": "" - }, - "require": { - "illuminate/contracts": "^5.0|^6.0|^7.0|^8.0", - "php": ">=5.4.0" - }, - "require-dev": { - "illuminate/http": "^5.0|^6.0|^7.0|^8.0", - "mockery/mockery": "^1.0", - "phpunit/phpunit": "^6.0" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Fideloper\\Proxy\\TrustedProxyServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Fideloper\\Proxy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Chris Fidao", - "email": "fideloper@gmail.com" - } - ], - "description": "Set trusted proxies for Laravel", - "keywords": [ - "load balancing", - "proxy", - "trusted proxy" - ], - "time": "2020-06-23T01:36:47+00:00" - }, - { - "name": "firebase/php-jwt", - "version": "v5.2.0", - "source": { - "type": "git", - "url": "https://github.com/firebase/php-jwt.git", - "reference": "feb0e820b8436873675fd3aca04f3728eb2185cb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/feb0e820b8436873675fd3aca04f3728eb2185cb", - "reference": "feb0e820b8436873675fd3aca04f3728eb2185cb", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": ">=4.8 <=9" - }, - "type": "library", - "autoload": { - "psr-4": { - "Firebase\\JWT\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Neuman Vong", - "email": "neuman+pear@twilio.com", - "role": "Developer" - }, - { - "name": "Anant Narayanan", - "email": "anant@php.net", - "role": "Developer" - } - ], - "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", - "homepage": "https://github.com/firebase/php-jwt", - "keywords": [ - "jwt", - "php" - ], - "time": "2020-03-25T18:49:23+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.5.5", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "9d4290de1cfd701f38099ef7e183b64b4b7b0c5e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/9d4290de1cfd701f38099ef7e183b64b4b7b0c5e", - "reference": "9d4290de1cfd701f38099ef7e183b64b4b7b0c5e", - "shasum": "" - }, - "require": { - "ext-json": "*", - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.6.1", - "php": ">=5.5", - "symfony/polyfill-intl-idn": "^1.17.0" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", - "psr/log": "^1.1" - }, - "suggest": { - "psr/log": "Required for using the Log middleware" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.5-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2020-06-16T21:01:06+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.6.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "239400de7a173fe9901b9ac7c06497751f00727a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/239400de7a173fe9901b9ac7c06497751f00727a", - "reference": "239400de7a173fe9901b9ac7c06497751f00727a", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0", - "ralouphie/getallheaders": "^2.0.5 || ^3.0.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "ext-zlib": "*", - "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8" - }, - "suggest": { - "zendframework/zend-httphandlerrunner": "Emit PSR-7 responses" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "psr-7", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2019-07-01T23:21:34+00:00" - }, - { - "name": "lab404/laravel-impersonate", - "version": "1.6.0", - "source": { - "type": "git", - "url": "https://github.com/404labfr/laravel-impersonate.git", - "reference": "ac3a2bfe056f35b4201b1a06db04af2b3a2905d6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/404labfr/laravel-impersonate/zipball/ac3a2bfe056f35b4201b1a06db04af2b3a2905d6", - "reference": "ac3a2bfe056f35b4201b1a06db04af2b3a2905d6", - "shasum": "" - }, - "require": { - "laravel/framework": "^6.0 | ^7.0", - "php": ">=7.2" - }, - "require-dev": { - "orchestra/database": "^4.0 | ^5.0", - "orchestra/testbench": "^4.0 | ^5.0", - "phpunit/phpunit": "^7.5 | ^8.0", - "symfony/http-foundation": ">=4.3.8", - "symfony/mime": ">=4.3.8" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Lab404\\Impersonate\\ImpersonateServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Lab404\\Impersonate\\": "src/" - }, - "files": [ - "src/helpers.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "404lab", - "email": "web@404lab.fr" - } - ], - "description": "Laravel Impersonate is a plugin that allows to you to authenticate as your users.", - "keywords": [ - "auth", - "impersonate", - "impersonation", - "laravel", - "laravel-package", - "laravel-plugin", - "package", - "plugin", - "user" - ], - "time": "2020-03-03T15:57:38+00:00" - }, - { - "name": "laminas/laminas-diactoros", - "version": "2.3.1", - "source": { - "type": "git", - "url": "https://github.com/laminas/laminas-diactoros.git", - "reference": "2ffc7cc816f6207b27923ee15edf6fac668390aa" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-diactoros/zipball/2ffc7cc816f6207b27923ee15edf6fac668390aa", - "reference": "2ffc7cc816f6207b27923ee15edf6fac668390aa", - "shasum": "" - }, - "require": { - "laminas/laminas-zendframework-bridge": "^1.0", - "php": "^7.1", - "psr/http-factory": "^1.0", - "psr/http-message": "^1.0" - }, - "conflict": { - "phpspec/prophecy": "<1.9.0" - }, - "provide": { - "psr/http-factory-implementation": "1.0", - "psr/http-message-implementation": "1.0" - }, - "replace": { - "zendframework/zend-diactoros": "^2.2.1" - }, - "require-dev": { - "ext-curl": "*", - "ext-dom": "*", - "ext-libxml": "*", - "http-interop/http-factory-tests": "^0.5.0", - "laminas/laminas-coding-standard": "~1.0.0", - "php-http/psr7-integration-tests": "^1.0", - "phpunit/phpunit": "^7.5.18" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev", - "dev-develop": "2.4.x-dev" - }, - "laminas": { - "config-provider": "Laminas\\Diactoros\\ConfigProvider", - "module": "Laminas\\Diactoros" - } - }, - "autoload": { - "files": [ - "src/functions/create_uploaded_file.php", - "src/functions/marshal_headers_from_sapi.php", - "src/functions/marshal_method_from_sapi.php", - "src/functions/marshal_protocol_version_from_sapi.php", - "src/functions/marshal_uri_from_sapi.php", - "src/functions/normalize_server.php", - "src/functions/normalize_uploaded_files.php", - "src/functions/parse_cookie_header.php", - "src/functions/create_uploaded_file.legacy.php", - "src/functions/marshal_headers_from_sapi.legacy.php", - "src/functions/marshal_method_from_sapi.legacy.php", - "src/functions/marshal_protocol_version_from_sapi.legacy.php", - "src/functions/marshal_uri_from_sapi.legacy.php", - "src/functions/normalize_server.legacy.php", - "src/functions/normalize_uploaded_files.legacy.php", - "src/functions/parse_cookie_header.legacy.php" - ], - "psr-4": { - "Laminas\\Diactoros\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "PSR HTTP Message implementations", - "homepage": "https://laminas.dev", - "keywords": [ - "http", - "laminas", - "psr", - "psr-17", - "psr-7" - ], - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "time": "2020-07-07T15:34:31+00:00" - }, - { - "name": "laminas/laminas-zendframework-bridge", - "version": "1.0.4", - "source": { - "type": "git", - "url": "https://github.com/laminas/laminas-zendframework-bridge.git", - "reference": "fcd87520e4943d968557803919523772475e8ea3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/fcd87520e4943d968557803919523772475e8ea3", - "reference": "fcd87520e4943d968557803919523772475e8ea3", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.1", - "squizlabs/php_codesniffer": "^3.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev", - "dev-develop": "1.1.x-dev" - }, - "laminas": { - "module": "Laminas\\ZendFrameworkBridge" - } - }, - "autoload": { - "files": [ - "src/autoload.php" - ], - "psr-4": { - "Laminas\\ZendFrameworkBridge\\": "src//" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Alias legacy ZF class names to Laminas Project equivalents.", - "keywords": [ - "ZendFramework", - "autoloading", - "laminas", - "zf" - ], - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "time": "2020-05-20T16:45:56+00:00" - }, - { - "name": "laravel/cashier", - "version": "v11.3.0", - "source": { - "type": "git", - "url": "https://github.com/laravel/cashier.git", - "reference": "e327ae1e411f1990e2c16d3c3477f074501ecee0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/cashier/zipball/e327ae1e411f1990e2c16d3c3477f074501ecee0", - "reference": "e327ae1e411f1990e2c16d3c3477f074501ecee0", - "shasum": "" - }, - "require": { - "dompdf/dompdf": "^0.8.0", - "ext-json": "*", - "illuminate/contracts": "^6.0|^7.0", - "illuminate/database": "^6.0|^7.0", - "illuminate/http": "^6.0|^7.0", - "illuminate/log": "^6.0|^7.0", - "illuminate/notifications": "^6.0|^7.0", - "illuminate/routing": "^6.0|^7.0", - "illuminate/support": "^6.0|^7.0", - "illuminate/view": "^6.0|^7.0", - "moneyphp/money": "^3.2", - "nesbot/carbon": "^2.0", - "php": "^7.2", - "stripe/stripe-php": "^7.0", - "symfony/http-kernel": "^4.3|^5.0", - "symfony/intl": "^4.3|^5.0" - }, - "require-dev": { - "mockery/mockery": "^1.0", - "orchestra/testbench": "^4.0|^5.0", - "phpunit/phpunit": "^8.0|^9.0" - }, - "suggest": { - "ext-intl": "Allows for more locales besides the default \"en\" when formatting money values." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "11.x-dev" - }, - "laravel": { - "providers": [ - "Laravel\\Cashier\\CashierServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Laravel\\Cashier\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylorotwell@gmail.com" - } - ], - "description": "Laravel Cashier provides an expressive, fluent interface to Stripe's subscription billing services.", - "keywords": [ - "billing", - "laravel", - "stripe" - ], - "time": "2020-05-26T17:54:11+00:00" - }, - { - "name": "laravel/framework", - "version": "v7.30.4", - "source": { - "type": "git", - "url": "https://github.com/laravel/framework.git", - "reference": "9dd38140dc2924daa1a020a3d7a45f9ceff03df3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/9dd38140dc2924daa1a020a3d7a45f9ceff03df3", - "reference": "9dd38140dc2924daa1a020a3d7a45f9ceff03df3", - "shasum": "" - }, - "require": { - "doctrine/inflector": "^1.4|^2.0", - "dragonmantank/cron-expression": "^2.3.1", - "egulias/email-validator": "^2.1.10", - "ext-json": "*", - "ext-mbstring": "*", - "ext-openssl": "*", - "league/commonmark": "^1.3", - "league/flysystem": "^1.1", - "monolog/monolog": "^2.0", - "nesbot/carbon": "^2.31", - "opis/closure": "^3.6", - "php": "^7.2.5|^8.0", - "psr/container": "^1.0", - "psr/simple-cache": "^1.0", - "ramsey/uuid": "^3.7|^4.0", - "swiftmailer/swiftmailer": "^6.0", - "symfony/console": "^5.0", - "symfony/error-handler": "^5.0", - "symfony/finder": "^5.0", - "symfony/http-foundation": "^5.0", - "symfony/http-kernel": "^5.0", - "symfony/mime": "^5.0", - "symfony/polyfill-php73": "^1.17", - "symfony/process": "^5.0", - "symfony/routing": "^5.0", - "symfony/var-dumper": "^5.0", - "tijsverkoyen/css-to-inline-styles": "^2.2.2", - "vlucas/phpdotenv": "^4.0", - "voku/portable-ascii": "^1.4.8" - }, - "conflict": { - "tightenco/collect": "<5.5.33" - }, - "provide": { - "psr/container-implementation": "1.0" - }, - "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/filesystem": "self.version", - "illuminate/hashing": "self.version", - "illuminate/http": "self.version", - "illuminate/log": "self.version", - "illuminate/mail": "self.version", - "illuminate/notifications": "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/testing": "self.version", - "illuminate/translation": "self.version", - "illuminate/validation": "self.version", - "illuminate/view": "self.version" - }, - "require-dev": { - "aws/aws-sdk-php": "^3.155", - "doctrine/dbal": "^2.6", - "filp/whoops": "^2.8", - "guzzlehttp/guzzle": "^6.3.1|^7.0.1", - "league/flysystem-cached-adapter": "^1.0", - "mockery/mockery": "~1.3.3|^1.4.2", - "moontoast/math": "^1.1", - "orchestra/testbench-core": "^5.8", - "pda/pheanstalk": "^4.0", - "phpunit/phpunit": "^8.4|^9.3.3", - "predis/predis": "^1.1.1", - "symfony/cache": "^5.0" - }, - "suggest": { - "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.155).", - "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6).", - "ext-ftp": "Required to use the Flysystem FTP driver.", - "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", - "ext-memcached": "Required to use the memcache cache driver.", - "ext-pcntl": "Required to use all features of the queue worker.", - "ext-posix": "Required to use all features of the queue worker.", - "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).", - "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", - "filp/whoops": "Required for friendly error pages in development (^2.8).", - "guzzlehttp/guzzle": "Required to use the HTTP Client, Mailgun mail driver and the ping methods on schedules (^6.3.1|^7.0.1).", - "laravel/tinker": "Required to use the tinker console command (^2.0).", - "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", - "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", - "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", - "mockery/mockery": "Required to use mocking (~1.3.3|^1.4.2).", - "moontoast/math": "Required to use ordered UUIDs (^1.1).", - "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", - "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", - "phpunit/phpunit": "Required to use assertions and run tests (^8.4|^9.3.3).", - "predis/predis": "Required to use the predis connector (^1.1.2).", - "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", - "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0).", - "symfony/cache": "Required to PSR-6 cache bridge (^5.0).", - "symfony/filesystem": "Required to create relative storage directory symbolic links (^5.0).", - "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0).", - "wildbit/swiftmailer-postmark": "Required to use Postmark mail driver (^3.0)." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "7.x-dev" - } - }, - "autoload": { - "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": "taylor@laravel.com" - } - ], - "description": "The Laravel Framework.", - "homepage": "https://laravel.com", - "keywords": [ - "framework", - "laravel" - ], - "time": "2021-01-21T14:10:48+00:00" - }, - { - "name": "laravel/passport", - "version": "v9.3.0", - "source": { - "type": "git", - "url": "https://github.com/laravel/passport.git", - "reference": "724acaea99204728a1baf7b9b730bf97debbf94c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/passport/zipball/724acaea99204728a1baf7b9b730bf97debbf94c", - "reference": "724acaea99204728a1baf7b9b730bf97debbf94c", - "shasum": "" - }, - "require": { - "ext-json": "*", - "firebase/php-jwt": "^5.0", - "guzzlehttp/guzzle": "^6.0|^7.0", - "illuminate/auth": "^6.0|^7.0", - "illuminate/console": "^6.0|^7.0", - "illuminate/container": "^6.0|^7.0", - "illuminate/contracts": "^6.0|^7.0", - "illuminate/cookie": "^6.0|^7.0", - "illuminate/database": "^6.0|^7.0", - "illuminate/encryption": "^6.0|^7.0", - "illuminate/http": "^6.0|^7.0", - "illuminate/support": "^6.0|^7.0", - "laminas/laminas-diactoros": "^2.2", - "league/oauth2-server": "^8.1", - "nyholm/psr7": "^1.0", - "php": "^7.2", - "phpseclib/phpseclib": "^2.0", - "symfony/psr-http-message-bridge": "^2.0" - }, - "require-dev": { - "mockery/mockery": "^1.0", - "orchestra/testbench": "^4.4|^5.0", - "phpunit/phpunit": "^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "9.x-dev" - }, - "laravel": { - "providers": [ - "Laravel\\Passport\\PassportServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Laravel\\Passport\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "Laravel Passport provides OAuth2 server support to Laravel.", - "keywords": [ - "laravel", - "oauth", - "passport" - ], - "time": "2020-06-30T20:21:17+00:00" - }, - { - "name": "laravel/tinker", - "version": "v2.4.1", - "source": { - "type": "git", - "url": "https://github.com/laravel/tinker.git", - "reference": "3c9ef136ca59366bc1b50b7f2500a946d5149c62" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/3c9ef136ca59366bc1b50b7f2500a946d5149c62", - "reference": "3c9ef136ca59366bc1b50b7f2500a946d5149c62", - "shasum": "" - }, - "require": { - "illuminate/console": "^6.0|^7.0|^8.0", - "illuminate/contracts": "^6.0|^7.0|^8.0", - "illuminate/support": "^6.0|^7.0|^8.0", - "php": "^7.2", - "psy/psysh": "^0.10.3", - "symfony/var-dumper": "^4.3|^5.0" - }, - "require-dev": { - "mockery/mockery": "^1.3.1", - "phpunit/phpunit": "^8.4|^9.0" - }, - "suggest": { - "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0)." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - }, - "laravel": { - "providers": [ - "Laravel\\Tinker\\TinkerServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Laravel\\Tinker\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "Powerful REPL for the Laravel framework.", - "keywords": [ - "REPL", - "Tinker", - "laravel", - "psysh" - ], - "time": "2020-07-07T15:10:00+00:00" - }, - { - "name": "laravel/ui", - "version": "v2.0.3", - "source": { - "type": "git", - "url": "https://github.com/laravel/ui.git", - "reference": "15368c5328efb7ce94f35ca750acde9b496ab1b1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/ui/zipball/15368c5328efb7ce94f35ca750acde9b496ab1b1", - "reference": "15368c5328efb7ce94f35ca750acde9b496ab1b1", - "shasum": "" - }, - "require": { - "illuminate/console": "^7.0", - "illuminate/filesystem": "^7.0", - "illuminate/support": "^7.0", - "php": "^7.2.5" - }, - "require-dev": { - "mockery/mockery": "^1.0", - "phpunit/phpunit": "^8.0" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Laravel\\Ui\\UiServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Laravel\\Ui\\": "src/", - "Illuminate\\Foundation\\Auth\\": "auth-backend/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "Laravel UI utilities and presets.", - "keywords": [ - "laravel", - "ui" - ], - "time": "2020-04-29T15:06:45+00:00" - }, - { - "name": "lcobucci/jwt", - "version": "3.3.2", - "source": { - "type": "git", - "url": "https://github.com/lcobucci/jwt.git", - "reference": "56f10808089e38623345e28af2f2d5e4eb579455" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/lcobucci/jwt/zipball/56f10808089e38623345e28af2f2d5e4eb579455", - "reference": "56f10808089e38623345e28af2f2d5e4eb579455", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "ext-openssl": "*", - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "mikey179/vfsstream": "~1.5", - "phpmd/phpmd": "~2.2", - "phpunit/php-invoker": "~1.1", - "phpunit/phpunit": "^5.7 || ^7.3", - "squizlabs/php_codesniffer": "~2.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.1-dev" - } - }, - "autoload": { - "psr-4": { - "Lcobucci\\JWT\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Luís Otávio Cobucci Oblonczyk", - "email": "lcobucci@gmail.com", - "role": "Developer" - } - ], - "description": "A simple library to work with JSON Web Token and JSON Web Signature", - "keywords": [ - "JWS", - "jwt" - ], - "funding": [ - { - "url": "https://github.com/lcobucci", - "type": "github" - }, - { - "url": "https://www.patreon.com/lcobucci", - "type": "patreon" - } - ], - "time": "2020-05-22T08:21:12+00:00" - }, - { - "name": "league/commonmark", - "version": "1.5.7", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/commonmark.git", - "reference": "11df9b36fd4f1d2b727a73bf14931d81373b9a54" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/11df9b36fd4f1d2b727a73bf14931d81373b9a54", - "reference": "11df9b36fd4f1d2b727a73bf14931d81373b9a54", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "php": "^7.1 || ^8.0" - }, - "conflict": { - "scrutinizer/ocular": "1.7.*" - }, - "require-dev": { - "cebe/markdown": "~1.0", - "commonmark/commonmark.js": "0.29.2", - "erusev/parsedown": "~1.0", - "ext-json": "*", - "github/gfm": "0.29.0", - "michelf/php-markdown": "~1.4", - "mikehaertl/php-shellcommand": "^1.4", - "phpstan/phpstan": "^0.12", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.2", - "scrutinizer/ocular": "^1.5", - "symfony/finder": "^4.2" - }, - "bin": [ - "bin/commonmark" - ], - "type": "library", - "autoload": { - "psr-4": { - "League\\CommonMark\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Colin O'Dell", - "email": "colinodell@gmail.com", - "homepage": "https://www.colinodell.com", - "role": "Lead Developer" - } - ], - "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and Github-Flavored Markdown (GFM)", - "homepage": "https://commonmark.thephpleague.com", - "keywords": [ - "commonmark", - "flavored", - "gfm", - "github", - "github-flavored", - "markdown", - "md", - "parser" - ], - "funding": [ - { - "url": "https://enjoy.gitstore.app/repositories/thephpleague/commonmark", - "type": "custom" - }, - { - "url": "https://www.colinodell.com/sponsor", - "type": "custom" - }, - { - "url": "https://www.paypal.me/colinpodell/10.00", - "type": "custom" - }, - { - "url": "https://github.com/colinodell", - "type": "github" - }, - { - "url": "https://www.patreon.com/colinodell", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/league/commonmark", - "type": "tidelift" - } - ], - "time": "2020-10-31T13:49:32+00:00" - }, - { - "name": "league/event", - "version": "2.2.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/event.git", - "reference": "d2cc124cf9a3fab2bb4ff963307f60361ce4d119" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/event/zipball/d2cc124cf9a3fab2bb4ff963307f60361ce4d119", - "reference": "d2cc124cf9a3fab2bb4ff963307f60361ce4d119", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "henrikbjorn/phpspec-code-coverage": "~1.0.1", - "phpspec/phpspec": "^2.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2-dev" - } - }, - "autoload": { - "psr-4": { - "League\\Event\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Frank de Jonge", - "email": "info@frenky.net" - } - ], - "description": "Event package", - "keywords": [ - "emitter", - "event", - "listener" - ], - "time": "2018-11-26T11:52:41+00:00" - }, - { - "name": "league/flysystem", - "version": "1.1.4", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/flysystem.git", - "reference": "f3ad69181b8afed2c9edf7be5a2918144ff4ea32" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/f3ad69181b8afed2c9edf7be5a2918144ff4ea32", - "reference": "f3ad69181b8afed2c9edf7be5a2918144ff4ea32", - "shasum": "" - }, - "require": { - "ext-fileinfo": "*", - "league/mime-type-detection": "^1.3", - "php": "^7.2.5 || ^8.0" - }, - "conflict": { - "league/flysystem-sftp": "<1.0.6" - }, - "require-dev": { - "phpspec/prophecy": "^1.11.1", - "phpunit/phpunit": "^8.5.8" - }, - "suggest": { - "ext-ftp": "Allows you to use FTP server storage", - "ext-openssl": "Allows you to use FTPS server storage", - "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" - ], - "funding": [ - { - "url": "https://offset.earth/frankdejonge", - "type": "other" - } - ], - "time": "2021-06-23T21:56:05+00:00" - }, - { - "name": "league/mime-type-detection", - "version": "1.7.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3", - "reference": "3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3", - "shasum": "" - }, - "require": { - "ext-fileinfo": "*", - "php": "^7.2 || ^8.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.18", - "phpstan/phpstan": "^0.12.68", - "phpunit/phpunit": "^8.5.8 || ^9.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "League\\MimeTypeDetection\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Frank de Jonge", - "email": "info@frankdejonge.nl" - } - ], - "description": "Mime-type detection for Flysystem", - "funding": [ - { - "url": "https://github.com/frankdejonge", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/league/flysystem", - "type": "tidelift" - } - ], - "time": "2021-01-18T20:58:21+00:00" - }, - { - "name": "league/oauth2-server", - "version": "8.1.1", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/oauth2-server.git", - "reference": "09f22e8121fa1832962dba18213b80d4267ef8a3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/oauth2-server/zipball/09f22e8121fa1832962dba18213b80d4267ef8a3", - "reference": "09f22e8121fa1832962dba18213b80d4267ef8a3", - "shasum": "" - }, - "require": { - "defuse/php-encryption": "^2.2.1", - "ext-json": "*", - "ext-openssl": "*", - "lcobucci/jwt": "^3.3.1", - "league/event": "^2.2", - "php": ">=7.2.0", - "psr/http-message": "^1.0.1" - }, - "replace": { - "league/oauth2server": "*", - "lncd/oauth2": "*" - }, - "require-dev": { - "laminas/laminas-diactoros": "^2.3.0", - "phpstan/phpstan": "^0.11.19", - "phpstan/phpstan-phpunit": "^0.11.2", - "phpunit/phpunit": "^8.5.4 || ^9.1.3", - "roave/security-advisories": "dev-master" - }, - "type": "library", - "autoload": { - "psr-4": { - "League\\OAuth2\\Server\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Alex Bilbie", - "email": "hello@alexbilbie.com", - "homepage": "http://www.alexbilbie.com", - "role": "Developer" - }, - { - "name": "Andy Millington", - "email": "andrew@noexceptions.io", - "homepage": "https://www.noexceptions.io", - "role": "Developer" - } - ], - "description": "A lightweight and powerful OAuth 2.0 authorization and resource server library with support for all the core specification grants. This library will allow you to secure your API with OAuth and allow your applications users to approve apps that want to access their data from your API.", - "homepage": "https://oauth2.thephpleague.com/", - "keywords": [ - "Authentication", - "api", - "auth", - "authorisation", - "authorization", - "oauth", - "oauth 2", - "oauth 2.0", - "oauth2", - "protect", - "resource", - "secure", - "server" - ], - "funding": [ - { - "url": "https://github.com/sephster", - "type": "github" - } - ], - "time": "2020-07-01T11:33:50+00:00" - }, - { - "name": "maatwebsite/excel", - "version": "3.1.19", - "source": { - "type": "git", - "url": "https://github.com/Maatwebsite/Laravel-Excel.git", - "reference": "96527a9ebc2e79e9a5fa7eaef7e23c9e9bcc587c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Maatwebsite/Laravel-Excel/zipball/96527a9ebc2e79e9a5fa7eaef7e23c9e9bcc587c", - "reference": "96527a9ebc2e79e9a5fa7eaef7e23c9e9bcc587c", - "shasum": "" - }, - "require": { - "ext-json": "*", - "illuminate/support": "5.5.*|5.6.*|5.7.*|5.8.*|^6.0|^7.0", - "php": "^7.0", - "phpoffice/phpspreadsheet": "^1.10" - }, - "require-dev": { - "mockery/mockery": "^1.1", - "orchestra/database": "^4.0", - "orchestra/testbench": "^4.0", - "phpunit/phpunit": "^8.0", - "predis/predis": "^1.1" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Maatwebsite\\Excel\\ExcelServiceProvider" - ], - "aliases": { - "Excel": "Maatwebsite\\Excel\\Facades\\Excel" - } - } - }, - "autoload": { - "psr-4": { - "Maatwebsite\\Excel\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Patrick Brouwers", - "email": "patrick@maatwebsite.nl" - } - ], - "description": "Supercharged Excel exports and imports in Laravel", - "keywords": [ - "PHPExcel", - "batch", - "csv", - "excel", - "export", - "import", - "laravel", - "php", - "phpspreadsheet" - ], - "funding": [ - { - "url": "https://laravel-excel.com/commercial-support", - "type": "custom" - }, - { - "url": "https://github.com/patrickbrouwers", - "type": "github" - } - ], - "time": "2020-02-28T15:47:45+00:00" - }, - { - "name": "maennchen/zipstream-php", - "version": "2.1.0", - "source": { - "type": "git", - "url": "https://github.com/maennchen/ZipStream-PHP.git", - "reference": "c4c5803cc1f93df3d2448478ef79394a5981cc58" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/c4c5803cc1f93df3d2448478ef79394a5981cc58", - "reference": "c4c5803cc1f93df3d2448478ef79394a5981cc58", - "shasum": "" - }, - "require": { - "myclabs/php-enum": "^1.5", - "php": ">= 7.1", - "psr/http-message": "^1.0", - "symfony/polyfill-mbstring": "^1.0" - }, - "require-dev": { - "ext-zip": "*", - "guzzlehttp/guzzle": ">= 6.3", - "mikey179/vfsstream": "^1.6", - "phpunit/phpunit": ">= 7.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "ZipStream\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paul Duncan", - "email": "pabs@pablotron.org" - }, - { - "name": "Jonatan Männchen", - "email": "jonatan@maennchen.ch" - }, - { - "name": "Jesse Donat", - "email": "donatj@gmail.com" - }, - { - "name": "András Kolesár", - "email": "kolesar@kolesar.hu" - } - ], - "description": "ZipStream is a library for dynamically streaming dynamic zip files from PHP without writing to the disk at all on the server.", - "keywords": [ - "stream", - "zip" - ], - "funding": [ - { - "url": "https://opencollective.com/zipstream", - "type": "open_collective" - } - ], - "time": "2020-05-30T13:11:16+00:00" - }, - { - "name": "markbaker/complex", - "version": "1.4.8", - "source": { - "type": "git", - "url": "https://github.com/MarkBaker/PHPComplex.git", - "reference": "8eaa40cceec7bf0518187530b2e63871be661b72" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/MarkBaker/PHPComplex/zipball/8eaa40cceec7bf0518187530b2e63871be661b72", - "reference": "8eaa40cceec7bf0518187530b2e63871be661b72", - "shasum": "" - }, - "require": { - "php": "^5.6.0|^7.0.0" - }, - "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "^0.5.0", - "phpcompatibility/php-compatibility": "^9.0", - "phpdocumentor/phpdocumentor": "2.*", - "phploc/phploc": "2.*", - "phpmd/phpmd": "2.*", - "phpunit/phpunit": "^4.8.35|^5.4.0", - "sebastian/phpcpd": "2.*", - "squizlabs/php_codesniffer": "^3.4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Complex\\": "classes/src/" - }, - "files": [ - "classes/src/functions/abs.php", - "classes/src/functions/acos.php", - "classes/src/functions/acosh.php", - "classes/src/functions/acot.php", - "classes/src/functions/acoth.php", - "classes/src/functions/acsc.php", - "classes/src/functions/acsch.php", - "classes/src/functions/argument.php", - "classes/src/functions/asec.php", - "classes/src/functions/asech.php", - "classes/src/functions/asin.php", - "classes/src/functions/asinh.php", - "classes/src/functions/atan.php", - "classes/src/functions/atanh.php", - "classes/src/functions/conjugate.php", - "classes/src/functions/cos.php", - "classes/src/functions/cosh.php", - "classes/src/functions/cot.php", - "classes/src/functions/coth.php", - "classes/src/functions/csc.php", - "classes/src/functions/csch.php", - "classes/src/functions/exp.php", - "classes/src/functions/inverse.php", - "classes/src/functions/ln.php", - "classes/src/functions/log2.php", - "classes/src/functions/log10.php", - "classes/src/functions/negative.php", - "classes/src/functions/pow.php", - "classes/src/functions/rho.php", - "classes/src/functions/sec.php", - "classes/src/functions/sech.php", - "classes/src/functions/sin.php", - "classes/src/functions/sinh.php", - "classes/src/functions/sqrt.php", - "classes/src/functions/tan.php", - "classes/src/functions/tanh.php", - "classes/src/functions/theta.php", - "classes/src/operations/add.php", - "classes/src/operations/subtract.php", - "classes/src/operations/multiply.php", - "classes/src/operations/divideby.php", - "classes/src/operations/divideinto.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mark Baker", - "email": "mark@lange.demon.co.uk" - } - ], - "description": "PHP Class for working with complex numbers", - "homepage": "https://github.com/MarkBaker/PHPComplex", - "keywords": [ - "complex", - "mathematics" - ], - "time": "2020-03-11T20:15:49+00:00" - }, - { - "name": "markbaker/matrix", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/MarkBaker/PHPMatrix.git", - "reference": "5348c5a67e3b75cd209d70103f916a93b1f1ed21" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/MarkBaker/PHPMatrix/zipball/5348c5a67e3b75cd209d70103f916a93b1f1ed21", - "reference": "5348c5a67e3b75cd209d70103f916a93b1f1ed21", - "shasum": "" - }, - "require": { - "php": "^5.6.0|^7.0.0" - }, - "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "dev-master", - "phpcompatibility/php-compatibility": "dev-master", - "phploc/phploc": "^4", - "phpmd/phpmd": "dev-master", - "phpunit/phpunit": "^5.7", - "sebastian/phpcpd": "^3.0", - "squizlabs/php_codesniffer": "^3.0@dev" - }, - "type": "library", - "autoload": { - "psr-4": { - "Matrix\\": "classes/src/" - }, - "files": [ - "classes/src/functions/adjoint.php", - "classes/src/functions/antidiagonal.php", - "classes/src/functions/cofactors.php", - "classes/src/functions/determinant.php", - "classes/src/functions/diagonal.php", - "classes/src/functions/identity.php", - "classes/src/functions/inverse.php", - "classes/src/functions/minors.php", - "classes/src/functions/trace.php", - "classes/src/functions/transpose.php", - "classes/src/operations/add.php", - "classes/src/operations/directsum.php", - "classes/src/operations/subtract.php", - "classes/src/operations/multiply.php", - "classes/src/operations/divideby.php", - "classes/src/operations/divideinto.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mark Baker", - "email": "mark@lange.demon.co.uk" - } - ], - "description": "PHP Class for working with matrices", - "homepage": "https://github.com/MarkBaker/PHPMatrix", - "keywords": [ - "mathematics", - "matrix", - "vector" - ], - "time": "2019-10-06T11:29:25+00:00" - }, - { - "name": "mavinoo/laravel-batch", - "version": "v2.1.9", - "source": { - "type": "git", - "url": "https://github.com/mavinoo/laravelBatch.git", - "reference": "05f9ac177cc696245506127e0cdcc858daa9fe65" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mavinoo/laravelBatch/zipball/05f9ac177cc696245506127e0cdcc858daa9fe65", - "reference": "05f9ac177cc696245506127e0cdcc858daa9fe65", - "shasum": "" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Mavinoo\\Batch\\BatchServiceProvider" - ], - "aliases": { - "Batch": "Mavinoo\\Batch\\BatchFacade" - } - } - }, - "autoload": { - "psr-4": { - "Mavinoo\\Batch\\": "src/" - }, - "files": [ - "src/Common/Helpers.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mohammad Ghanbari", - "email": "mavin.developer@gmail.com" - } - ], - "description": "Insert and update batch (bulk) in laravel", - "time": "2020-05-20T09:50:27+00:00" - }, - { - "name": "moneyphp/money", - "version": "v3.3.1", - "source": { - "type": "git", - "url": "https://github.com/moneyphp/money.git", - "reference": "122664c2621a95180a13c1ac81fea1d2ef20781e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/moneyphp/money/zipball/122664c2621a95180a13c1ac81fea1d2ef20781e", - "reference": "122664c2621a95180a13c1ac81fea1d2ef20781e", - "shasum": "" - }, - "require": { - "ext-json": "*", - "php": ">=5.6" - }, - "require-dev": { - "cache/taggable-cache": "^0.4.0", - "doctrine/instantiator": "^1.0.5", - "ext-bcmath": "*", - "ext-gmp": "*", - "ext-intl": "*", - "florianv/exchanger": "^1.0", - "florianv/swap": "^3.0", - "friends-of-phpspec/phpspec-code-coverage": "^3.1.1 || ^4.3", - "moneyphp/iso-currencies": "^3.2.1", - "php-http/message": "^1.4", - "php-http/mock-client": "^1.0.0", - "phpspec/phpspec": "^3.4.3", - "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.5.18 || ^8.5", - "psr/cache": "^1.0", - "symfony/phpunit-bridge": "^4" - }, - "suggest": { - "ext-bcmath": "Calculate without integer limits", - "ext-gmp": "Calculate without integer limits", - "ext-intl": "Format Money objects with intl", - "florianv/exchanger": "Exchange rates library for PHP", - "florianv/swap": "Exchange rates library for PHP", - "psr/cache-implementation": "Used for Currency caching" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Money\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mathias Verraes", - "email": "mathias@verraes.net", - "homepage": "http://verraes.net" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - }, - { - "name": "Frederik Bosch", - "email": "f.bosch@genkgo.nl" - } - ], - "description": "PHP implementation of Fowler's Money pattern", - "homepage": "http://moneyphp.org", - "keywords": [ - "Value Object", - "money", - "vo" - ], - "time": "2020-03-18T17:49:59+00:00" - }, - { - "name": "monolog/monolog", - "version": "2.2.0", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "1cb1cde8e8dd0f70cc0fe51354a59acad9302084" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1cb1cde8e8dd0f70cc0fe51354a59acad9302084", - "reference": "1cb1cde8e8dd0f70cc0fe51354a59acad9302084", - "shasum": "" - }, - "require": { - "php": ">=7.2", - "psr/log": "^1.0.1" - }, - "provide": { - "psr/log-implementation": "1.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "elasticsearch/elasticsearch": "^7", - "graylog2/gelf-php": "^1.4.2", - "mongodb/mongodb": "^1.8", - "php-amqplib/php-amqplib": "~2.4", - "php-console/php-console": "^3.1.3", - "phpspec/prophecy": "^1.6.1", - "phpstan/phpstan": "^0.12.59", - "phpunit/phpunit": "^8.5", - "predis/predis": "^1.1", - "rollbar/rollbar": "^1.3", - "ruflin/elastica": ">=0.90 <7.0.1", - "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", - "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mbstring": "Allow to work properly with unicode symbols", - "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", - "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" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.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": "https://seld.be" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "https://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "funding": [ - { - "url": "https://github.com/Seldaek", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", - "type": "tidelift" - } - ], - "time": "2020-12-14T13:15:25+00:00" - }, - { - "name": "myclabs/php-enum", - "version": "1.7.6", - "source": { - "type": "git", - "url": "https://github.com/myclabs/php-enum.git", - "reference": "5f36467c7a87e20fbdc51e524fd8f9d1de80187c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/php-enum/zipball/5f36467c7a87e20fbdc51e524fd8f9d1de80187c", - "reference": "5f36467c7a87e20fbdc51e524fd8f9d1de80187c", - "shasum": "" - }, - "require": { - "ext-json": "*", - "php": ">=7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7", - "squizlabs/php_codesniffer": "1.*", - "vimeo/psalm": "^3.8" - }, - "type": "library", - "autoload": { - "psr-4": { - "MyCLabs\\Enum\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP Enum contributors", - "homepage": "https://github.com/myclabs/php-enum/graphs/contributors" - } - ], - "description": "PHP Enum implementation", - "homepage": "http://github.com/myclabs/php-enum", - "keywords": [ - "enum" - ], - "time": "2020-02-14T08:15:52+00:00" - }, - { - "name": "nesbot/carbon", - "version": "2.44.0", - "source": { - "type": "git", - "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "e6ef33cb1f67a4bed831ed6d0f7e156739a5d8cd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/e6ef33cb1f67a4bed831ed6d0f7e156739a5d8cd", - "reference": "e6ef33cb1f67a4bed831ed6d0f7e156739a5d8cd", - "shasum": "" - }, - "require": { - "ext-json": "*", - "php": "^7.1.8 || ^8.0", - "symfony/polyfill-mbstring": "^1.0", - "symfony/translation": "^3.4 || ^4.0 || ^5.0" - }, - "require-dev": { - "doctrine/orm": "^2.7", - "friendsofphp/php-cs-fixer": "^2.14 || ^3.0", - "kylekatarnls/multi-tester": "^2.0", - "phpmd/phpmd": "^2.9", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12.54", - "phpunit/phpunit": "^7.5.20 || ^8.5.14", - "squizlabs/php_codesniffer": "^3.4" - }, - "bin": [ - "bin/carbon" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev", - "dev-3.x": "3.x-dev" - }, - "laravel": { - "providers": [ - "Carbon\\Laravel\\ServiceProvider" - ] - }, - "phpstan": { - "includes": [ - "extension.neon" - ] - } - }, - "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" - }, - { - "name": "kylekatarnls", - "homepage": "http://github.com/kylekatarnls" - } - ], - "description": "An API extension for DateTime that supports 281 different languages.", - "homepage": "http://carbon.nesbot.com", - "keywords": [ - "date", - "datetime", - "time" - ], - "funding": [ - { - "url": "https://opencollective.com/Carbon", - "type": "open_collective" - }, - { - "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon", - "type": "tidelift" - } - ], - "time": "2021-01-26T20:46:41+00:00" - }, - { - "name": "nikic/php-parser", - "version": "v4.6.0", - "source": { - "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "c346bbfafe2ff60680258b631afb730d186ed864" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/c346bbfafe2ff60680258b631afb730d186ed864", - "reference": "c346bbfafe2ff60680258b631afb730d186ed864", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=7.0" - }, - "require-dev": { - "ircmaxell/php-yacc": "0.0.5", - "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0" - }, - "bin": [ - "bin/php-parse" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.3-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": "2020-07-02T17:12:47+00:00" - }, - { - "name": "nyholm/psr7", - "version": "1.3.0", - "source": { - "type": "git", - "url": "https://github.com/Nyholm/psr7.git", - "reference": "c17f4f73985f62054a331cbc4ffdf9868c4ef256" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Nyholm/psr7/zipball/c17f4f73985f62054a331cbc4ffdf9868c4ef256", - "reference": "c17f4f73985f62054a331cbc4ffdf9868c4ef256", - "shasum": "" - }, - "require": { - "php": "^7.1", - "php-http/message-factory": "^1.0", - "psr/http-factory": "^1.0", - "psr/http-message": "^1.0" - }, - "provide": { - "psr/http-factory-implementation": "1.0", - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "http-interop/http-factory-tests": "dev-master", - "php-http/psr7-integration-tests": "^1.0", - "phpunit/phpunit": "^7.5", - "symfony/error-handler": "^4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-4": { - "Nyholm\\Psr7\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com" - }, - { - "name": "Martijn van der Ven", - "email": "martijn@vanderven.se" - } - ], - "description": "A fast PHP7 implementation of PSR-7", - "homepage": "http://tnyholm.se", - "keywords": [ - "psr-17", - "psr-7" - ], - "funding": [ - { - "url": "https://github.com/Zegnat", - "type": "github" - }, - { - "url": "https://github.com/nyholm", - "type": "github" - } - ], - "time": "2020-05-23T11:29:07+00:00" - }, - { - "name": "opis/closure", - "version": "3.6.1", - "source": { - "type": "git", - "url": "https://github.com/opis/closure.git", - "reference": "943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/opis/closure/zipball/943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5", - "reference": "943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5", - "shasum": "" - }, - "require": { - "php": "^5.4 || ^7.0 || ^8.0" - }, - "require-dev": { - "jeremeamia/superclosure": "^2.0", - "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.6.x-dev" - } - }, - "autoload": { - "psr-4": { - "Opis\\Closure\\": "src/" - }, - "files": [ - "functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marius Sarca", - "email": "marius.sarca@gmail.com" - }, - { - "name": "Sorin Sarca", - "email": "sarca_sorin@hotmail.com" - } - ], - "description": "A library that can be used to serialize closures (anonymous functions) and arbitrary objects.", - "homepage": "https://opis.io/closure", - "keywords": [ - "anonymous functions", - "closure", - "function", - "serializable", - "serialization", - "serialize" - ], - "time": "2020-11-07T02:01:34+00:00" - }, - { - "name": "paragonie/random_compat", - "version": "v9.99.100", - "source": { - "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a", - "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a", - "shasum": "" - }, - "require": { - "php": ">= 7" - }, - "require-dev": { - "phpunit/phpunit": "4.*|5.*", - "vimeo/psalm": "^1" - }, - "suggest": { - "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." - }, - "type": "library", - "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", - "polyfill", - "pseudorandom", - "random" - ], - "time": "2020-10-15T08:29:30+00:00" - }, - { - "name": "phenx/php-font-lib", - "version": "0.5.2", - "source": { - "type": "git", - "url": "https://github.com/PhenX/php-font-lib.git", - "reference": "ca6ad461f032145fff5971b5985e5af9e7fa88d8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/PhenX/php-font-lib/zipball/ca6ad461f032145fff5971b5985e5af9e7fa88d8", - "reference": "ca6ad461f032145fff5971b5985e5af9e7fa88d8", - "shasum": "" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5 || ^6 || ^7" - }, - "type": "library", - "autoload": { - "psr-4": { - "FontLib\\": "src/FontLib" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-3.0" - ], - "authors": [ - { - "name": "Fabien Ménager", - "email": "fabien.menager@gmail.com" - } - ], - "description": "A library to read, parse, export and make subsets of different types of font files.", - "homepage": "https://github.com/PhenX/php-font-lib", - "time": "2020-03-08T15:31:32+00:00" - }, - { - "name": "phenx/php-svg-lib", - "version": "v0.3.3", - "source": { - "type": "git", - "url": "https://github.com/PhenX/php-svg-lib.git", - "reference": "5fa61b65e612ce1ae15f69b3d223cb14ecc60e32" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/PhenX/php-svg-lib/zipball/5fa61b65e612ce1ae15f69b3d223cb14ecc60e32", - "reference": "5fa61b65e612ce1ae15f69b3d223cb14ecc60e32", - "shasum": "" - }, - "require": { - "sabberworm/php-css-parser": "^8.3" - }, - "require-dev": { - "phpunit/phpunit": "^5.5|^6.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Svg\\": "src/Svg" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-3.0" - ], - "authors": [ - { - "name": "Fabien Ménager", - "email": "fabien.menager@gmail.com" - } - ], - "description": "A library to read, parse and export to PDF SVG files.", - "homepage": "https://github.com/PhenX/php-svg-lib", - "time": "2019-09-11T20:02:13+00:00" - }, - { - "name": "php-http/message-factory", - "version": "v1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-http/message-factory.git", - "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/message-factory/zipball/a478cb11f66a6ac48d8954216cfed9aa06a501a1", - "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1", - "shasum": "" - }, - "require": { - "php": ">=5.4", - "psr/http-message": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-4": { - "Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - } - ], - "description": "Factory interfaces for PSR-7 HTTP Message", - "homepage": "http://php-http.org", - "keywords": [ - "factory", - "http", - "message", - "stream", - "uri" - ], - "time": "2015-12-19T14:08:53+00:00" - }, - { - "name": "phpoffice/phpspreadsheet", - "version": "1.13.0", - "source": { - "type": "git", - "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", - "reference": "21bfb5b3243b8ceb9eda499a4d699fc42c11a9d1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/21bfb5b3243b8ceb9eda499a4d699fc42c11a9d1", - "reference": "21bfb5b3243b8ceb9eda499a4d699fc42c11a9d1", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "ext-dom": "*", - "ext-fileinfo": "*", - "ext-gd": "*", - "ext-iconv": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-simplexml": "*", - "ext-xml": "*", - "ext-xmlreader": "*", - "ext-xmlwriter": "*", - "ext-zip": "*", - "ext-zlib": "*", - "maennchen/zipstream-php": "^2.0", - "markbaker/complex": "^1.4", - "markbaker/matrix": "^1.2", - "php": "^7.2", - "psr/simple-cache": "^1.0" - }, - "require-dev": { - "dompdf/dompdf": "^0.8.5", - "friendsofphp/php-cs-fixer": "^2.16", - "jpgraph/jpgraph": "^4.0", - "mpdf/mpdf": "^8.0", - "phpcompatibility/php-compatibility": "^9.3", - "phpunit/phpunit": "^8.5", - "squizlabs/php_codesniffer": "^3.5", - "tecnickcom/tcpdf": "^6.3" - }, - "suggest": { - "dompdf/dompdf": "Option for rendering PDF with PDF Writer", - "jpgraph/jpgraph": "Option for rendering charts, or including charts with PDF or HTML Writers", - "mpdf/mpdf": "Option for rendering PDF with PDF Writer", - "tecnickcom/tcpdf": "Option for rendering PDF with PDF Writer" - }, - "type": "library", - "autoload": { - "psr-4": { - "PhpOffice\\PhpSpreadsheet\\": "src/PhpSpreadsheet" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Maarten Balliauw", - "homepage": "https://blog.maartenballiauw.be" - }, - { - "name": "Mark Baker", - "homepage": "https://markbakeruk.net" - }, - { - "name": "Franck Lefevre", - "homepage": "https://rootslabs.net" - }, - { - "name": "Erik Tilt" - }, - { - "name": "Adrien Crivelli" - } - ], - "description": "PHPSpreadsheet - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine", - "homepage": "https://github.com/PHPOffice/PhpSpreadsheet", - "keywords": [ - "OpenXML", - "excel", - "gnumeric", - "ods", - "php", - "spreadsheet", - "xls", - "xlsx" - ], - "time": "2020-05-31T13:49:28+00:00" - }, - { - "name": "phpoption/phpoption", - "version": "1.7.5", - "source": { - "type": "git", - "url": "https://github.com/schmittjoh/php-option.git", - "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/994ecccd8f3283ecf5ac33254543eb0ac946d525", - "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525", - "shasum": "" - }, - "require": { - "php": "^5.5.9 || ^7.0 || ^8.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", - "phpunit/phpunit": "^4.8.35 || ^5.7.27 || ^6.5.6 || ^7.0 || ^8.0 || ^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.7-dev" - } - }, - "autoload": { - "psr-4": { - "PhpOption\\": "src/PhpOption/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Johannes M. Schmitt", - "email": "schmittjoh@gmail.com" - }, - { - "name": "Graham Campbell", - "email": "graham@alt-three.com" - } - ], - "description": "Option Type for PHP", - "keywords": [ - "language", - "option", - "php", - "type" - ], - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", - "type": "tidelift" - } - ], - "time": "2020-07-20T17:29:33+00:00" - }, - { - "name": "phpseclib/phpseclib", - "version": "2.0.31", - "source": { - "type": "git", - "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "233a920cb38636a43b18d428f9a8db1f0a1a08f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/233a920cb38636a43b18d428f9a8db1f0a1a08f4", - "reference": "233a920cb38636a43b18d428f9a8db1f0a1a08f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phing/phing": "~2.7", - "phpunit/phpunit": "^4.8.35|^5.7|^6.0|^9.4", - "squizlabs/php_codesniffer": "~2.0" - }, - "suggest": { - "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", - "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", - "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", - "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." - }, - "type": "library", - "autoload": { - "files": [ - "phpseclib/bootstrap.php" - ], - "psr-4": { - "phpseclib\\": "phpseclib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jim Wigginton", - "email": "terrafrost@php.net", - "role": "Lead Developer" - }, - { - "name": "Patrick Monnerat", - "email": "pm@datasphere.ch", - "role": "Developer" - }, - { - "name": "Andreas Fischer", - "email": "bantu@phpbb.com", - "role": "Developer" - }, - { - "name": "Hans-Jürgen Petrich", - "email": "petrich@tronic-media.com", - "role": "Developer" - }, - { - "name": "Graham Campbell", - "email": "graham@alt-three.com", - "role": "Developer" - } - ], - "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", - "homepage": "http://phpseclib.sourceforge.net", - "keywords": [ - "BigInteger", - "aes", - "asn.1", - "asn1", - "blowfish", - "crypto", - "cryptography", - "encryption", - "rsa", - "security", - "sftp", - "signature", - "signing", - "ssh", - "twofish", - "x.509", - "x509" - ], - "funding": [ - { - "url": "https://github.com/terrafrost", - "type": "github" - }, - { - "url": "https://www.patreon.com/phpseclib", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpseclib/phpseclib", - "type": "tidelift" - } - ], - "time": "2021-04-06T13:56:45+00:00" - }, - { - "name": "psr/container", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf", - "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf", - "shasum": "" - }, - "require": { - "php": ">=7.2.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ], - "time": "2021-03-05T17:36:06+00:00" - }, - { - "name": "psr/event-dispatcher", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/event-dispatcher.git", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", - "shasum": "" - }, - "require": { - "php": ">=7.2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\EventDispatcher\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Standard interfaces for event handling.", - "keywords": [ - "events", - "psr", - "psr-14" - ], - "time": "2019-01-08T18:20:26+00:00" - }, - { - "name": "psr/http-factory", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-factory.git", - "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be", - "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be", - "shasum": "" - }, - "require": { - "php": ">=7.0.0", - "psr/http-message": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interfaces for PSR-7 HTTP message factories", - "keywords": [ - "factory", - "http", - "message", - "psr", - "psr-17", - "psr-7", - "request", - "response" - ], - "time": "2019-04-30T12:38:16+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.1.3", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc", - "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.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": "2020-03-23T09:12:05+00:00" - }, - { - "name": "psr/simple-cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/simple-cache.git", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\SimpleCache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interfaces for simple caching", - "keywords": [ - "cache", - "caching", - "psr", - "psr-16", - "simple-cache" - ], - "time": "2017-10-23T01:57:42+00:00" - }, - { - "name": "psy/psysh", - "version": "v0.10.4", - "source": { - "type": "git", - "url": "https://github.com/bobthecow/psysh.git", - "reference": "a8aec1b2981ab66882a01cce36a49b6317dc3560" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/a8aec1b2981ab66882a01cce36a49b6317dc3560", - "reference": "a8aec1b2981ab66882a01cce36a49b6317dc3560", - "shasum": "" - }, - "require": { - "dnoegel/php-xdg-base-dir": "0.1.*", - "ext-json": "*", - "ext-tokenizer": "*", - "nikic/php-parser": "~4.0|~3.0|~2.0|~1.3", - "php": "^8.0 || ^7.0 || ^5.5.9", - "symfony/console": "~5.0|~4.0|~3.0|^2.4.2|~2.3.10", - "symfony/var-dumper": "~5.0|~4.0|~3.0|~2.7" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.2", - "hoa/console": "3.17.*" - }, - "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.", - "hoa/console": "A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit." - }, - "bin": [ - "bin/psysh" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.10.x-dev" - } - }, - "autoload": { - "files": [ - "src/functions.php" - ], - "psr-4": { - "Psy\\": "src/" - } - }, - "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": "2020-05-03T19:32:03+00:00" - }, - { - "name": "ralouphie/getallheaders", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/ralouphie/getallheaders.git", - "reference": "120b605dfeb996808c31b6477290a714d356e822" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", - "reference": "120b605dfeb996808c31b6477290a714d356e822", - "shasum": "" - }, - "require": { - "php": ">=5.6" - }, - "require-dev": { - "php-coveralls/php-coveralls": "^2.1", - "phpunit/phpunit": "^5 || ^6.5" - }, - "type": "library", - "autoload": { - "files": [ - "src/getallheaders.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ralph Khattar", - "email": "ralph.khattar@gmail.com" - } - ], - "description": "A polyfill for getallheaders.", - "time": "2019-03-08T08:55:37+00:00" - }, - { - "name": "ramsey/collection", - "version": "1.1.3", - "source": { - "type": "git", - "url": "https://github.com/ramsey/collection.git", - "reference": "28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1", - "reference": "28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8" - }, - "require-dev": { - "captainhook/captainhook": "^5.3", - "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", - "ergebnis/composer-normalize": "^2.6", - "fakerphp/faker": "^1.5", - "hamcrest/hamcrest-php": "^2", - "jangregor/phpstan-prophecy": "^0.8", - "mockery/mockery": "^1.3", - "phpstan/extension-installer": "^1", - "phpstan/phpstan": "^0.12.32", - "phpstan/phpstan-mockery": "^0.12.5", - "phpstan/phpstan-phpunit": "^0.12.11", - "phpunit/phpunit": "^8.5 || ^9", - "psy/psysh": "^0.10.4", - "slevomat/coding-standard": "^6.3", - "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Ramsey\\Collection\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ben Ramsey", - "email": "ben@benramsey.com", - "homepage": "https://benramsey.com" - } - ], - "description": "A PHP 7.2+ library for representing and manipulating collections.", - "keywords": [ - "array", - "collection", - "hash", - "map", - "queue", - "set" - ], - "funding": [ - { - "url": "https://github.com/ramsey", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", - "type": "tidelift" - } - ], - "time": "2021-01-21T17:40:04+00:00" - }, - { - "name": "ramsey/uuid", - "version": "4.1.1", - "source": { - "type": "git", - "url": "https://github.com/ramsey/uuid.git", - "reference": "cd4032040a750077205918c86049aa0f43d22947" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/cd4032040a750077205918c86049aa0f43d22947", - "reference": "cd4032040a750077205918c86049aa0f43d22947", - "shasum": "" - }, - "require": { - "brick/math": "^0.8 || ^0.9", - "ext-json": "*", - "php": "^7.2 || ^8", - "ramsey/collection": "^1.0", - "symfony/polyfill-ctype": "^1.8" - }, - "replace": { - "rhumsaa/uuid": "self.version" - }, - "require-dev": { - "codeception/aspect-mock": "^3", - "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7.0", - "doctrine/annotations": "^1.8", - "goaop/framework": "^2", - "mockery/mockery": "^1.3", - "moontoast/math": "^1.1", - "paragonie/random-lib": "^2", - "php-mock/php-mock-mockery": "^1.3", - "php-mock/php-mock-phpunit": "^2.5", - "php-parallel-lint/php-parallel-lint": "^1.1", - "phpbench/phpbench": "^0.17.1", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-mockery": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", - "phpunit/phpunit": "^8.5", - "psy/psysh": "^0.10.0", - "slevomat/coding-standard": "^6.0", - "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "3.9.4" - }, - "suggest": { - "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", - "ext-ctype": "Enables faster processing of character classification using ctype functions.", - "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", - "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", - "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", - "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.x-dev" - } - }, - "autoload": { - "psr-4": { - "Ramsey\\Uuid\\": "src/" - }, - "files": [ - "src/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", - "homepage": "https://github.com/ramsey/uuid", - "keywords": [ - "guid", - "identifier", - "uuid" - ], - "funding": [ - { - "url": "https://github.com/ramsey", - "type": "github" - } - ], - "time": "2020-08-18T17:17:46+00:00" - }, - { - "name": "renatomarinho/laravel-page-speed", - "version": "1.8.13", - "source": { - "type": "git", - "url": "https://github.com/renatomarinho/laravel-page-speed.git", - "reference": "c8a634c94f9b2f2a386377904eba703ad60e2552" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/renatomarinho/laravel-page-speed/zipball/c8a634c94f9b2f2a386377904eba703ad60e2552", - "reference": "c8a634c94f9b2f2a386377904eba703ad60e2552", - "shasum": "" - }, - "require": { - "illuminate/support": "5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.* || 5.8.* || ^6.0 || ^7.0", - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "mockery/mockery": ">=0.9.4", - "orchestra/testbench": "^3.2", - "phpunit/phpunit": "^5.7 || ^6.0 || ^7.0 || ^8.0", - "squizlabs/php_codesniffer": "^2.3" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "RenatoMarinho\\LaravelPageSpeed\\ServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "RenatoMarinho\\LaravelPageSpeed\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Renato Marinho", - "email": "renato.marinho@s2move.com" - } - ], - "description": "Laravel Page Speed", - "keywords": [ - "html", - "laravel", - "minify", - "optimize", - "page speed" - ], - "time": "2020-05-02T13:12:06+00:00" - }, - { - "name": "sabberworm/php-css-parser", - "version": "8.3.1", - "source": { - "type": "git", - "url": "https://github.com/sabberworm/PHP-CSS-Parser.git", - "reference": "d217848e1396ef962fb1997cf3e2421acba7f796" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sabberworm/PHP-CSS-Parser/zipball/d217848e1396ef962fb1997cf3e2421acba7f796", - "reference": "d217848e1396ef962fb1997cf3e2421acba7f796", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "require-dev": { - "codacy/coverage": "^1.4", - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "autoload": { - "psr-0": { - "Sabberworm\\CSS": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Raphael Schweikert" - } - ], - "description": "Parser for CSS Files written in PHP", - "homepage": "http://www.sabberworm.com/blog/2010/6/10/php-css-parser", - "keywords": [ - "css", - "parser", - "stylesheet" - ], - "time": "2020-06-01T09:10:00+00:00" - }, - { - "name": "stevebauman/purify", - "version": "v4.0.0", - "source": { - "type": "git", - "url": "https://github.com/stevebauman/purify.git", - "reference": "823ad75e35f94139ca99701dcbdab9851ad52105" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/stevebauman/purify/zipball/823ad75e35f94139ca99701dcbdab9851ad52105", - "reference": "823ad75e35f94139ca99701dcbdab9851ad52105", - "shasum": "" - }, - "require": { - "ezyang/htmlpurifier": "^4.9.0", - "illuminate/support": "~5.5|~6.0|~7.0|~8.0", - "php": ">=7.1" - }, - "require-dev": { - "orchestra/testbench": "~3.7", - "phpunit/phpunit": "~7.0" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Stevebauman\\Purify\\PurifyServiceProvider" - ], - "aliases": { - "Purify": "Stevebauman\\Purify\\Facades\\Purify" - } - } - }, - "autoload": { - "psr-4": { - "Stevebauman\\Purify\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Steve Bauman", - "email": "steven_bauman@outlook.com" - } - ], - "description": "An HTML Purifier / Sanitizer for Laravel", - "keywords": [ - "Purifier", - "clean", - "cleaner", - "html", - "laravel", - "purification", - "purify" - ], - "support": { - "issues": "https://github.com/stevebauman/purify/issues", - "source": "https://github.com/stevebauman/purify/tree/v4.0.0" - }, - "time": "2021-01-07T22:44:04+00:00" - }, - { - "name": "stripe/stripe-php", - "version": "v7.43.0", - "source": { - "type": "git", - "url": "https://github.com/stripe/stripe-php.git", - "reference": "7f516261bc496706a03b9443107532b552efa9d8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/stripe/stripe-php/zipball/7f516261bc496706a03b9443107532b552efa9d8", - "reference": "7f516261bc496706a03b9443107532b552efa9d8", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "ext-json": "*", - "ext-mbstring": "*", - "php": ">=5.6.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "2.16.1", - "php-coveralls/php-coveralls": "^2.1", - "phpunit/phpunit": "^5.7", - "squizlabs/php_codesniffer": "^3.3", - "symfony/process": "~3.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "psr-4": { - "Stripe\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Stripe and contributors", - "homepage": "https://github.com/stripe/stripe-php/contributors" - } - ], - "description": "Stripe PHP Library", - "homepage": "https://stripe.com/", - "keywords": [ - "api", - "payment processing", - "stripe" - ], - "time": "2020-07-18T00:01:06+00:00" - }, - { - "name": "swiftmailer/swiftmailer", - "version": "v6.2.5", - "source": { - "type": "git", - "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "698a6a9f54d7eb321274de3ad19863802c879fb7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/698a6a9f54d7eb321274de3ad19863802c879fb7", - "reference": "698a6a9f54d7eb321274de3ad19863802c879fb7", - "shasum": "" - }, - "require": { - "egulias/email-validator": "^2.0", - "php": ">=7.0.0", - "symfony/polyfill-iconv": "^1.0", - "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^1.0", - "symfony/phpunit-bridge": "^4.4|^5.0" - }, - "suggest": { - "ext-intl": "Needed to support internationalized email addresses" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-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": "https://swiftmailer.symfony.com", - "keywords": [ - "email", - "mail", - "mailer" - ], - "funding": [ - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/swiftmailer/swiftmailer", - "type": "tidelift" - } - ], - "time": "2021-01-12T09:35:59+00:00" - }, - { - "name": "symfony/console", - "version": "v5.2.6", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "35f039df40a3b335ebf310f244cb242b3a83ac8d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/35f039df40a3b335ebf310f244cb242b3a83ac8d", - "reference": "35f039df40a3b335ebf310f244cb242b3a83ac8d", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php73": "^1.8", - "symfony/polyfill-php80": "^1.15", - "symfony/service-contracts": "^1.1|^2", - "symfony/string": "^5.1" - }, - "conflict": { - "symfony/dependency-injection": "<4.4", - "symfony/dotenv": "<5.1", - "symfony/event-dispatcher": "<4.4", - "symfony/lock": "<4.4", - "symfony/process": "<4.4" - }, - "provide": { - "psr/log-implementation": "1.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^4.4|^5.0", - "symfony/dependency-injection": "^4.4|^5.0", - "symfony/event-dispatcher": "^4.4|^5.0", - "symfony/lock": "^4.4|^5.0", - "symfony/process": "^4.4|^5.0", - "symfony/var-dumper": "^4.4|^5.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" - }, - "type": "library", - "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": "Eases the creation of beautiful and testable command line interfaces", - "homepage": "https://symfony.com", - "keywords": [ - "cli", - "command line", - "console", - "terminal" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-03-28T09:42:18+00:00" - }, - { - "name": "symfony/css-selector", - "version": "v5.2.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/css-selector.git", - "reference": "f65f217b3314504a1ec99c2d6ef69016bb13490f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/f65f217b3314504a1ec99c2d6ef69016bb13490f", - "reference": "f65f217b3314504a1ec99c2d6ef69016bb13490f", - "shasum": "" - }, - "require": { - "php": ">=7.2.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\CssSelector\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Jean-François Simon", - "email": "jeanfrancois.simon@sensiolabs.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Converts CSS selectors to XPath expressions", - "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-01-27T10:01:46+00:00" - }, - { - "name": "symfony/deprecation-contracts", - "version": "v2.2.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5fa56b4074d1ae755beb55617ddafe6f5d78f665", - "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "files": [ - "function.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": "A generic function and convention to trigger deprecation notices", - "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-09-07T11:33:47+00:00" - }, - { - "name": "symfony/error-handler", - "version": "v5.2.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/error-handler.git", - "reference": "4fd4a377f7b7ec7c3f3b40346a1411e0a83f9d40" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/4fd4a377f7b7ec7c3f3b40346a1411e0a83f9d40", - "reference": "4fd4a377f7b7ec7c3f3b40346a1411e0a83f9d40", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "psr/log": "^1.0", - "symfony/polyfill-php80": "^1.15", - "symfony/var-dumper": "^4.4|^5.0" - }, - "require-dev": { - "symfony/deprecation-contracts": "^2.1", - "symfony/http-kernel": "^4.4|^5.0", - "symfony/serializer": "^4.4|^5.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\ErrorHandler\\": "" - }, - "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": "Provides tools to manage errors and ease debugging PHP code", - "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-01-27T10:15:41+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v5.2.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "4f9760f8074978ad82e2ce854dff79a71fe45367" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/4f9760f8074978ad82e2ce854dff79a71fe45367", - "reference": "4f9760f8074978ad82e2ce854dff79a71fe45367", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", - "symfony/event-dispatcher-contracts": "^2", - "symfony/polyfill-php80": "^1.15" - }, - "conflict": { - "symfony/dependency-injection": "<4.4" - }, - "provide": { - "psr/event-dispatcher-implementation": "1.0", - "symfony/event-dispatcher-implementation": "2.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^4.4|^5.0", - "symfony/dependency-injection": "^4.4|^5.0", - "symfony/error-handler": "^4.4|^5.0", - "symfony/expression-language": "^4.4|^5.0", - "symfony/http-foundation": "^4.4|^5.0", - "symfony/service-contracts": "^1.1|^2", - "symfony/stopwatch": "^4.4|^5.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "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": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", - "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-01-27T10:36:42+00:00" - }, - { - "name": "symfony/event-dispatcher-contracts", - "version": "v2.2.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "0ba7d54483095a198fa51781bc608d17e84dffa2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/0ba7d54483095a198fa51781bc608d17e84dffa2", - "reference": "0ba7d54483095a198fa51781bc608d17e84dffa2", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "psr/event-dispatcher": "^1" - }, - "suggest": { - "symfony/event-dispatcher-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\EventDispatcher\\": "" - } - }, - "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": "Generic abstractions related to dispatching event", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-09-07T11:33:47+00:00" - }, - { - "name": "symfony/finder", - "version": "v5.2.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "196f45723b5e618bf0e23b97e96d11652696ea9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/196f45723b5e618bf0e23b97e96d11652696ea9e", - "reference": "196f45723b5e618bf0e23b97e96d11652696ea9e", - "shasum": "" - }, - "require": { - "php": ">=7.2.5" - }, - "type": "library", - "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": "Finds files and directories via an intuitive fluent interface", - "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-01-27T10:01:46+00:00" - }, - { - "name": "symfony/http-client-contracts", - "version": "v2.3.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-client-contracts.git", - "reference": "41db680a15018f9c1d4b23516059633ce280ca33" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/41db680a15018f9c1d4b23516059633ce280ca33", - "reference": "41db680a15018f9c1d4b23516059633ce280ca33", - "shasum": "" - }, - "require": { - "php": ">=7.2.5" - }, - "suggest": { - "symfony/http-client-implementation": "" - }, - "type": "library", - "extra": { - "branch-version": "2.3", - "branch-alias": { - "dev-main": "2.3-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\HttpClient\\": "" - } - }, - "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": "Generic abstractions related to HTTP clients", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-10-14T17:08:19+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v5.2.4", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "54499baea7f7418bce7b5ec92770fd0799e8e9bf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/54499baea7f7418bce7b5ec92770fd0799e8e9bf", - "reference": "54499baea7f7418bce7b5ec92770fd0799e8e9bf", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", - "symfony/polyfill-mbstring": "~1.1", - "symfony/polyfill-php80": "^1.15" - }, - "require-dev": { - "predis/predis": "~1.0", - "symfony/cache": "^4.4|^5.0", - "symfony/expression-language": "^4.4|^5.0", - "symfony/mime": "^4.4|^5.0" - }, - "suggest": { - "symfony/mime": "To use the file extension guesser" - }, - "type": "library", - "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": "Defines an object-oriented layer for the HTTP specification", - "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-02-25T17:16:57+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v5.2.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "831b51e9370ece0febd0950dd819c63f996721c7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/831b51e9370ece0febd0950dd819c63f996721c7", - "reference": "831b51e9370ece0febd0950dd819c63f996721c7", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "psr/log": "~1.0", - "symfony/deprecation-contracts": "^2.1", - "symfony/error-handler": "^4.4|^5.0", - "symfony/event-dispatcher": "^5.0", - "symfony/http-client-contracts": "^1.1|^2", - "symfony/http-foundation": "^4.4|^5.0", - "symfony/polyfill-ctype": "^1.8", - "symfony/polyfill-php73": "^1.9", - "symfony/polyfill-php80": "^1.15" - }, - "conflict": { - "symfony/browser-kit": "<4.4", - "symfony/cache": "<5.0", - "symfony/config": "<5.0", - "symfony/console": "<4.4", - "symfony/dependency-injection": "<5.1.8", - "symfony/doctrine-bridge": "<5.0", - "symfony/form": "<5.0", - "symfony/http-client": "<5.0", - "symfony/mailer": "<5.0", - "symfony/messenger": "<5.0", - "symfony/translation": "<5.0", - "symfony/twig-bridge": "<5.0", - "symfony/validator": "<5.0", - "twig/twig": "<2.13" - }, - "provide": { - "psr/log-implementation": "1.0" - }, - "require-dev": { - "psr/cache": "~1.0", - "symfony/browser-kit": "^4.4|^5.0", - "symfony/config": "^5.0", - "symfony/console": "^4.4|^5.0", - "symfony/css-selector": "^4.4|^5.0", - "symfony/dependency-injection": "^5.1.8", - "symfony/dom-crawler": "^4.4|^5.0", - "symfony/expression-language": "^4.4|^5.0", - "symfony/finder": "^4.4|^5.0", - "symfony/process": "^4.4|^5.0", - "symfony/routing": "^4.4|^5.0", - "symfony/stopwatch": "^4.4|^5.0", - "symfony/translation": "^4.4|^5.0", - "symfony/translation-contracts": "^1.1|^2", - "twig/twig": "^2.13|^3.0.4" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "" - }, - "type": "library", - "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": "Provides a structured process for converting a Request into a Response", - "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-01-27T14:45:46+00:00" - }, - { - "name": "symfony/intl", - "version": "v5.1.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/intl.git", - "reference": "b21d69ebb33adfcb7e6d8b0a0a8799db7090705b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/intl/zipball/b21d69ebb33adfcb7e6d8b0a0a8799db7090705b", - "reference": "b21d69ebb33adfcb7e6d8b0a0a8799db7090705b", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-intl-icu": "~1.0", - "symfony/polyfill-php80": "^1.15" - }, - "require-dev": { - "symfony/filesystem": "^4.4|^5.0" - }, - "suggest": { - "ext-intl": "to use the component with locales other than \"en\"" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Intl\\": "" - }, - "classmap": [ - "Resources/stubs" - ], - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - }, - { - "name": "Eriksen Costa", - "email": "eriksen.costa@infranology.com.br" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "A PHP replacement layer for the C intl extension that includes additional data from the ICU library.", - "homepage": "https://symfony.com", - "keywords": [ - "i18n", - "icu", - "internationalization", - "intl", - "l10n", - "localization" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-05-30T20:35:19+00:00" - }, - { - "name": "symfony/mime", - "version": "v5.2.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/mime.git", - "reference": "de97005aef7426ba008c46ba840fc301df577ada" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/de97005aef7426ba008c46ba840fc301df577ada", - "reference": "de97005aef7426ba008c46ba840fc301df577ada", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", - "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0", - "symfony/polyfill-php80": "^1.15" - }, - "conflict": { - "symfony/mailer": "<4.4" - }, - "require-dev": { - "egulias/email-validator": "^2.1.10", - "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/dependency-injection": "^4.4|^5.0", - "symfony/property-access": "^4.4|^5.1", - "symfony/property-info": "^4.4|^5.1", - "symfony/serializer": "^5.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Mime\\": "" - }, - "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": "A library to manipulate MIME messages", - "homepage": "https://symfony.com", - "keywords": [ - "mime", - "mime-type" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-12-09T18:54:12+00:00" - }, - { - "name": "symfony/polyfill-ctype", - "version": "v1.22.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "c6c942b1ac76c82448322025e084cadc56048b4e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e", - "reference": "c6c942b1ac76c82448322025e084cadc56048b4e", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.22-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-01-07T16:49:33+00:00" - }, - { - "name": "symfony/polyfill-iconv", - "version": "v1.22.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "b34bfb8c4c22650ac080d2662ae3502e5f2f4ae6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/b34bfb8c4c22650ac080d2662ae3502e5f2f4ae6", - "reference": "b34bfb8c4c22650ac080d2662ae3502e5f2f4ae6", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-iconv": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.22-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Iconv\\": "" - }, - "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 Iconv extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "iconv", - "polyfill", - "portable", - "shim" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-01-07T16:49:33+00:00" - }, - { - "name": "symfony/polyfill-intl-grapheme", - "version": "v1.22.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "5601e09b69f26c1828b13b6bb87cb07cddba3170" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/5601e09b69f26c1828b13b6bb87cb07cddba3170", - "reference": "5601e09b69f26c1828b13b6bb87cb07cddba3170", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.22-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Grapheme\\": "" - }, - "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 intl's grapheme_* functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "grapheme", - "intl", - "polyfill", - "portable", - "shim" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-01-22T09:19:47+00:00" - }, - { - "name": "symfony/polyfill-intl-icu", - "version": "v1.18.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-icu.git", - "reference": "4e45a6e39041a9cc78835b11abc47874ae302a55" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/4e45a6e39041a9cc78835b11abc47874ae302a55", - "reference": "4e45a6e39041a9cc78835b11abc47874ae302a55", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "symfony/intl": "~2.3|~3.0|~4.0|~5.0" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.18-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "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 intl's ICU-related data and classes", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "icu", - "intl", - "polyfill", - "portable", - "shim" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-07-14T12:35:20+00:00" - }, - { - "name": "symfony/polyfill-intl-idn", - "version": "v1.22.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "2d63434d922daf7da8dd863e7907e67ee3031483" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/2d63434d922daf7da8dd863e7907e67ee3031483", - "reference": "2d63434d922daf7da8dd863e7907e67ee3031483", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "symfony/polyfill-intl-normalizer": "^1.10", - "symfony/polyfill-php72": "^1.10" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.22-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Idn\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Laurent Bassin", - "email": "laurent@bassin.info" - }, - { - "name": "Trevor Rowbotham", - "email": "trevor.rowbotham@pm.me" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "idn", - "intl", - "polyfill", - "portable", - "shim" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-01-22T09:19:47+00:00" - }, - { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.22.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "43a0283138253ed1d48d352ab6d0bdb3f809f248" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/43a0283138253ed1d48d352ab6d0bdb3f809f248", - "reference": "43a0283138253ed1d48d352ab6d0bdb3f809f248", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.22-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, - "files": [ - "bootstrap.php" - ], - "classmap": [ - "Resources/stubs" - ] - }, - "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 intl's Normalizer class and related functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "intl", - "normalizer", - "polyfill", - "portable", - "shim" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-01-22T09:19:47+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.22.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "5232de97ee3b75b0360528dae24e73db49566ab1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/5232de97ee3b75b0360528dae24e73db49566ab1", - "reference": "5232de97ee3b75b0360528dae24e73db49566ab1", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.22-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "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" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-01-22T09:19:47+00:00" - }, - { - "name": "symfony/polyfill-php72", - "version": "v1.22.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9", - "reference": "cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.22-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" - }, - "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 7.2+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-01-07T16:49:33+00:00" - }, - { - "name": "symfony/polyfill-php73", - "version": "v1.22.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", - "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.22-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" - }, - "files": [ - "bootstrap.php" - ], - "classmap": [ - "Resources/stubs" - ] - }, - "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 7.3+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-01-07T16:49:33+00:00" - }, - { - "name": "symfony/polyfill-php80", - "version": "v1.22.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dc3063ba22c2a1fd2f45ed856374d79114998f91", - "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.22-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, - "files": [ - "bootstrap.php" - ], - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" - }, - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-01-07T16:49:33+00:00" - }, - { - "name": "symfony/process", - "version": "v5.2.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "313a38f09c77fbcdc1d223e57d368cea76a2fd2f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/313a38f09c77fbcdc1d223e57d368cea76a2fd2f", - "reference": "313a38f09c77fbcdc1d223e57d368cea76a2fd2f", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.15" - }, - "type": "library", - "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": "Executes commands in sub-processes", - "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-01-27T10:15:41+00:00" - }, - { - "name": "symfony/psr-http-message-bridge", - "version": "v2.0.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "e44f249afab496b4e8c0f7461fb8140eaa4b24d2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/e44f249afab496b4e8c0f7461fb8140eaa4b24d2", - "reference": "e44f249afab496b4e8c0f7461fb8140eaa4b24d2", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "psr/http-message": "^1.0", - "symfony/http-foundation": "^4.4 || ^5.0" - }, - "require-dev": { - "nyholm/psr7": "^1.1", - "symfony/phpunit-bridge": "^4.4 || ^5.0" - }, - "suggest": { - "nyholm/psr7": "For a super lightweight PSR-7/17 implementation" - }, - "type": "symfony-bridge", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Bridge\\PsrHttpMessage\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - } - ], - "description": "PSR HTTP message bridge", - "homepage": "http://symfony.com", - "keywords": [ - "http", - "http-message", - "psr-17", - "psr-7" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-06-25T08:21:47+00:00" - }, - { - "name": "symfony/routing", - "version": "v5.2.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "348b5917e56546c6d96adbf21d7f92c9ef563661" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/348b5917e56546c6d96adbf21d7f92c9ef563661", - "reference": "348b5917e56546c6d96adbf21d7f92c9ef563661", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", - "symfony/polyfill-php80": "^1.15" - }, - "conflict": { - "symfony/config": "<5.0", - "symfony/dependency-injection": "<4.4", - "symfony/yaml": "<4.4" - }, - "require-dev": { - "doctrine/annotations": "^1.10.4", - "psr/log": "~1.0", - "symfony/config": "^5.0", - "symfony/dependency-injection": "^4.4|^5.0", - "symfony/expression-language": "^4.4|^5.0", - "symfony/http-foundation": "^4.4|^5.0", - "symfony/yaml": "^4.4|^5.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "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", - "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": "Maps an HTTP request to a set of configuration variables", - "homepage": "https://symfony.com", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-01-27T10:15:41+00:00" - }, - { - "name": "symfony/service-contracts", - "version": "v2.2.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1", - "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "psr/container": "^1.0" - }, - "suggest": { - "symfony/service-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Service\\": "" - } - }, - "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": "Generic abstractions related to writing services", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-09-07T11:33:47+00:00" - }, - { - "name": "symfony/string", - "version": "v5.2.6", - "source": { - "type": "git", - "url": "https://github.com/symfony/string.git", - "reference": "ad0bd91bce2054103f5eaa18ebeba8d3bc2a0572" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/ad0bd91bce2054103f5eaa18ebeba8d3bc2a0572", - "reference": "ad0bd91bce2054103f5eaa18ebeba8d3bc2a0572", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-intl-grapheme": "~1.0", - "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "~1.15" - }, - "require-dev": { - "symfony/error-handler": "^4.4|^5.0", - "symfony/http-client": "^4.4|^5.0", - "symfony/translation-contracts": "^1.1|^2", - "symfony/var-exporter": "^4.4|^5.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\String\\": "" - }, - "files": [ - "Resources/functions.php" - ], - "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": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", - "homepage": "https://symfony.com", - "keywords": [ - "grapheme", - "i18n", - "string", - "unicode", - "utf-8", - "utf8" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-03-17T17:12:15+00:00" - }, - { - "name": "symfony/translation", - "version": "v5.2.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/translation.git", - "reference": "c021864d4354ee55160ddcfd31dc477a1bc77949" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/c021864d4354ee55160ddcfd31dc477a1bc77949", - "reference": "c021864d4354ee55160ddcfd31dc477a1bc77949", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.15", - "symfony/translation-contracts": "^2.3" - }, - "conflict": { - "symfony/config": "<4.4", - "symfony/dependency-injection": "<5.0", - "symfony/http-kernel": "<5.0", - "symfony/twig-bundle": "<5.0", - "symfony/yaml": "<4.4" - }, - "provide": { - "symfony/translation-implementation": "2.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^4.4|^5.0", - "symfony/console": "^4.4|^5.0", - "symfony/dependency-injection": "^5.0", - "symfony/finder": "^4.4|^5.0", - "symfony/http-kernel": "^5.0", - "symfony/intl": "^4.4|^5.0", - "symfony/service-contracts": "^1.1.2|^2", - "symfony/yaml": "^4.4|^5.0" - }, - "suggest": { - "psr/log-implementation": "To use logging capability in translator", - "symfony/config": "", - "symfony/yaml": "" - }, - "type": "library", - "autoload": { - "files": [ - "Resources/functions.php" - ], - "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": "Provides tools to internationalize your application", - "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-01-27T10:15:41+00:00" - }, - { - "name": "symfony/translation-contracts", - "version": "v2.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/translation-contracts.git", - "reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/e2eaa60b558f26a4b0354e1bbb25636efaaad105", - "reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105", - "shasum": "" - }, - "require": { - "php": ">=7.2.5" - }, - "suggest": { - "symfony/translation-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Translation\\": "" - } - }, - "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": "Generic abstractions related to translation", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-09-28T13:05:58+00:00" - }, - { - "name": "symfony/var-dumper", - "version": "v5.2.6", - "source": { - "type": "git", - "url": "https://github.com/symfony/var-dumper.git", - "reference": "89412a68ea2e675b4e44f260a5666729f77f668e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/89412a68ea2e675b4e44f260a5666729f77f668e", - "reference": "89412a68ea2e675b4e44f260a5666729f77f668e", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.15" - }, - "conflict": { - "phpunit/phpunit": "<5.4.3", - "symfony/console": "<4.4" - }, - "require-dev": { - "ext-iconv": "*", - "symfony/console": "^4.4|^5.0", - "symfony/process": "^4.4|^5.0", - "twig/twig": "^2.13|^3.0.4" - }, - "suggest": { - "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", - "ext-intl": "To show region name in time zone dump", - "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" - }, - "bin": [ - "Resources/bin/var-dump-server" - ], - "type": "library", - "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": "Provides mechanisms for walking through any arbitrary PHP variable", - "homepage": "https://symfony.com", - "keywords": [ - "debug", - "dump" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-03-28T09:42:18+00:00" - }, - { - "name": "tijsverkoyen/css-to-inline-styles", - "version": "2.2.3", - "source": { - "type": "git", - "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "reference": "b43b05cf43c1b6d849478965062b6ef73e223bb5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/b43b05cf43c1b6d849478965062b6ef73e223bb5", - "reference": "b43b05cf43c1b6d849478965062b6ef73e223bb5", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "php": "^5.5 || ^7.0 || ^8.0", - "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "psr-4": { - "TijsVerkoyen\\CssToInlineStyles\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Tijs Verkoyen", - "email": "css_to_inline_styles@verkoyen.eu", - "role": "Developer" - } - ], - "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", - "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", - "time": "2020-07-13T06:12:54+00:00" - }, - { - "name": "vlucas/phpdotenv", - "version": "v4.2.0", - "source": { - "type": "git", - "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "da64796370fc4eb03cc277088f6fede9fde88482" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/da64796370fc4eb03cc277088f6fede9fde88482", - "reference": "da64796370fc4eb03cc277088f6fede9fde88482", - "shasum": "" - }, - "require": { - "php": "^5.5.9 || ^7.0 || ^8.0", - "phpoption/phpoption": "^1.7.3", - "symfony/polyfill-ctype": "^1.17" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", - "ext-filter": "*", - "ext-pcre": "*", - "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20" - }, - "suggest": { - "ext-filter": "Required to use the boolean validator.", - "ext-pcre": "Required to use most of the library." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.1-dev" - } - }, - "autoload": { - "psr-4": { - "Dotenv\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "graham@alt-three.com", - "homepage": "https://gjcampbell.co.uk/" - }, - { - "name": "Vance Lucas", - "email": "vance@vancelucas.com", - "homepage": "https://vancelucas.com/" - } - ], - "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", - "keywords": [ - "dotenv", - "env", - "environment" - ], - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv", - "type": "tidelift" - } - ], - "time": "2021-01-20T15:11:48+00:00" - }, - { - "name": "voku/portable-ascii", - "version": "1.5.6", - "source": { - "type": "git", - "url": "https://github.com/voku/portable-ascii.git", - "reference": "80953678b19901e5165c56752d087fc11526017c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/80953678b19901e5165c56752d087fc11526017c", - "reference": "80953678b19901e5165c56752d087fc11526017c", - "shasum": "" - }, - "require": { - "php": ">=7.0.0" - }, - "require-dev": { - "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" - }, - "suggest": { - "ext-intl": "Use Intl for transliterator_transliterate() support" - }, - "type": "library", - "autoload": { - "psr-4": { - "voku\\": "src/voku/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Lars Moelleken", - "homepage": "http://www.moelleken.org/" - } - ], - "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", - "homepage": "https://github.com/voku/portable-ascii", - "keywords": [ - "ascii", - "clean", - "php" - ], - "funding": [ - { - "url": "https://www.paypal.me/moelleken", - "type": "custom" - }, - { - "url": "https://github.com/voku", - "type": "github" - }, - { - "url": "https://opencollective.com/portable-ascii", - "type": "open_collective" - }, - { - "url": "https://www.patreon.com/voku", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", - "type": "tidelift" - } - ], - "time": "2020-11-12T00:07:28+00:00" - } - ], - "packages-dev": [ - { - "name": "barryvdh/laravel-debugbar", - "version": "v3.3.3", - "source": { - "type": "git", - "url": "https://github.com/barryvdh/laravel-debugbar.git", - "reference": "57f2219f6d9efe41ed1bc880d86701c52f261bf5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/57f2219f6d9efe41ed1bc880d86701c52f261bf5", - "reference": "57f2219f6d9efe41ed1bc880d86701c52f261bf5", - "shasum": "" - }, - "require": { - "illuminate/routing": "^5.5|^6|^7", - "illuminate/session": "^5.5|^6|^7", - "illuminate/support": "^5.5|^6|^7", - "maximebf/debugbar": "^1.15.1", - "php": ">=7.0", - "symfony/debug": "^3|^4|^5", - "symfony/finder": "^3|^4|^5" - }, - "require-dev": { - "laravel/framework": "5.5.x" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - }, - "laravel": { - "providers": [ - "Barryvdh\\Debugbar\\ServiceProvider" - ], - "aliases": { - "Debugbar": "Barryvdh\\Debugbar\\Facade" - } - } - }, - "autoload": { - "psr-4": { - "Barryvdh\\Debugbar\\": "src/" - }, - "files": [ - "src/helpers.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Barry vd. Heuvel", - "email": "barryvdh@gmail.com" - } - ], - "description": "PHP Debugbar integration for Laravel", - "keywords": [ - "debug", - "debugbar", - "laravel", - "profiler", - "webprofiler" - ], - "funding": [ - { - "url": "https://github.com/barryvdh", - "type": "github" - } - ], - "time": "2020-05-05T10:53:32+00:00" - }, - { - "name": "composer/semver", - "version": "1.5.1", - "source": { - "type": "git", - "url": "https://github.com/composer/semver.git", - "reference": "c6bea70230ef4dd483e6bbcab6005f682ed3a8de" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/c6bea70230ef4dd483e6bbcab6005f682ed3a8de", - "reference": "c6bea70230ef4dd483e6bbcab6005f682ed3a8de", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.5 || ^5.0.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Semver\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - }, - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" - } - ], - "description": "Semver library that offers utilities, version constraint parsing and validation.", - "keywords": [ - "semantic", - "semver", - "validation", - "versioning" - ], - "time": "2020-01-13T12:06:48+00:00" - }, - { - "name": "composer/xdebug-handler", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/composer/xdebug-handler.git", - "reference": "fa2aaf99e2087f013a14f7432c1cd2dd7d8f1f51" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/fa2aaf99e2087f013a14f7432c1cd2dd7d8f1f51", - "reference": "fa2aaf99e2087f013a14f7432c1cd2dd7d8f1f51", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0", - "psr/log": "^1.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8" - }, - "type": "library", - "autoload": { - "psr-4": { - "Composer\\XdebugHandler\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "John Stevenson", - "email": "john-stevenson@blueyonder.co.uk" - } - ], - "description": "Restarts a process without Xdebug.", - "keywords": [ - "Xdebug", - "performance" - ], - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2020-06-04T11:16:35+00:00" - }, - { - "name": "doctrine/annotations", - "version": "1.10.3", - "source": { - "type": "git", - "url": "https://github.com/doctrine/annotations.git", - "reference": "5db60a4969eba0e0c197a19c077780aadbc43c5d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/5db60a4969eba0e0c197a19c077780aadbc43c5d", - "reference": "5db60a4969eba0e0c197a19c077780aadbc43c5d", - "shasum": "" - }, - "require": { - "doctrine/lexer": "1.*", - "ext-tokenizer": "*", - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "doctrine/cache": "1.*", - "phpunit/phpunit": "^7.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.9.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Docblock Annotations Parser", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "annotations", - "docblock", - "parser" - ], - "time": "2020-05-25T17:24:27+00:00" - }, - { - "name": "doctrine/instantiator", - "version": "1.3.1", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "f350df0268e904597e3bd9c4685c53e0e333feea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/f350df0268e904597e3bd9c4685c53e0e333feea", - "reference": "f350df0268e904597e3bd9c4685c53e0e333feea", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "doctrine/coding-standard": "^6.0", - "ext-pdo": "*", - "ext-phar": "*", - "phpbench/phpbench": "^0.13", - "phpstan/phpstan-phpunit": "^0.11", - "phpstan/phpstan-shim": "^0.11", - "phpunit/phpunit": "^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.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://www.doctrine-project.org/projects/instantiator.html", - "keywords": [ - "constructor", - "instantiate" - ], - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", - "type": "tidelift" - } - ], - "time": "2020-05-29T17:27:14+00:00" - }, - { - "name": "facade/flare-client-php", - "version": "1.6.1", - "source": { - "type": "git", - "url": "https://github.com/facade/flare-client-php.git", - "reference": "f2b0969f2d9594704be74dbeb25b201570a98098" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/facade/flare-client-php/zipball/f2b0969f2d9594704be74dbeb25b201570a98098", - "reference": "f2b0969f2d9594704be74dbeb25b201570a98098", - "shasum": "" - }, - "require": { - "facade/ignition-contracts": "~1.0", - "illuminate/pipeline": "^5.5|^6.0|^7.0|^8.0", - "php": "^7.1|^8.0", - "symfony/http-foundation": "^3.3|^4.1|^5.0", - "symfony/mime": "^3.4|^4.0|^5.1", - "symfony/var-dumper": "^3.4|^4.0|^5.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.14", - "phpunit/phpunit": "^7.5.16", - "spatie/phpunit-snapshot-assertions": "^2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-4": { - "Facade\\FlareClient\\": "src" - }, - "files": [ - "src/helpers.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Send PHP errors to Flare", - "homepage": "https://github.com/facade/flare-client-php", - "keywords": [ - "exception", - "facade", - "flare", - "reporting" - ], - "funding": [ - { - "url": "https://github.com/spatie", - "type": "github" - } - ], - "time": "2021-04-08T08:50:01+00:00" - }, - { - "name": "facade/ignition", - "version": "2.4.2", - "source": { - "type": "git", - "url": "https://github.com/facade/ignition.git", - "reference": "2179568bdfddfa56c90c845a0be1a0b52adbf52a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/facade/ignition/zipball/2179568bdfddfa56c90c845a0be1a0b52adbf52a", - "reference": "2179568bdfddfa56c90c845a0be1a0b52adbf52a", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-mbstring": "*", - "facade/flare-client-php": "^1.0", - "facade/ignition-contracts": "^1.0", - "filp/whoops": "^2.4", - "illuminate/support": "^7.0|^8.0", - "monolog/monolog": "^2.0", - "php": "^7.2.5", - "scrivo/highlight.php": "^9.15", - "symfony/console": "^5.0", - "symfony/var-dumper": "^5.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.14", - "mockery/mockery": "^1.3", - "orchestra/testbench": "^5.0|^6.0", - "psalm/plugin-laravel": "^1.2" - }, - "suggest": { - "laravel/telescope": "^3.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - }, - "laravel": { - "providers": [ - "Facade\\Ignition\\IgnitionServiceProvider" - ], - "aliases": { - "Flare": "Facade\\Ignition\\Facades\\Flare" - } - } - }, - "autoload": { - "psr-4": { - "Facade\\Ignition\\": "src" - }, - "files": [ - "src/helpers.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A beautiful error page for Laravel applications.", - "homepage": "https://github.com/facade/ignition", - "keywords": [ - "error", - "flare", - "laravel", - "page" - ], - "time": "2021-03-08T13:56:01+00:00" - }, - { - "name": "facade/ignition-contracts", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/facade/ignition-contracts.git", - "reference": "3c921a1cdba35b68a7f0ccffc6dffc1995b18267" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/facade/ignition-contracts/zipball/3c921a1cdba35b68a7f0ccffc6dffc1995b18267", - "reference": "3c921a1cdba35b68a7f0ccffc6dffc1995b18267", - "shasum": "" - }, - "require": { - "php": "^7.3|^8.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^v2.15.8", - "phpunit/phpunit": "^9.3.11", - "vimeo/psalm": "^3.17.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "Facade\\IgnitionContracts\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://flareapp.io", - "role": "Developer" - } - ], - "description": "Solution contracts for Ignition", - "homepage": "https://github.com/facade/ignition-contracts", - "keywords": [ - "contracts", - "flare", - "ignition" - ], - "time": "2020-10-16T08:27:54+00:00" - }, - { - "name": "filp/whoops", - "version": "2.7.3", - "source": { - "type": "git", - "url": "https://github.com/filp/whoops.git", - "reference": "5d5fe9bb3d656b514d455645b3addc5f7ba7714d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/5d5fe9bb3d656b514d455645b3addc5f7ba7714d", - "reference": "5d5fe9bb3d656b514d455645b3addc5f7ba7714d", - "shasum": "" - }, - "require": { - "php": "^5.5.9 || ^7.0", - "psr/log": "^1.0.1" - }, - "require-dev": { - "mockery/mockery": "^0.9 || ^1.0", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0", - "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0" - }, - "suggest": { - "symfony/var-dumper": "Pretty print complex values better with var-dumper available", - "whoops/soap": "Formats errors as SOAP responses" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.6-dev" - } - }, - "autoload": { - "psr-4": { - "Whoops\\": "src/Whoops/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Filipe Dobreira", - "homepage": "https://github.com/filp", - "role": "Developer" - } - ], - "description": "php error handling for cool kids", - "homepage": "https://filp.github.io/whoops/", - "keywords": [ - "error", - "exception", - "handling", - "library", - "throwable", - "whoops" - ], - "time": "2020-06-14T09:00:00+00:00" - }, - { - "name": "friendsofphp/php-cs-fixer", - "version": "v2.16.4", - "source": { - "type": "git", - "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git", - "reference": "1023c3458137ab052f6ff1e09621a721bfdeca13" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/1023c3458137ab052f6ff1e09621a721bfdeca13", - "reference": "1023c3458137ab052f6ff1e09621a721bfdeca13", - "shasum": "" - }, - "require": { - "composer/semver": "^1.4", - "composer/xdebug-handler": "^1.2", - "doctrine/annotations": "^1.2", - "ext-json": "*", - "ext-tokenizer": "*", - "php": "^5.6 || ^7.0", - "php-cs-fixer/diff": "^1.3", - "symfony/console": "^3.4.17 || ^4.1.6 || ^5.0", - "symfony/event-dispatcher": "^3.0 || ^4.0 || ^5.0", - "symfony/filesystem": "^3.0 || ^4.0 || ^5.0", - "symfony/finder": "^3.0 || ^4.0 || ^5.0", - "symfony/options-resolver": "^3.0 || ^4.0 || ^5.0", - "symfony/polyfill-php70": "^1.0", - "symfony/polyfill-php72": "^1.4", - "symfony/process": "^3.0 || ^4.0 || ^5.0", - "symfony/stopwatch": "^3.0 || ^4.0 || ^5.0" - }, - "require-dev": { - "johnkary/phpunit-speedtrap": "^1.1 || ^2.0 || ^3.0", - "justinrainbow/json-schema": "^5.0", - "keradus/cli-executor": "^1.2", - "mikey179/vfsstream": "^1.6", - "php-coveralls/php-coveralls": "^2.1", - "php-cs-fixer/accessible-object": "^1.0", - "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.1", - "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.1", - "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.1", - "phpunitgoodpractices/traits": "^1.8", - "symfony/phpunit-bridge": "^5.1", - "symfony/yaml": "^3.0 || ^4.0 || ^5.0" - }, - "suggest": { - "ext-dom": "For handling output formats in XML", - "ext-mbstring": "For handling non-UTF8 characters.", - "php-cs-fixer/phpunit-constraint-isidenticalstring": "For IsIdenticalString constraint.", - "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "For XmlMatchesXsd constraint.", - "symfony/polyfill-mbstring": "When enabling `ext-mbstring` is not possible." - }, - "bin": [ - "php-cs-fixer" - ], - "type": "application", - "autoload": { - "psr-4": { - "PhpCsFixer\\": "src/" - }, - "classmap": [ - "tests/Test/AbstractFixerTestCase.php", - "tests/Test/AbstractIntegrationCaseFactory.php", - "tests/Test/AbstractIntegrationTestCase.php", - "tests/Test/Assert/AssertTokensTrait.php", - "tests/Test/IntegrationCase.php", - "tests/Test/IntegrationCaseFactory.php", - "tests/Test/IntegrationCaseFactoryInterface.php", - "tests/Test/InternalIntegrationCaseFactory.php", - "tests/Test/IsIdenticalConstraint.php", - "tests/TestCase.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Dariusz Rumiński", - "email": "dariusz.ruminski@gmail.com" - } - ], - "description": "A tool to automatically fix PHP code style", - "funding": [ - { - "url": "https://github.com/keradus", - "type": "github" - } - ], - "time": "2020-06-27T23:57:46+00:00" - }, - { - "name": "fzaninotto/faker", - "version": "v1.9.1", - "source": { - "type": "git", - "url": "https://github.com/fzaninotto/Faker.git", - "reference": "fc10d778e4b84d5bd315dad194661e091d307c6f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/fc10d778e4b84d5bd315dad194661e091d307c6f", - "reference": "fc10d778e4b84d5bd315dad194661e091d307c6f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "ext-intl": "*", - "phpunit/phpunit": "^4.8.35 || ^5.7", - "squizlabs/php_codesniffer": "^2.9.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.9-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" - ], - "abandoned": true, - "time": "2019-12-12T13:22:17+00:00" - }, - { - "name": "hamcrest/hamcrest-php", - "version": "v2.0.1", - "source": { - "type": "git", - "url": "https://github.com/hamcrest/hamcrest-php.git", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", - "shasum": "" - }, - "require": { - "php": "^5.3|^7.0|^8.0" - }, - "replace": { - "cordoval/hamcrest-php": "*", - "davedevelopment/hamcrest-php": "*", - "kodova/hamcrest-php": "*" - }, - "require-dev": { - "phpunit/php-file-iterator": "^1.4 || ^2.0", - "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1-dev" - } - }, - "autoload": { - "classmap": [ - "hamcrest" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "This is the PHP port of Hamcrest Matchers", - "keywords": [ - "test" - ], - "time": "2020-07-09T08:09:16+00:00" - }, - { - "name": "laravel/dusk", - "version": "v6.4.1", - "source": { - "type": "git", - "url": "https://github.com/laravel/dusk.git", - "reference": "db10ac70d01f332614a54cd7f1fe4757066db7cc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/dusk/zipball/db10ac70d01f332614a54cd7f1fe4757066db7cc", - "reference": "db10ac70d01f332614a54cd7f1fe4757066db7cc", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-zip": "*", - "illuminate/console": "^6.0|^7.0", - "illuminate/support": "^6.0|^7.0", - "nesbot/carbon": "^2.0", - "php": "^7.2", - "php-webdriver/webdriver": "^1.8.1", - "symfony/console": "^4.3|^5.0", - "symfony/finder": "^4.3|^5.0", - "symfony/process": "^4.3|^5.0", - "vlucas/phpdotenv": "^3.0|^4.0" - }, - "require-dev": { - "mockery/mockery": "^1.0", - "phpunit/phpunit": "^7.5.15|^8.4|^9.0" - }, - "suggest": { - "ext-pcntl": "Used to gracefully terminate Dusk when tests are running." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.x-dev" - }, - "laravel": { - "providers": [ - "Laravel\\Dusk\\DuskServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Laravel\\Dusk\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "Laravel Dusk provides simple end-to-end testing and browser automation.", - "keywords": [ - "laravel", - "testing", - "webdriver" - ], - "time": "2020-07-14T18:02:46+00:00" - }, - { - "name": "maximebf/debugbar", - "version": "v1.16.3", - "source": { - "type": "git", - "url": "https://github.com/maximebf/php-debugbar.git", - "reference": "1a1605b8e9bacb34cc0c6278206d699772e1d372" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/1a1605b8e9bacb34cc0c6278206d699772e1d372", - "reference": "1a1605b8e9bacb34cc0c6278206d699772e1d372", - "shasum": "" - }, - "require": { - "php": "^7.1", - "psr/log": "^1.0", - "symfony/var-dumper": "^2.6|^3|^4|^5" - }, - "require-dev": { - "phpunit/phpunit": "^5" - }, - "suggest": { - "kriswallsmith/assetic": "The best way to manage assets", - "monolog/monolog": "Log using Monolog", - "predis/predis": "Redis storage" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.16-dev" - } - }, - "autoload": { - "psr-4": { - "DebugBar\\": "src/DebugBar/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Maxime Bouroumeau-Fuseau", - "email": "maxime.bouroumeau@gmail.com", - "homepage": "http://maximebf.com" - }, - { - "name": "Barry vd. Heuvel", - "email": "barryvdh@gmail.com" - } - ], - "description": "Debug bar in the browser for php application", - "homepage": "https://github.com/maximebf/php-debugbar", - "keywords": [ - "debug", - "debugbar" - ], - "time": "2020-05-06T07:06:27+00:00" - }, - { - "name": "mockery/mockery", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/mockery/mockery.git", - "reference": "1404386ca3410b04fe58b9517e85d702ab33b2c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/1404386ca3410b04fe58b9517e85d702ab33b2c6", - "reference": "1404386ca3410b04fe58b9517e85d702ab33b2c6", - "shasum": "" - }, - "require": { - "hamcrest/hamcrest-php": "^2.0.1", - "lib-pcre": ">=7.0", - "php": "^7.3 || ^8.0" - }, - "conflict": { - "phpunit/phpunit": "<8.0" - }, - "require-dev": { - "phpunit/phpunit": "^8.5 || ^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.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", - "homepage": "https://github.com/mockery/mockery", - "keywords": [ - "BDD", - "TDD", - "library", - "mock", - "mock objects", - "mockery", - "stub", - "test", - "test double", - "testing" - ], - "time": "2020-07-09T08:31:54+00:00" - }, - { - "name": "myclabs/deep-copy", - "version": "1.10.1", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "969b211f9a51aa1f6c01d1d2aef56d3bd91598e5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/969b211f9a51aa1f6c01d1d2aef56d3bd91598e5", - "reference": "969b211f9a51aa1f6c01d1d2aef56d3bd91598e5", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "replace": { - "myclabs/deep-copy": "self.version" - }, - "require-dev": { - "doctrine/collections": "^1.0", - "doctrine/common": "^2.6", - "phpunit/phpunit": "^7.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - }, - "files": [ - "src/DeepCopy/deep_copy.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "funding": [ - { - "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", - "type": "tidelift" - } - ], - "time": "2020-06-29T13:22:24+00:00" - }, - { - "name": "nunomaduro/collision", - "version": "v4.2.0", - "source": { - "type": "git", - "url": "https://github.com/nunomaduro/collision.git", - "reference": "d50490417eded97be300a92cd7df7badc37a9018" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/d50490417eded97be300a92cd7df7badc37a9018", - "reference": "d50490417eded97be300a92cd7df7badc37a9018", - "shasum": "" - }, - "require": { - "facade/ignition-contracts": "^1.0", - "filp/whoops": "^2.4", - "php": "^7.2.5", - "symfony/console": "^5.0" - }, - "require-dev": { - "facade/ignition": "^2.0", - "fideloper/proxy": "^4.2", - "friendsofphp/php-cs-fixer": "^2.16", - "fruitcake/laravel-cors": "^1.0", - "laravel/framework": "^7.0", - "laravel/tinker": "^2.0", - "nunomaduro/larastan": "^0.5", - "orchestra/testbench": "^5.0", - "phpstan/phpstan": "^0.12.3", - "phpunit/phpunit": "^8.5.1 || ^9.0" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "NunoMaduro\\Collision\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nuno Maduro", - "email": "enunomaduro@gmail.com" - } - ], - "description": "Cli error handling for console/command-line PHP applications.", - "keywords": [ - "artisan", - "cli", - "command-line", - "console", - "error", - "handling", - "laravel", - "laravel-zero", - "php", - "symfony" - ], - "funding": [ - { - "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L", - "type": "custom" - }, - { - "url": "https://github.com/nunomaduro", - "type": "github" - }, - { - "url": "https://www.patreon.com/nunomaduro", - "type": "patreon" - } - ], - "time": "2020-04-04T19:56:08+00:00" - }, - { - "name": "phar-io/manifest", - "version": "1.0.3", - "source": { - "type": "git", - "url": "https://github.com/phar-io/manifest.git", - "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", - "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-phar": "*", - "phar-io/version": "^2.0", - "php": "^5.6 || ^7.0" - }, - "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": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "time": "2018-07-08T19:23:20+00:00" - }, - { - "name": "phar-io/version", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/phar-io/version.git", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Library for handling version information and constraints", - "time": "2018-07-08T19:19:57+00:00" - }, - { - "name": "php-cs-fixer/diff", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/PHP-CS-Fixer/diff.git", - "reference": "78bb099e9c16361126c86ce82ec4405ebab8e756" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/diff/zipball/78bb099e9c16361126c86ce82ec4405ebab8e756", - "reference": "78bb099e9c16361126c86ce82ec4405ebab8e756", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.7.23 || ^6.4.3", - "symfony/process": "^3.3" - }, - "type": "library", - "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" - }, - { - "name": "SpacePossum" - } - ], - "description": "sebastian/diff v2 backport support for PHP5.6", - "homepage": "https://github.com/PHP-CS-Fixer", - "keywords": [ - "diff" - ], - "time": "2018-02-15T16:58:55+00:00" - }, - { - "name": "php-webdriver/webdriver", - "version": "1.8.2", - "source": { - "type": "git", - "url": "https://github.com/php-webdriver/php-webdriver.git", - "reference": "3308a70be084d6d7fd1ee5787b4c2e6eb4b70aab" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-webdriver/php-webdriver/zipball/3308a70be084d6d7fd1ee5787b4c2e6eb4b70aab", - "reference": "3308a70be084d6d7fd1ee5787b4c2e6eb4b70aab", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "ext-json": "*", - "ext-zip": "*", - "php": "^5.6 || ~7.0", - "symfony/polyfill-mbstring": "^1.12", - "symfony/process": "^2.8 || ^3.1 || ^4.0 || ^5.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.0", - "jakub-onderka/php-parallel-lint": "^1.0", - "php-coveralls/php-coveralls": "^2.0", - "php-mock/php-mock-phpunit": "^1.1", - "phpunit/phpunit": "^5.7", - "sebastian/environment": "^1.3.4 || ^2.0 || ^3.0", - "sminnee/phpunit-mock-objects": "^3.4", - "squizlabs/php_codesniffer": "^3.5", - "symfony/var-dumper": "^3.3 || ^4.0 || ^5.0" - }, - "suggest": { - "ext-SimpleXML": "For Firefox profile creation" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.8.x-dev" - } - }, - "autoload": { - "psr-4": { - "Facebook\\WebDriver\\": "lib/" - }, - "files": [ - "lib/Exception/TimeoutException.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A PHP client for Selenium WebDriver. Previously facebook/webdriver.", - "homepage": "https://github.com/php-webdriver/php-webdriver", - "keywords": [ - "Chromedriver", - "geckodriver", - "php", - "selenium", - "webdriver" - ], - "time": "2020-03-04T14:40:12+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "2.2.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", - "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-2.x": "2.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": "2020-06-27T09:03:43+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "5.1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e", - "reference": "cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e", - "shasum": "" - }, - "require": { - "ext-filter": "^7.1", - "php": "^7.2", - "phpdocumentor/reflection-common": "^2.0", - "phpdocumentor/type-resolver": "^1.0", - "webmozart/assert": "^1" - }, - "require-dev": { - "doctrine/instantiator": "^1", - "mockery/mockery": "^1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.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" - }, - { - "name": "Jaap van Otterdijk", - "email": "account@ijaap.nl" - } - ], - "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2020-02-22T12:28:44+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "1.3.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e878a14a65245fbe78f8080eba03b47c3b705651" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e878a14a65245fbe78f8080eba03b47c3b705651", - "reference": "e878a14a65245fbe78f8080eba03b47c3b705651", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0", - "phpdocumentor/reflection-common": "^2.0" - }, - "require-dev": { - "ext-tokenizer": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-1.x": "1.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" - } - ], - "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", - "time": "2020-06-27T10:12:23+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "1.11.1", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "b20034be5efcdab4fb60ca3a29cba2949aead160" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/b20034be5efcdab4fb60ca3a29cba2949aead160", - "reference": "b20034be5efcdab4fb60ca3a29cba2949aead160", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.2", - "php": "^7.2", - "phpdocumentor/reflection-docblock": "^5.0", - "sebastian/comparator": "^3.0 || ^4.0", - "sebastian/recursion-context": "^3.0 || ^4.0" - }, - "require-dev": { - "phpspec/phpspec": "^6.0", - "phpunit/phpunit": "^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.11.x-dev" - } - }, - "autoload": { - "psr-4": { - "Prophecy\\": "src/Prophecy" - } - }, - "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": "2020-07-08T12:44:21+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "7.0.10", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "f1884187926fbb755a9aaf0b3836ad3165b478bf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f1884187926fbb755a9aaf0b3836ad3165b478bf", - "reference": "f1884187926fbb755a9aaf0b3836ad3165b478bf", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-xmlwriter": "*", - "php": "^7.2", - "phpunit/php-file-iterator": "^2.0.2", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-token-stream": "^3.1.1", - "sebastian/code-unit-reverse-lookup": "^1.0.1", - "sebastian/environment": "^4.2.2", - "sebastian/version": "^2.0.1", - "theseer/tokenizer": "^1.1.3" - }, - "require-dev": { - "phpunit/phpunit": "^8.2.2" - }, - "suggest": { - "ext-xdebug": "^2.7.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "7.0-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": "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": "2019-11-20T13:55:58+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "050bedf145a257b1ff02746c31894800e5122946" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/050bedf145a257b1ff02746c31894800e5122946", - "reference": "050bedf145a257b1ff02746c31894800e5122946", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.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": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2018-09-13T20:33:42+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": "2.1.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "1038454804406b0b5f5f520358e78c1c2f71501e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/1038454804406b0b5f5f520358e78c1c2f71501e", - "reference": "1038454804406b0b5f5f520358e78c1c2f71501e", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1-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": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2019-06-07T04:22:29+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/995192df77f63a59e47f025390d2d1fdf8f425ff", - "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.1-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" - ], - "abandoned": true, - "time": "2019-09-17T06:23:10+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "8.5.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "34c18baa6a44f1d1fbf0338907139e9dce95b997" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/34c18baa6a44f1d1fbf0338907139e9dce95b997", - "reference": "34c18baa6a44f1d1fbf0338907139e9dce95b997", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.2.0", - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.9.1", - "phar-io/manifest": "^1.0.3", - "phar-io/version": "^2.0.1", - "php": "^7.2", - "phpspec/prophecy": "^1.8.1", - "phpunit/php-code-coverage": "^7.0.7", - "phpunit/php-file-iterator": "^2.0.2", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-timer": "^2.1.2", - "sebastian/comparator": "^3.0.2", - "sebastian/diff": "^3.0.2", - "sebastian/environment": "^4.2.2", - "sebastian/exporter": "^3.1.1", - "sebastian/global-state": "^3.0.0", - "sebastian/object-enumerator": "^3.0.3", - "sebastian/resource-operations": "^2.0.1", - "sebastian/type": "^1.1.3", - "sebastian/version": "^2.0.1" - }, - "require-dev": { - "ext-pdo": "*" - }, - "suggest": { - "ext-soap": "*", - "ext-xdebug": "*", - "phpunit/php-invoker": "^2.0.0" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "8.5-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" - ], - "funding": [ - { - "url": "https://phpunit.de/donate.html", - "type": "custom" - }, - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-06-22T07:06:58+00:00" - }, - { - "name": "rap2hpoutre/laravel-log-viewer", - "version": "v1.6.0", - "source": { - "type": "git", - "url": "https://github.com/rap2hpoutre/laravel-log-viewer.git", - "reference": "02023f590b84d11be8716a8c07146c128f9e7b42" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rap2hpoutre/laravel-log-viewer/zipball/02023f590b84d11be8716a8c07146c128f9e7b42", - "reference": "02023f590b84d11be8716a8c07146c128f9e7b42", - "shasum": "" - }, - "require": { - "illuminate/support": "4.2.*|5.*|^6.0|^7.0", - "php": ">=5.4.0" - }, - "require-dev": { - "orchestra/testbench": "3.7.*", - "phpunit/phpunit": "^7" - }, - "type": "laravel-package", - "extra": { - "laravel": { - "providers": [ - "Rap2hpoutre\\LaravelLogViewer\\LaravelLogViewerServiceProvider" - ] - } - }, - "autoload": { - "classmap": [ - "src/controllers" - ], - "psr-0": { - "Rap2hpoutre\\LaravelLogViewer\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "rap2hpoutre", - "email": "raphaelht@gmail.com" - } - ], - "description": "A Laravel log reader", - "keywords": [ - "laravel", - "log", - "log-reader", - "log-viewer", - "logging", - "lumen" - ], - "time": "2020-04-27T06:40:08+00:00" - }, - { - "name": "scrivo/highlight.php", - "version": "v9.18.1.6", - "source": { - "type": "git", - "url": "https://github.com/scrivo/highlight.php.git", - "reference": "44a3d4136edb5ad8551590bf90f437db80b2d466" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/scrivo/highlight.php/zipball/44a3d4136edb5ad8551590bf90f437db80b2d466", - "reference": "44a3d4136edb5ad8551590bf90f437db80b2d466", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-mbstring": "*", - "php": ">=5.4" - }, - "require-dev": { - "phpunit/phpunit": "^4.8|^5.7", - "sabberworm/php-css-parser": "^8.3", - "symfony/finder": "^2.8|^3.4", - "symfony/var-dumper": "^2.8|^3.4" - }, - "type": "library", - "autoload": { - "psr-0": { - "Highlight\\": "", - "HighlightUtilities\\": "" - }, - "files": [ - "HighlightUtilities/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Geert Bergman", - "homepage": "http://www.scrivo.org/", - "role": "Project Author" - }, - { - "name": "Vladimir Jimenez", - "homepage": "https://allejo.io", - "role": "Maintainer" - }, - { - "name": "Martin Folkers", - "homepage": "https://twobrain.io", - "role": "Contributor" - } - ], - "description": "Server side syntax highlighter that supports 185 languages. It's a PHP port of highlight.js", - "keywords": [ - "code", - "highlight", - "highlight.js", - "highlight.php", - "syntax" - ], - "funding": [ - { - "url": "https://github.com/allejo", - "type": "github" - } - ], - "time": "2020-12-22T19:20:29+00:00" - }, - { - "name": "sebastian/code-unit-reverse-lookup", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", - "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.7 || ^6.0" - }, - "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": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Looks up which function or method a line of code belongs to", - "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", - "time": "2017-03-04T06:30:41+00:00" - }, - { - "name": "sebastian/comparator", - "version": "3.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/5de4fc177adf9bce8df98d8d141a7559d7ccf6da", - "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da", - "shasum": "" - }, - "require": { - "php": "^7.1", - "sebastian/diff": "^3.0", - "sebastian/exporter": "^3.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-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": "https://github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2018-07-12T15:12:46+00:00" - }, - { - "name": "sebastian/diff", - "version": "3.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/720fcc7e9b5cf384ea68d9d930d480907a0c1a29", - "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.5 || ^8.0", - "symfony/process": "^2 || ^3.3 || ^4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-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", - "udiff", - "unidiff", - "unified diff" - ], - "time": "2019-02-04T06:01:07+00:00" - }, - { - "name": "sebastian/environment", - "version": "4.2.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/464c90d7bdf5ad4e8a6aea15c091fec0603d4368", - "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.5" - }, - "suggest": { - "ext-posix": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.2-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": "2019-11-20T08:46:58+00:00" - }, - { - "name": "sebastian/exporter", - "version": "3.1.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/68609e1261d215ea5b21b7987539cbfbe156ec3e", - "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e", - "shasum": "" - }, - "require": { - "php": "^7.0", - "sebastian/recursion-context": "^3.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.1.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2019-09-14T09:02:43+00:00" - }, - { - "name": "sebastian/global-state", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4", - "reference": "edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4", - "shasum": "" - }, - "require": { - "php": "^7.2", - "sebastian/object-reflector": "^1.1.1", - "sebastian/recursion-context": "^3.0" - }, - "require-dev": { - "ext-dom": "*", - "phpunit/phpunit": "^8.0" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.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": "2019-02-01T05:30:01+00:00" - }, - { - "name": "sebastian/object-enumerator", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5", - "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5", - "shasum": "" - }, - "require": { - "php": "^7.0", - "sebastian/object-reflector": "^1.1.1", - "sebastian/recursion-context": "^3.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Traverses array structures and object graphs to enumerate all referenced objects", - "homepage": "https://github.com/sebastianbergmann/object-enumerator/", - "time": "2017-08-03T12:35:26+00:00" - }, - { - "name": "sebastian/object-reflector", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "773f97c67f28de00d397be301821b06708fca0be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be", - "reference": "773f97c67f28de00d397be301821b06708fca0be", - "shasum": "" - }, - "require": { - "php": "^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Allows reflection of object attributes, including inherited and non-public ones", - "homepage": "https://github.com/sebastianbergmann/object-reflector/", - "time": "2017-03-29T09:07:27+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", - "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", - "shasum": "" - }, - "require": { - "php": "^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.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": "2017-03-03T06:23:57+00:00" - }, - { - "name": "sebastian/resource-operations", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/4d7a795d35b889bf80a0cc04e08d77cedfa917a9", - "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides a list of PHP built-in functions that operate on resources", - "homepage": "https://www.github.com/sebastianbergmann/resource-operations", - "time": "2018-10-04T04:07:39+00:00" - }, - { - "name": "sebastian/type", - "version": "1.1.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/type.git", - "reference": "3aaaa15fa71d27650d62a948be022fe3b48541a3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/3aaaa15fa71d27650d62a948be022fe3b48541a3", - "reference": "3aaaa15fa71d27650d62a948be022fe3b48541a3", - "shasum": "" - }, - "require": { - "php": "^7.2" - }, - "require-dev": { - "phpunit/phpunit": "^8.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-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": "Collection of value objects that represent the types of the PHP type system", - "homepage": "https://github.com/sebastianbergmann/type", - "time": "2019-07-02T08:10:15+00:00" - }, - { - "name": "sebastian/version", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", - "shasum": "" - }, - "require": { - "php": ">=5.6" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.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": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2016-10-03T07:35:21+00:00" - }, - { - "name": "symfony/debug", - "version": "v4.4.10", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "28f92d08bb6d1fddf8158e02c194ad43870007e6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/28f92d08bb6d1fddf8158e02c194ad43870007e6", - "reference": "28f92d08bb6d1fddf8158e02c194ad43870007e6", - "shasum": "" - }, - "require": { - "php": ">=7.1.3", - "psr/log": "~1.0", - "symfony/polyfill-php80": "^1.15" - }, - "conflict": { - "symfony/http-kernel": "<3.4" - }, - "require-dev": { - "symfony/http-kernel": "^3.4|^4.0|^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-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", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-05-24T08:33:35+00:00" - }, - { - "name": "symfony/filesystem", - "version": "v5.1.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "6e4320f06d5f2cce0d96530162491f4465179157" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/6e4320f06d5f2cce0d96530162491f4465179157", - "reference": "6e4320f06d5f2cce0d96530162491f4465179157", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-ctype": "~1.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Filesystem\\": "" - }, - "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 Filesystem Component", - "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-05-30T20:35:19+00:00" - }, - { - "name": "symfony/options-resolver", - "version": "v5.1.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/options-resolver.git", - "reference": "663f5dd5e14057d1954fe721f9709d35837f2447" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/663f5dd5e14057d1954fe721f9709d35837f2447", - "reference": "663f5dd5e14057d1954fe721f9709d35837f2447", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", - "symfony/polyfill-php80": "^1.15" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\OptionsResolver\\": "" - }, - "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 OptionsResolver Component", - "homepage": "https://symfony.com", - "keywords": [ - "config", - "configuration", - "options" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-05-23T13:08:13+00:00" - }, - { - "name": "symfony/polyfill-php70", - "version": "v1.20.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php70.git", - "reference": "5f03a781d984aae42cebd18e7912fa80f02ee644" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/5f03a781d984aae42cebd18e7912fa80f02ee644", - "reference": "5f03a781d984aae42cebd18e7912fa80f02ee644", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "metapackage", - "extra": { - "branch-alias": { - "dev-main": "1.20-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "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 7.0+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-10-23T14:02:19+00:00" - }, - { - "name": "symfony/stopwatch", - "version": "v5.1.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/stopwatch.git", - "reference": "0f7c58cf81dbb5dd67d423a89d577524a2ec0323" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/0f7c58cf81dbb5dd67d423a89d577524a2ec0323", - "reference": "0f7c58cf81dbb5dd67d423a89d577524a2ec0323", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/service-contracts": "^1.0|^2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Stopwatch\\": "" - }, - "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 Stopwatch Component", - "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-05-20T17:43:50+00:00" - }, - { - "name": "theseer/tokenizer", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/theseer/tokenizer.git", - "reference": "75a63c33a8577608444246075ea0af0d052e452a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/75a63c33a8577608444246075ea0af0d052e452a", - "reference": "75a63c33a8577608444246075ea0af0d052e452a", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": "^7.2 || ^8.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - } - ], - "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "funding": [ - { - "url": "https://github.com/theseer", - "type": "github" - } - ], - "time": "2020-07-12T23:59:07+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.9.1", - "source": { - "type": "git", - "url": "https://github.com/webmozarts/assert.git", - "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389", - "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0 || ^8.0", - "symfony/polyfill-ctype": "^1.8" - }, - "conflict": { - "phpstan/phpstan": "<0.12.20", - "vimeo/psalm": "<3.9.1" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.36 || ^7.5.13" - }, - "type": "library", - "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": "2020-07-08T17:02:28+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "php": ">=7.2.5" - }, - "platform-dev": [], - "plugin-api-version": "2.0.0" -} diff --git a/config/app.php b/config/app.php deleted file mode 100755 index 809e27354..000000000 --- a/config/app.php +++ /dev/null @@ -1,231 +0,0 @@ - env('APP_NAME', 'Laravel'), - - /* - |-------------------------------------------------------------------------- - | 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' => 'Asia/Dhaka',//'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' => 'en', - - /* - |-------------------------------------------------------------------------- - | 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' => 'en', - - /* - |-------------------------------------------------------------------------- - | 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'), - - 'log_level' => env('APP_LOG_LEVEL', 'debug'), - - /* - |-------------------------------------------------------------------------- - | 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\Notifications\NotificationServiceProvider::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, - - /* - * Package Service Providers... - */ - Mavinoo\Batch\BatchServiceProvider::class, - Lab404\Impersonate\ImpersonateServiceProvider::class, - /* - * Application Service Providers... - */ - App\Providers\AppServiceProvider::class, - App\Providers\AuthServiceProvider::class, - // App\Providers\BroadcastServiceProvider::class, - App\Providers\EventServiceProvider::class, - App\Providers\RouteServiceProvider::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, - 'Broadcast' => Illuminate\Support\Facades\Broadcast::class, - 'Bus' => Illuminate\Support\Facades\Bus::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, - 'Lang' => Illuminate\Support\Facades\Lang::class, - 'Log' => Illuminate\Support\Facades\Log::class, - 'Mail' => Illuminate\Support\Facades\Mail::class, - 'Notification' => Illuminate\Support\Facades\Notification::class, - 'Password' => Illuminate\Support\Facades\Password::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, - 'Batch' => Mavinoo\Batch\BatchFacade::class, - ], - -]; diff --git a/config/auth.php b/config/auth.php deleted file mode 100755 index f8a1194bd..000000000 --- a/config/auth.php +++ /dev/null @@ -1,102 +0,0 @@ - [ - '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' => 'passport', - '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 - |-------------------------------------------------------------------------- - | - | 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', - 'table' => 'password_resets', - 'expire' => 60, - ], - ], - -]; diff --git a/config/broadcasting.php b/config/broadcasting.php deleted file mode 100755 index 5eecd2b26..000000000 --- a/config/broadcasting.php +++ /dev/null @@ -1,58 +0,0 @@ - env('BROADCAST_DRIVER', 'null'), - - /* - |-------------------------------------------------------------------------- - | 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_APP_KEY'), - 'secret' => env('PUSHER_APP_SECRET'), - 'app_id' => env('PUSHER_APP_ID'), - 'options' => [ - // - ], - ], - - 'redis' => [ - 'driver' => 'redis', - 'connection' => 'default', - ], - - 'log' => [ - 'driver' => 'log', - ], - - 'null' => [ - 'driver' => 'null', - ], - - ], - -]; diff --git a/config/cache.php b/config/cache.php deleted file mode 100755 index c492dcadc..000000000 --- a/config/cache.php +++ /dev/null @@ -1,92 +0,0 @@ - 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/data'), - ], - - 'memcached' => [ - 'driver' => 'memcached', - 'persistent_id' => env('MEMCACHED_PERSISTENT_ID'), - 'sasl' => [ - env('MEMCACHED_USERNAME'), - env('MEMCACHED_PASSWORD'), - ], - 'options' => [ - // Memcached::OPT_CONNECT_TIMEOUT => 2000, - ], - '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' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache'), - -]; diff --git a/config/database.php b/config/database.php deleted file mode 100755 index ef1379bd8..000000000 --- a/config/database.php +++ /dev/null @@ -1,126 +0,0 @@ - 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', '127.0.0.1'), - 'port' => env('DB_PORT', '3306'), - 'database' => env('DB_DATABASE', 'forge'), - 'username' => env('DB_USERNAME', 'forge'), - 'password' => env('DB_PASSWORD', ''), - 'unix_socket' => env('DB_SOCKET', ''), - 'charset' => 'utf8mb4', - 'collation' => 'utf8mb4_unicode_ci', - 'prefix' => '', - 'strict' => false, - 'engine' => null, - ], - - 'pgsql' => [ - 'driver' => 'pgsql', - 'host' => env('DB_HOST', '127.0.0.1'), - 'port' => env('DB_PORT', '5432'), - 'database' => env('DB_DATABASE', 'forge'), - 'username' => env('DB_USERNAME', 'forge'), - 'password' => env('DB_PASSWORD', ''), - 'charset' => 'utf8', - 'prefix' => '', - 'schema' => 'public', - 'sslmode' => 'prefer', - ], - - 'sqlsrv' => [ - 'driver' => 'sqlsrv', - 'host' => env('DB_HOST', 'localhost'), - 'port' => env('DB_PORT', '1433'), - 'database' => env('DB_DATABASE', 'forge'), - 'username' => env('DB_USERNAME', 'forge'), - 'password' => env('DB_PASSWORD', ''), - 'charset' => 'utf8', - 'prefix' => '', - ], - - 'dusk_testing' => [ - 'driver' => 'sqlite', - 'database' => database_path('database.sqlite'), - 'prefix' => '', - ], - - ], - - /* - |-------------------------------------------------------------------------- - | 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' => [ - - 'client' => 'predis', - - 'default' => [ - 'host' => env('REDIS_HOST', '127.0.0.1'), - 'password' => env('REDIS_PASSWORD', null), - 'port' => env('REDIS_PORT', 6379), - 'database' => 0, - ], - - ], - -]; diff --git a/config/filesystems.php b/config/filesystems.php deleted file mode 100755 index 7c81c8def..000000000 --- a/config/filesystems.php +++ /dev/null @@ -1,68 +0,0 @@ - env('FILESYSTEM_DRIVER', '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' => env('FILESYSTEM_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. - | - | Supported Drivers: "local", "ftp", "s3", "rackspace" - | - */ - - 'disks' => [ - - 'local' => [ - 'driver' => 'local', - 'root' => storage_path('app'), - ], - - 'public' => [ - 'driver' => 'local', - 'root' => public_path('storage'),//storage_path('app/public'), - 'url' => env('APP_URL').'/storage', - 'visibility' => 'public', - ], - - 's3' => [ - 'driver' => 's3', - 'key' => env('AWS_ACCESS_KEY_ID'), - 'secret' => env('AWS_SECRET_ACCESS_KEY'), - 'region' => env('AWS_DEFAULT_REGION'), - 'bucket' => env('AWS_BUCKET'), - ], - - ], - -]; diff --git a/config/mail.php b/config/mail.php deleted file mode 100755 index bb92224c5..000000000 --- a/config/mail.php +++ /dev/null @@ -1,123 +0,0 @@ - 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' => env('MAIL_FROM_ADDRESS', 'hello@example.com'), - 'name' => env('MAIL_FROM_NAME', 'Example'), - ], - - /* - |-------------------------------------------------------------------------- - | 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'), - - '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', - - /* - |-------------------------------------------------------------------------- - | Markdown Mail Settings - |-------------------------------------------------------------------------- - | - | If you are using Markdown based email rendering, you may configure your - | theme and component paths here, allowing you to customize the design - | of the emails. Or, you may simply stick with the Laravel defaults! - | - */ - - 'markdown' => [ - 'theme' => 'default', - - 'paths' => [ - resource_path('views/vendor/mail'), - ], - ], - -]; diff --git a/config/purify.php b/config/purify.php deleted file mode 100644 index 2089d15ca..000000000 --- a/config/purify.php +++ /dev/null @@ -1,135 +0,0 @@ - [ - - /* - |-------------------------------------------------------------------------- - | Core.Encoding - |-------------------------------------------------------------------------- - | - | The encoding to convert input to. - | - | http://htmlpurifier.org/live/configdoc/plain.html#Core.Encoding - | - */ - - 'Core.Encoding' => 'utf-8', - - /* - |-------------------------------------------------------------------------- - | Core.SerializerPath - |-------------------------------------------------------------------------- - | - | The HTML purifier serializer cache path. - | - | http://htmlpurifier.org/live/configdoc/plain.html#Cache.SerializerPath - | - */ - - 'Cache.SerializerPath' => storage_path('app/purify'), - - /* - |-------------------------------------------------------------------------- - | HTML.Doctype - |-------------------------------------------------------------------------- - | - | Doctype to use during filtering. - | - | http://htmlpurifier.org/live/configdoc/plain.html#HTML.Doctype - | - */ - - 'HTML.Doctype' => 'XHTML 1.0 Strict', - - /* - |-------------------------------------------------------------------------- - | HTML.Allowed - |-------------------------------------------------------------------------- - | - | The allowed HTML Elements with their allowed attributes. - | - | http://htmlpurifier.org/live/configdoc/plain.html#HTML.Allowed - | - */ - - 'HTML.Allowed' => 'h1,h2,h3,h4,h5,h6,b,strong,i,em,a[href|title],ul,ol,li,p[style],br,span,img[width|height|alt|src]', - - /* - |-------------------------------------------------------------------------- - | HTML.ForbiddenElements - |-------------------------------------------------------------------------- - | - | The forbidden HTML elements. Elements that are listed in - | this string will be removed, however their content will remain. - | - | For example if 'p' is inside the string, the string: '

Test

', - | - | Will be cleaned to: 'Test' - | - | http://htmlpurifier.org/live/configdoc/plain.html#HTML.ForbiddenElements - | - */ - - 'HTML.ForbiddenElements' => '', - - /* - |-------------------------------------------------------------------------- - | CSS.AllowedProperties - |-------------------------------------------------------------------------- - | - | The Allowed CSS properties. - | - | http://htmlpurifier.org/live/configdoc/plain.html#CSS.AllowedProperties - | - */ - - 'CSS.AllowedProperties' => 'font,font-size,font-weight,font-style,font-family,text-decoration,padding-left,color,background-color,text-align', - - /* - |-------------------------------------------------------------------------- - | AutoFormat.AutoParagraph - |-------------------------------------------------------------------------- - | - | The Allowed CSS properties. - | - | This directive turns on auto-paragraphing, where double - | newlines are converted in to paragraphs whenever possible. - | - | http://htmlpurifier.org/live/configdoc/plain.html#AutoFormat.AutoParagraph - | - */ - - 'AutoFormat.AutoParagraph' => false, - - /* - |-------------------------------------------------------------------------- - | AutoFormat.RemoveEmpty - |-------------------------------------------------------------------------- - | - | When enabled, HTML Purifier will attempt to remove empty - | elements that contribute no semantic information to the document. - | - | http://htmlpurifier.org/live/configdoc/plain.html#AutoFormat.RemoveEmpty - | - */ - - 'AutoFormat.RemoveEmpty' => false, - - ], - -]; diff --git a/config/queue.php b/config/queue.php deleted file mode 100755 index 4d83ebd0c..000000000 --- a/config/queue.php +++ /dev/null @@ -1,85 +0,0 @@ - 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', - 'retry_after' => 90, - ], - - 'beanstalkd' => [ - 'driver' => 'beanstalkd', - 'host' => 'localhost', - 'queue' => 'default', - 'retry_after' => 90, - ], - - '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', - 'retry_after' => 90, - ], - - ], - - /* - |-------------------------------------------------------------------------- - | 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/config/services.php b/config/services.php deleted file mode 100755 index 4460f0ec2..000000000 --- a/config/services.php +++ /dev/null @@ -1,38 +0,0 @@ - [ - '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/config/session.php b/config/session.php deleted file mode 100755 index 0be66abab..000000000 --- a/config/session.php +++ /dev/null @@ -1,198 +0,0 @@ - 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' => env('SESSION_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 Cache Store - |-------------------------------------------------------------------------- - | - | When using the "apc" or "memcached" session drivers, you may specify a - | cache store that should be used for these sessions. This value must - | correspond with one of the application's configured cache stores. - | - */ - - 'store' => null, - - /* - |-------------------------------------------------------------------------- - | 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' => env( - 'SESSION_COOKIE', - Str::slug(env('APP_NAME', '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' => env('SESSION_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' => env('SESSION_SECURE_COOKIE', 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, - - /* - |-------------------------------------------------------------------------- - | Same-Site Cookies - |-------------------------------------------------------------------------- - | - | This option determines how your cookies behave when cross-site requests - | take place, and can be used to mitigate CSRF attacks. By default, we - | do not enable this as other CSRF protection services are in place. - | - | Supported: "lax", "strict" - | - */ - - 'same_site' => null, - -]; diff --git a/config/view.php b/config/view.php deleted file mode 100755 index 2acfd9cc9..000000000 --- a/config/view.php +++ /dev/null @@ -1,33 +0,0 @@ - [ - resource_path('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/database/.gitignore b/database/.gitignore deleted file mode 100755 index 9b1dffd90..000000000 --- a/database/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.sqlite diff --git a/database/factories/AccountFactory.php b/database/factories/AccountFactory.php deleted file mode 100755 index f642e9a2b..000000000 --- a/database/factories/AccountFactory.php +++ /dev/null @@ -1,25 +0,0 @@ -define(Account::class, function (Faker $faker) { - return [ - 'name' => $faker->name, - 'type' => $faker->randomElement(['income','expense']), - 'amount' => $faker->randomNumber(4, false), - 'description' => $faker->sentences(3, true), - 'school_id' => function() use ($faker) { - if (School::count()) - return $faker->randomElement(School::pluck('id')->toArray()); - else return factory(School::class)->create()->id; - }, - 'user_id' => function() use ($faker) { - if (User::where('role', 'accountant')->count()) - return $faker->randomElement(User::where('role', 'accountant')->pluck('id')->toArray()); - else return factory(User::class)->states('accountant')->create()->id; - } - ]; -}); diff --git a/database/factories/AccountSectorFactory.php b/database/factories/AccountSectorFactory.php deleted file mode 100755 index 54ab5b781..000000000 --- a/database/factories/AccountSectorFactory.php +++ /dev/null @@ -1,23 +0,0 @@ -define(AccountSector::class, function (Faker $faker) { - return [ - 'name' => $faker->catchPhrase, - 'type' => $faker->randomElement(['income','expense']), - 'school_id' => function () use ($faker) { - if (School::count()) - return $faker->randomElement(School::pluck('id')->toArray()); - else return factory(School::class)->create()->id; - }, - 'user_id' => function() use ($faker) { - if (User::where('role','accountant')->count()) - return $faker->randomElement(User::where('role','accountant')->pluck('id')->toArray()); - else return factory(User::class)->states('accountant')->create()->id; - }, - ]; -}); diff --git a/database/factories/AttendanceFactory.php b/database/factories/AttendanceFactory.php deleted file mode 100755 index aa15c25c7..000000000 --- a/database/factories/AttendanceFactory.php +++ /dev/null @@ -1,34 +0,0 @@ -define(Attendance::class, function (Faker $faker) { - return [ - 'present' => $faker->randomElement([0,1,2]), - 'student_id' => function () use ($faker) { - if (User::student()->count()) - return $faker->randomElement(User::student()->take(10)->pluck('id')->toArray()); - else return factory(User::class)->create(['role' => 'student'])->id; - }, - 'section_id' => function () use ($faker) { - if (Section::count()) - return $faker->randomElement(Section::pluck('id')->toArray()); - else return factory(Section::class)->create()->id; - }, - 'exam_id' => function () use ($faker) { - if (Exam::count()) - return $faker->randomElement(Exam::bySchool($faker->randomElement(School::pluck('id')->toArray()))->pluck('id')->toArray()); - else return factory(Exam::class)->create()->id; - }, - 'user_id' => function () use ($faker) { - if (User::count()) - return $faker->randomElement(User::pluck('id')->toArray()); - else return factory(User::class)->create()->id; - }, - ]; -}); diff --git a/database/factories/BookFactory.php b/database/factories/BookFactory.php deleted file mode 100755 index 946f64a8e..000000000 --- a/database/factories/BookFactory.php +++ /dev/null @@ -1,38 +0,0 @@ -define(Book::class, function (Faker $faker) { - return [ - 'book_code' => 'bk'.$faker->unique()->randomNumber(7, false), - 'title' => $faker->sentences(1, true), - 'author' => $faker->name, - 'quantity' => $faker->randomElement([5,8,19,13,34]), - 'rackNo' => $faker->randomElement([1,2,3,4,5,6,7,8,9,10,11,12]), - 'rowNo' => $faker->randomElement([1,2,3,4,5,6,7,8,9,10,11,12]), - 'type' => $faker->randomElement(['Academic','Magazine','Story','Other']), - 'img_path' => $faker->imageUrl($width = 150, $height = 150, 'cats'), - 'about' => $faker->sentences(3, true), - 'price' => $faker->randomNumber, - 'class_id' => function() use ($faker) { - if (Myclass::count() > 0) { - return $faker->randomElement(Myclass::pluck('id')->toArray()); - } else return factory(Myclass::class)->create()->id; - }, - 'school_id' => function() use ($faker) { - if (School::count() > 0) { - return $faker->randomElement(School::pluck('id')->toArray()); - } else return factory(School::class)->create()->id; - }, - 'user_id' => function() use ($faker) { - if (User::where('role','librarian')->count() > 0) { - return $faker->randomElement(User::where('role','librarian')->pluck('id')->toArray()); - } else - return factory(User::class)->states('librarian')->create()->id; - } - ]; -}); diff --git a/database/factories/CertificateFactory.php b/database/factories/CertificateFactory.php deleted file mode 100755 index a5dcf1415..000000000 --- a/database/factories/CertificateFactory.php +++ /dev/null @@ -1,25 +0,0 @@ -define(Certificate::class, function (Faker $faker) { - return [ - 'file_path' => $faker->url, - 'title' => $faker->sentences(1, true), - 'given_to' => $faker->randomElement(User::where('role', 'student')->pluck('student_code')->toArray()), - 'active' => $faker->randomElement([0, 1]), - 'school_id' => function() use ($faker) { - if (School::count()) - return $faker->randomElement(School::pluck('id')->toArray()); - else return factory(School::class)->create()->id; - }, - 'user_id' => function() use ($faker) { - if (User::count()) - return $faker->randomElement(User::pluck('id')->toArray()); - else return factory(User::class)->create()->id; - }, - ]; -}); diff --git a/database/factories/CourseFactory.php b/database/factories/CourseFactory.php deleted file mode 100755 index 30b60c7fc..000000000 --- a/database/factories/CourseFactory.php +++ /dev/null @@ -1,68 +0,0 @@ -define(Course::class, function (Faker $faker) { - return [ - 'course_name' => $faker->words(3, true), - 'class_id' => function () use ($faker) { - if (Myclass::count()) - return $faker->randomElement(Myclass::pluck('id')->toArray()); - else return factory(Myclass::class)->create()->id; - }, - 'course_type' => $faker->randomElement(['Core','Elective']), - 'course_time' => $faker->randomElement(['9:30AM-10:20AM','12:50PM-01:40PM']), - 'school_id' => function () use ($faker) { - if (School::count()) - return $faker->randomElement(School::pluck('id')->toArray()); - else return factory(School::class)->create()->id; - }, - 'teacher_id' => function () use ($faker) { - if (User::where('role', 'teacher')->count()) - return $faker->randomElement(User::where('role', 'teacher')->take(10)->pluck('id')->toArray()); - else return factory(User::class)->create(['role' => 'teacher'])->id; - }, - 'section_id' => function () use ($faker) { - if (Section::count()) - return $faker->randomElement(Section::pluck('id')->toArray()); - else return factory(Section::class)->create()->id; - }, - 'grade_system_name' => function () use ($faker) { - if (Gradesystem::count()) - return $faker->randomElement(Gradesystem::pluck('grade_system_name')->toArray()); - else return factory(Gradesystem::class)->create()->grade_system_name; - }, - 'exam_id' => function () use ($faker) { - if (Exam::count()) - return $faker->randomElement(Exam::pluck('id')->toArray()); - else return factory(Exam::class)->create()->id; - }, - 'quiz_count' => $faker->randomElement([1,2,3,4,5]), - 'assignment_count' => $faker->randomElement([1,2,3]), - 'ct_count' => $faker->randomElement([1,2,3,4,5]), - 'quiz_percent' => 10, - 'attendance_percent' => 5, - 'assignment_percent' => 15, - 'ct_percent' => 10, - 'final_exam_percent' => 50, - 'practical_percent' => 25, - 'att_fullmark' => 5, - 'quiz_fullmark' => 15, - 'a_fullmark' => 20, - 'ct_fullmark' => 15, - 'final_fullmark' => 100, - 'practical_fullmark' => 30, - 'user_id' => function () use ($faker) { - if (User::count()) - return $faker->randomElement(User::pluck('id')->toArray()); - else return factory(User::class)->create()->id; - }, - ]; -}); diff --git a/database/factories/DepartmentFactory.php b/database/factories/DepartmentFactory.php deleted file mode 100755 index 74701a6d8..000000000 --- a/database/factories/DepartmentFactory.php +++ /dev/null @@ -1,16 +0,0 @@ -define(Department::class, function (Faker $faker) { - return [ - 'school_id' => function () use ($faker) { - if (School::count()) - return $faker->randomElement(School::pluck('id')->toArray()); - else return factory(School::class)->create()->id; - }, - 'department_name' => $faker->randomElement(['Bangla','English','Math']), - ]; -}); diff --git a/database/factories/EventFactory.php b/database/factories/EventFactory.php deleted file mode 100755 index 6c8c2e160..000000000 --- a/database/factories/EventFactory.php +++ /dev/null @@ -1,21 +0,0 @@ -define(Event::class, function (Faker $faker) { - return [ - 'file_path' => $faker->url, - 'title' => $faker->sentences(1, true), - 'description' => $faker->sentences(3, true), - 'active' => $faker->randomElement([0, 1]), - 'school_id' => $faker->randomElement(School::pluck('id')->toArray()), - 'user_id' => function() use ($faker) { - if (User::count()) - return $faker->randomElement(User::pluck('id')->toArray()); - else return factory(User::class)->create()->id; - }, - ]; -}); diff --git a/database/factories/ExamFactory.php b/database/factories/ExamFactory.php deleted file mode 100755 index 82a0e9960..000000000 --- a/database/factories/ExamFactory.php +++ /dev/null @@ -1,31 +0,0 @@ -define(Exam::class, function (Faker $faker) { - return [ - 'exam_name' => $faker->words(3, true), - 'school_id' => function() use ($faker) { - if (School::count()) - return $faker->randomElement(School::pluck('id')->toArray()); - else return factory(School::class)->create()->id; - }, - 'term' => $faker->text(20), - 'active' => $faker->randomElement([0,1]), - 'start_date' => $faker->dateTime()->format('Y-m-d H:i:s'), - 'end_date' => $faker->dateTime()->format('Y-m-d H:i:s'), - 'notice_published' => $faker->randomElement([0,1]), - 'result_published' => $faker->randomElement([0,1]), - 'user_id' => function() use ($faker) { - if (User::count()) - return $faker->randomElement(User::pluck('id')->toArray()); - else return factory(User::class)->create()->id; - }, - 'created_at' => Carbon::now(), - 'updated_at' => Carbon::now(), - ]; -}); diff --git a/database/factories/ExamForClassFactory.php b/database/factories/ExamForClassFactory.php deleted file mode 100755 index 7a0f3776c..000000000 --- a/database/factories/ExamForClassFactory.php +++ /dev/null @@ -1,14 +0,0 @@ -define(ExamForClass::class, function (Faker $faker) { - return [ - 'class_id' => $faker->randomElement(Myclass::pluck('id')->toArray()), - 'exam_id' => $faker->randomElement(Exam::where('active', 1)->pluck('id')->toArray()), - 'active' => $faker->randomElement([0, 1]), - ]; -}); diff --git a/database/factories/FaqFactory.php b/database/factories/FaqFactory.php deleted file mode 100755 index 9f3e9cefd..000000000 --- a/database/factories/FaqFactory.php +++ /dev/null @@ -1,17 +0,0 @@ -define(Faq::class, function (Faker $faker) { - return [ - 'question' => $faker->sentence(6, true), - 'answer' => $faker->sentences(3, true), - 'user_id' => function () use ($faker) { - if (User::count()) - return $faker->randomElement(User::pluck('id')->toArray()); - else return factory(User::class)->create()->id; - }, - ]; -}); diff --git a/database/factories/FeeFactory.php b/database/factories/FeeFactory.php deleted file mode 100755 index 215dbada9..000000000 --- a/database/factories/FeeFactory.php +++ /dev/null @@ -1,36 +0,0 @@ -define(Fee::class, function (Faker $faker) { - return [ - 'fee_name' => $faker->name, - 'school_id' => function() use ($faker) { - if (School::count()) - return $faker->randomElement(School::pluck('id')->toArray()); - else return factory(School::class)->create()->id; - }, - 'user_id' => function() use ($faker) { - if (User::count()) - return $faker->randomElement(User::pluck('id')->toArray()); - else return factory(User::class)->create()->id; - }, - ]; -}); - -// 'admission_fee' => $faker->randomNumber, -// 'tution_fee' => $faker->randomNumber, -// 'fine_fee' => $faker->randomNumber, -// 'exam_fee' => $faker->randomNumber, -// 'registration_fee' => $faker->randomNumber, -// 'library_fee' => $faker->randomNumber, -// 'lab_fee' => $faker->randomNumber, -// 'sport_fee' => $faker->randomNumber, -// 'late_payment_fee' => $faker->randomNumber, -// 'maintenance_fee' => $faker->randomNumber, -// 'internet_fee' => $faker->randomNumber, -// 'farewell_fee' => $faker->randomNumber, -// 'other_fee' => $faker->randomNumber, diff --git a/database/factories/FeedbackFactory.php b/database/factories/FeedbackFactory.php deleted file mode 100755 index c3e363550..000000000 --- a/database/factories/FeedbackFactory.php +++ /dev/null @@ -1,13 +0,0 @@ -define(Feedback::class, function (Faker $faker) { - return [ - 'description' => $faker->sentences(3, true), - 'student_id' => $faker->randomElement(User::student()->pluck('id')->toArray()), - 'teacher_id' => $faker->randomElement(User::where('role', 'teacher')->pluck('id')->toArray()) - ]; -}); diff --git a/database/factories/FormFactory.php b/database/factories/FormFactory.php deleted file mode 100755 index 0cb25b1e4..000000000 --- a/database/factories/FormFactory.php +++ /dev/null @@ -1,19 +0,0 @@ -define(Form::class, function (Faker $faker) { - return [ - 'name' => $faker->name, - 'file_path' => $faker->url, - 'school_id' => factory(School::class)->create()->id, - 'user_id' => function() use ($faker) { - if (User::count()) - return $faker->randomElement(User::pluck('id')->toArray()); - else return factory(User::class)->create()->id; - }, - ]; -}); diff --git a/database/factories/GradeFactory.php b/database/factories/GradeFactory.php deleted file mode 100755 index 377a17f43..000000000 --- a/database/factories/GradeFactory.php +++ /dev/null @@ -1,56 +0,0 @@ -define(Grade::class, function (Faker $faker) { - return [ - 'gpa' => $faker->randomNumber(1, false), - 'marks' => $faker->randomNumber(2, false), - 'attendance' => 5, - 'quiz1' => $faker->randomNumber(2, false), - 'quiz2' => $faker->randomNumber(2, false), - 'quiz3' => $faker->randomNumber(2, false), - 'quiz4' => $faker->randomNumber(2, false), - 'quiz5' => $faker->randomNumber(2, false), - 'ct1' => $faker->randomNumber(2, false), - 'ct2' => $faker->randomNumber(2, false), - 'ct3' => $faker->randomNumber(2, false), - 'ct4' => $faker->randomNumber(2, false), - 'ct5' => $faker->randomNumber(2, false), - 'assignment1' => $faker->randomNumber(2, false), - 'assignment2' => $faker->randomNumber(2, false), - 'assignment3' => $faker->randomNumber(2, false), - 'written' => $faker->randomNumber(2, false), - 'mcq' => $faker->randomNumber(2, false), - 'practical' => $faker->randomNumber(2, false), - 'exam_id' => function () use ($faker) { - if (Exam::count()) - return $faker->randomElement(Exam::pluck('id')->toArray()); - else return factory(Exam::class)->create()->id; - }, - 'student_id' => function () use ($faker) { - if (User::student()->count()) - return $faker->randomElement(User::student()->take(10)->pluck('id')->toArray()); - else return factory(User::class)->create(['role' => 'student'])->id; - }, - 'teacher_id' => function () use ($faker) { - if (User::where('role', 'teacher')->count()) - return $faker->randomElement(User::where('role', 'teacher')->take(10)->pluck('id')->toArray()); - else return factory(App\User::class)->create(['role' => 'teacher'])->id; - }, - 'course_id' => function () use ($faker) { - if (Course::count()) - return $faker->randomElement(Course::take(10)->pluck('id')->toArray()); - else return factory(Course::class)->create()->id; - }, - 'user_id' => function () use ($faker) { - if (User::count()) - return $faker->randomElement(User::pluck('id')->toArray()); - else return factory(User::class)->create()->id; - }, - ]; -}); diff --git a/database/factories/GradesystemFactory.php b/database/factories/GradesystemFactory.php deleted file mode 100755 index ab85ce969..000000000 --- a/database/factories/GradesystemFactory.php +++ /dev/null @@ -1,26 +0,0 @@ -define(Gradesystem::class, function (Faker $faker) { - return [ - 'grade_system_name' => $faker->randomElement(['Grade System 1','Grade System 2']), - 'grade' => $faker->randomElement(['A+','A','A-','B+','B','B-','C+','C','C-','D+','D','F']), - 'point' => $faker->randomElement([2.50,2.75,3.00,3.50,4.00,4.50,5.00]), - 'from_mark' => $faker->randomElement([0,30,60,70,80,90]), - 'to_mark' => $faker->randomElement([60,70,80,90,100]), - 'school_id' => function() use ($faker) { - if (School::count()) - return $faker->randomElement(School::pluck('id')->toArray()); - else return factory(School::class)->create()->id; - }, - 'user_id' => function() use ($faker) { - if (User::count()) - return $faker->randomElement(User::pluck('id')->toArray()); - else return factory(User::class)->create()->id; - }, - ]; -}); diff --git a/database/factories/HomeworkFactory.php b/database/factories/HomeworkFactory.php deleted file mode 100755 index 876779c52..000000000 --- a/database/factories/HomeworkFactory.php +++ /dev/null @@ -1,15 +0,0 @@ -define(Homework::class, function (Faker $faker) { - return [ - 'file_path' => $faker->url, - 'description' => $faker->sentences(3, true), - 'teacher_id' => $faker->randomElement(User::where('role', 'teacher')->pluck('id')->toArray()), - 'section_id' => $faker->randomElement(Section::pluck('id')->toArray()) - ]; -}); diff --git a/database/factories/IssuedbooksFactory.php b/database/factories/IssuedbooksFactory.php deleted file mode 100755 index 01437e681..000000000 --- a/database/factories/IssuedbooksFactory.php +++ /dev/null @@ -1,37 +0,0 @@ -define(Issuedbook::class, function (Faker $faker) { - return [ - 'student_code' => function () use ($faker) { - if (User::count()) - return $faker->randomElement(User::pluck('student_code')->toArray()); - else return factory(User::class)->create()->student_code; - }, - 'book_id' => function () use ($faker) { - if (Book::count()) - return $faker->randomElement(Book::pluck('id')->toArray()); - else return factory(Book::class)->create()->id; - }, - 'quantity' => $faker->randomElement([5,8,19,13,34]), - 'school_id' => function () use ($faker) { - if (School::count()) - return $faker->randomElement(School::pluck('id')->toArray()); - else return factory(School::class)->create()->id; - }, - 'issue_date' => $faker->date('Y-m-d', 'now'), - 'return_date' => $faker->date('Y-m-d', 'now'), - 'fine' => $faker->randomElement([5,8,19,13,34]), - 'borrowed' => $faker->randomElement([1,0]), - 'user_id' => function () use ($faker) { - if (User::count()) - return $faker->randomElement(User::pluck('id')->toArray()); - else return factory(User::class)->create()->id; - } - ]; -}); diff --git a/database/factories/MessageFactory.php b/database/factories/MessageFactory.php deleted file mode 100755 index 4f0e171a9..000000000 --- a/database/factories/MessageFactory.php +++ /dev/null @@ -1,24 +0,0 @@ -define(Message::class, function (Faker $faker) { - return [ - 'phone_number' => $faker->randomNumber(7, false), - 'email' => $faker->unique()->safeEmail, - 'message' => $faker->sentences(3, true), - 'school_id' => function () use ($faker) { - if (School::count()) - return $faker->randomElement(School::pluck('id')->toArray()); - else return factory(School::class)->create()->id; - }, - 'user_id' => function () use ($faker) { - if (User::count()) - return $faker->randomElement(User::pluck('id')->toArray()); - else return factory(User::class)->create()->id; - }, - ]; -}); diff --git a/database/factories/MyclassFactory.php b/database/factories/MyclassFactory.php deleted file mode 100755 index 7fb1d7617..000000000 --- a/database/factories/MyclassFactory.php +++ /dev/null @@ -1,22 +0,0 @@ -define(Myclass::class, function (Faker $faker) { - static $class_number = 0; - - return [ - 'class_number' => $class_number++, //$faker->randomDigitNotNull, - 'school_id' => function() use ($faker) { - if (School::count()) - return $faker->randomElement(School::pluck('id')->toArray()); - else return factory(School::class)->create()->id; - }, - 'group' => function() use ($class_number, $faker) { - $element = $faker->randomElement(['science', 'commerce', 'arts']); - return ($class_number > 8) ? $element : ""; - } - ]; -}); diff --git a/database/factories/NoticeFactory.php b/database/factories/NoticeFactory.php deleted file mode 100755 index 3905c885f..000000000 --- a/database/factories/NoticeFactory.php +++ /dev/null @@ -1,25 +0,0 @@ -define(Notice::class, function (Faker $faker) { - return [ - 'file_path' => $faker->url, - 'title' => $faker->sentences(1, true), - 'description' => $faker->sentences(3, true), - 'active' => $faker->randomElement([0, 1]), - 'school_id' => function() use ($faker) { - if (School::count()) - return $faker->randomElement(School::pluck('id')->toArray()); - else return factory(School::class)->create()->id; - }, - 'user_id' => function() use ($faker) { - if (User::count()) - return $faker->randomElement(User::pluck('id')->toArray()); - else return factory(User::class)->create()->id; - }, - ]; -}); diff --git a/database/factories/NotificationFactory.php b/database/factories/NotificationFactory.php deleted file mode 100755 index f00f2e688..000000000 --- a/database/factories/NotificationFactory.php +++ /dev/null @@ -1,19 +0,0 @@ -define(Notification::class, function (Faker $faker) { - return [ - 'sent_status' => $faker->randomElement([0, 1]), - 'active' => $faker->randomElement([0, 1]), - 'message' => $faker->sentences(3, true), - 'student_id' => $faker->randomElement(App\User::student()->pluck('id')->toArray()), - 'user_id' => function() use ($faker) { - if (User::count()) - return $faker->randomElement(User::pluck('id')->toArray()); - else return factory(User::class)->create()->id; - }, - ]; -}); diff --git a/database/factories/PaymentFactory.php b/database/factories/PaymentFactory.php deleted file mode 100755 index 3cd0fbfd6..000000000 --- a/database/factories/PaymentFactory.php +++ /dev/null @@ -1,10 +0,0 @@ -define(Payment::class, function (Faker $faker) { - return [ - // - ]; -}); diff --git a/database/factories/RoutineFactory.php b/database/factories/RoutineFactory.php deleted file mode 100755 index 29b40b5ba..000000000 --- a/database/factories/RoutineFactory.php +++ /dev/null @@ -1,31 +0,0 @@ -define(Routine::class, function (Faker $faker) { - return [ - 'file_path' => $faker->url, - 'title' => $faker->sentences(1, true), - 'description' => $faker->sentences(3, true), - 'active' => $faker->randomElement([0, 1]), - 'school_id' => function() use ($faker) { - if (School::count()) - return $faker->randomElement(School::pluck('id')->toArray()); - else return factory(School::class)->create()->id; - }, - 'section_id' => function() use ($faker) { - if (Section::count()) - return $faker->randomElement(Section::pluck('id')->toArray()); - else return factory(Section::class)->create()->id; - }, - 'user_id' => function() use ($faker) { - if (User::count()) - return $faker->randomElement(User::pluck('id')->toArray()); - else return factory(User::class)->create()->id; - }, - ]; -}); diff --git a/database/factories/SchoolFactory.php b/database/factories/SchoolFactory.php deleted file mode 100755 index 2b807b094..000000000 --- a/database/factories/SchoolFactory.php +++ /dev/null @@ -1,15 +0,0 @@ -define(School::class, function (Faker $faker) { - return [ - 'name' => $faker->name, - 'about' => $faker->sentences(3, true), - 'medium' => $faker->randomElement(['bangla', 'english']), - 'code' => date("y").substr(number_format(time() * mt_rand(),0,'',''),0,6), - 'established' => $faker->name, - 'theme' => 'flatly', - ]; -}); diff --git a/database/factories/SectionFactory.php b/database/factories/SectionFactory.php deleted file mode 100755 index 3fafd6e75..000000000 --- a/database/factories/SectionFactory.php +++ /dev/null @@ -1,17 +0,0 @@ -define(Section::class, function (Faker $faker) { - return [ - 'section_number' => $faker->randomElement(['A', 'B','C','D','E','F','G','H','I','J','K','L','M']), - 'room_number' => $faker->randomDigitNotNull, - 'class_id' => function() use ($faker) { - if (Myclass::count()) - return $faker->randomElement(Myclass::pluck('id')->toArray()); - else return factory(Myclass::class)->create()->id; - }, - ]; -}); diff --git a/database/factories/StudentboardexamFactory.php b/database/factories/StudentboardexamFactory.php deleted file mode 100755 index 16319f719..000000000 --- a/database/factories/StudentboardexamFactory.php +++ /dev/null @@ -1,22 +0,0 @@ -define(StudentBoardExam::class, function (Faker $faker) { - $student_id =$faker->randomElement(User::student()->pluck('id')->toArray()); - return [ - 'student_id' => $student_id, - 'user_id' => $student_id, - 'exam_name' => $faker->randomElement(['JSC','SSC','O Level', 'A Level']), - 'group' => $faker->randomElement(['science','commerce','arts']), - 'roll' => $faker->randomNumber(7, false), - 'registration' => $faker->randomNumber(7, false), - 'session' => '2018-19', - 'board' => $faker->randomElement(['dhaka','rajsahi','sylhet']), - 'passing_year' => 2011, - 'institution_name' => 'efnj school', - 'gpa' => 5.00, - ]; -}); diff --git a/database/factories/StudentinfoFactory.php b/database/factories/StudentinfoFactory.php deleted file mode 100755 index 42bdc52a9..000000000 --- a/database/factories/StudentinfoFactory.php +++ /dev/null @@ -1,45 +0,0 @@ -define(StudentInfo::class, function (Faker $faker) { - return [ - 'student_id' => $faker->randomElement(User::student()->pluck('id')->toArray()), - 'session' => now()->year, - 'version' => $faker->randomElement(['bangla', 'english']), - 'group' => $faker->randomElement(['', 'science', 'commerce', 'arts']), - 'birthday' => $faker->dateTimeThisCentury->format('Y-m-d'), - 'religion' => $faker->randomElement(['islam','hinduism','christianism','buddhism','other']), - 'father_name' => $faker->name, - 'father_phone_number' => $faker->randomNumber(7, false), - 'father_national_id' => "SA0218IBYZVZJSEC8536V4XC", - 'father_occupation' => $faker->jobTitle, - 'father_designation' => $faker->jobTitle, - 'father_annual_income' => $faker->randomElement([1000000, 500000, 300000, 700000]), - 'mother_name' => $faker->name, - 'mother_phone_number' => $faker->randomNumber(7, false), - 'mother_national_id' => "SA0218IBYZVZJSEC8536V4XC", - 'mother_occupation' => $faker->jobTitle, - 'mother_designation' => $faker->jobTitle, - 'mother_annual_income' => $faker->randomElement([1000000, 500000, 300000, 700000]), - ]; -}); - -$factory->state(StudentInfo::class, 'without_group', [ - 'group' => '' -]); - -$factory->state(StudentInfo::class, 'science', [ - 'group' => 'science' -]); - -$factory->state(StudentInfo::class, 'commerce', [ - 'group' => 'commerce' -]); - -$factory->state(StudentInfo::class, 'arts', [ - 'group' => 'arts' -]); - diff --git a/database/factories/SyllabusFactory.php b/database/factories/SyllabusFactory.php deleted file mode 100755 index 33fa8f9b5..000000000 --- a/database/factories/SyllabusFactory.php +++ /dev/null @@ -1,31 +0,0 @@ -define(Syllabus::class, function (Faker $faker) { - return [ - 'file_path' => $faker->url, - 'description' => $faker->sentences(3, true), - 'title' => $faker->sentences(1, true), - 'active' => $faker->randomElement([0, 1]), - 'school_id' => function () use ($faker) { - if (School::count()) - return $faker->randomElement(School::pluck('id')->toArray()); - else return factory(School::class)->create()->id; - }, - 'class_id' => function() use ($faker) { - if (Myclass::count()) - return $faker->randomElement(Myclass::pluck('id')->toArray()); - else return factory(Myclass::class)->create()->id; - }, - 'user_id' => function() use ($faker) { - if (User::count()) - return $faker->randomElement(User::pluck('id')->toArray()); - else return factory(User::class)->create()->id; - }, - ]; -}); diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php deleted file mode 100755 index beb065e42..000000000 --- a/database/factories/UserFactory.php +++ /dev/null @@ -1,87 +0,0 @@ -define(User::class, function (Faker $faker) { - static $password; - - return [ - 'name' => e($faker->name), - 'email' => $faker->unique()->safeEmail, - 'password' => $password ?: $password = bcrypt('secret'), - 'remember_token' => Str::random(10), - 'active' => 1, - 'role' => $faker->randomElement(['student', 'teacher', 'admin', 'accountant', 'librarian']), - 'school_id' => function () use ($faker) { - if (School::count()) - return $faker->randomElement(School::pluck('id')->toArray()); - else return factory(School::class)->create()->id; - }, - 'code' => function () use ($faker) { - if (School::count()) - return $faker->randomElement(School::pluck('code')->toArray()); - else return factory(School::class)->create()->code; - }, - 'student_code' => $faker->unique()->randomNumber(7, false), - 'address' => e($faker->address), - 'about' => $faker->sentences(3, true), - 'pic_path' => $faker->imageUrl(640, 480), - 'phone_number' => $faker->unique()->phoneNumber, - 'verified' => 1, - 'section_id' => function () use ($faker) { - if (Section::count()) - return $faker->randomElement(Section::pluck('id')->toArray()); - else return factory(Section::class)->create()->id; - }, - 'department_id' => function () use ($faker) { - if (Department::count()) - return $faker->randomElement(Department::pluck('id')->toArray()); - else return factory(Department::class)->create()->id; - }, - 'blood_group' => $faker->randomElement(['a+', 'b+', 'ab', 'o+']), - 'nationality' => 'Bangladeshi', - 'gender' => $faker->randomElement(['male', 'female']), - 'stripe_id' => null, - 'card_brand' => null, - 'card_last_four' => null, - 'trial_ends_at' => null, - ]; -}); - -$factory->state(User::class, 'master', [ - 'role' => 'master' -]); - -$factory->state(User::class, 'accountant', [ - 'role' => 'accountant' -]); - -$factory->state(User::class, 'admin', [ - 'role' => 'admin' -]); - -$factory->state(User::class, 'librarian', [ - 'role' => 'librarian' -]); - -$factory->state(User::class, 'teacher', [ - 'role' => 'teacher' -]); - -$factory->state(User::class, 'student', [ - 'role' => 'student' -]); diff --git a/database/migrations/2014_10_12_000000_create_schools_table.php b/database/migrations/2014_10_12_000000_create_schools_table.php deleted file mode 100755 index d1bf7efb1..000000000 --- a/database/migrations/2014_10_12_000000_create_schools_table.php +++ /dev/null @@ -1,37 +0,0 @@ -increments('id'); - $table->string('name'); - $table->string('established')->default(''); - $table->text('about'); - $table->string('medium');//bn,en - $table->integer('code')->unique(); - $table->string('theme'); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('schools'); - } -} diff --git a/database/migrations/2014_10_12_100000_create_users_table.php b/database/migrations/2014_10_12_100000_create_users_table.php deleted file mode 100755 index b9adcc328..000000000 --- a/database/migrations/2014_10_12_100000_create_users_table.php +++ /dev/null @@ -1,49 +0,0 @@ -increments('id'); - $table->string('name'); - $table->string('email')->unique(); - $table->string('password'); - $table->string('role'); - $table->tinyInteger('active'); - $table->integer('school_id')->nullable(); - $table->integer('code')->nullable();//school code Auto generated - $table->integer('student_code')->unique()->nullable();//Auto generated - $table->string('gender')->default(''); - $table->string('blood_group')->default(''); - $table->string('nationality')->default(''); - $table->string('phone_number')->unique()->default(''); - $table->string('address')->default(''); - $table->text('about')->default(''); - $table->string('pic_path')->default(''); - $table->tinyInteger('verified'); - $table->integer('section_id')->unsigned()->nullable(); - $table->rememberToken(); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('users'); - } -} diff --git a/database/migrations/2017_12_21_065735_create_exams_table.php b/database/migrations/2017_12_21_065735_create_exams_table.php deleted file mode 100755 index d79dff77a..000000000 --- a/database/migrations/2017_12_21_065735_create_exams_table.php +++ /dev/null @@ -1,37 +0,0 @@ -increments('id'); - $table->string('exam_name'); - $table->tinyInteger('active'); - $table->tinyInteger('notice_published'); - $table->tinyInteger('result_published'); - $table->integer('school_id')->unsigned(); - $table->integer('user_id')->unsigned(); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('exams'); - } -} diff --git a/database/migrations/2017_12_27_025313_create_password_resets_table.php b/database/migrations/2017_12_27_025313_create_password_resets_table.php deleted file mode 100755 index 0d5cb8450..000000000 --- a/database/migrations/2017_12_27_025313_create_password_resets_table.php +++ /dev/null @@ -1,32 +0,0 @@ -string('email')->index(); - $table->string('token'); - $table->timestamp('created_at')->nullable(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('password_resets'); - } -} diff --git a/database/migrations/2017_12_27_025349_create_attendances_table.php b/database/migrations/2017_12_27_025349_create_attendances_table.php deleted file mode 100755 index 64e73d800..000000000 --- a/database/migrations/2017_12_27_025349_create_attendances_table.php +++ /dev/null @@ -1,36 +0,0 @@ -increments('id'); - $table->integer('student_id')->unsigned(); - $table->integer('section_id')->unsigned(); - $table->integer('exam_id')->unsigned(); - $table->tinyInteger('present')->unsigned(); - $table->integer('user_id')->unsigned(); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('attendances'); - } -} diff --git a/database/migrations/2017_12_27_025413_create_classes_table.php b/database/migrations/2017_12_27_025413_create_classes_table.php deleted file mode 100755 index 764872f26..000000000 --- a/database/migrations/2017_12_27_025413_create_classes_table.php +++ /dev/null @@ -1,34 +0,0 @@ -increments('id'); - $table->string('class_number'); - $table->integer('school_id')->unsigned(); - $table->string('group'); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('classes'); - } -} diff --git a/database/migrations/2017_12_27_025427_create_sections_table.php b/database/migrations/2017_12_27_025427_create_sections_table.php deleted file mode 100755 index 5109f1607..000000000 --- a/database/migrations/2017_12_27_025427_create_sections_table.php +++ /dev/null @@ -1,35 +0,0 @@ -increments('id'); - $table->string('section_number'); - $table->integer('room_number'); - $table->integer('class_id')->unsigned(); - $table->integer('user_id')->unsigned()->default(0); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('sections'); - } -} diff --git a/database/migrations/2017_12_27_025450_create_syllabuses_table.php b/database/migrations/2017_12_27_025450_create_syllabuses_table.php deleted file mode 100755 index 572906c58..000000000 --- a/database/migrations/2017_12_27_025450_create_syllabuses_table.php +++ /dev/null @@ -1,37 +0,0 @@ -increments('id'); - $table->string('file_path'); - $table->string('title'); - $table->text('description'); - $table->tinyInteger('active'); - $table->integer('school_id')->unsigned(); - $table->integer('user_id')->unsigned(); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('syllabuses'); - } -} diff --git a/database/migrations/2017_12_27_025503_create_notices_table.php b/database/migrations/2017_12_27_025503_create_notices_table.php deleted file mode 100755 index f814a685f..000000000 --- a/database/migrations/2017_12_27_025503_create_notices_table.php +++ /dev/null @@ -1,37 +0,0 @@ -increments('id'); - $table->string('file_path'); - $table->string('title'); - $table->text('description'); - $table->tinyInteger('active'); - $table->integer('school_id')->unsigned(); - $table->integer('user_id')->unsigned(); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('notices'); - } -} diff --git a/database/migrations/2017_12_27_025512_create_events_table.php b/database/migrations/2017_12_27_025512_create_events_table.php deleted file mode 100755 index 37bcde2b0..000000000 --- a/database/migrations/2017_12_27_025512_create_events_table.php +++ /dev/null @@ -1,37 +0,0 @@ -increments('id'); - $table->string('file_path'); - $table->string('title'); - $table->text('description'); - $table->tinyInteger('active'); - $table->integer('school_id')->unsigned(); - $table->integer('user_id')->unsigned(); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('events'); - } -} diff --git a/database/migrations/2017_12_27_025530_create_homeworks_table.php b/database/migrations/2017_12_27_025530_create_homeworks_table.php deleted file mode 100755 index 1aba14da8..000000000 --- a/database/migrations/2017_12_27_025530_create_homeworks_table.php +++ /dev/null @@ -1,35 +0,0 @@ -increments('id'); - $table->string('file_path'); - $table->text('description'); - $table->integer('teacher_id')->unsigned(); - $table->integer('section_id')->unsigned(); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('homeworks'); - } -} diff --git a/database/migrations/2017_12_27_025542_create_routines_table.php b/database/migrations/2017_12_27_025542_create_routines_table.php deleted file mode 100755 index 2ed3e7e43..000000000 --- a/database/migrations/2017_12_27_025542_create_routines_table.php +++ /dev/null @@ -1,37 +0,0 @@ -increments('id'); - $table->string('file_path'); - $table->string('title'); - $table->text('description'); - $table->tinyInteger('active'); - $table->integer('school_id')->unsigned(); - $table->integer('user_id')->unsigned(); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('routines'); - } -} diff --git a/database/migrations/2017_12_27_025556_create_grades_table.php b/database/migrations/2017_12_27_025556_create_grades_table.php deleted file mode 100755 index c49f1b82c..000000000 --- a/database/migrations/2017_12_27_025556_create_grades_table.php +++ /dev/null @@ -1,55 +0,0 @@ -increments('id'); - $table->float('marks', 8, 2);//final exam - $table->float('gpa', 8, 2);//final exam - $table->float('attendance', 8, 2); - $table->float('quiz1', 8, 2); - $table->float('quiz2', 8, 2); - $table->float('quiz3', 8, 2); - $table->float('quiz4', 8, 2); - $table->float('quiz5', 8, 2); - $table->float('ct1', 8, 2); - $table->float('ct2', 8, 2); - $table->float('ct3', 8, 2); - $table->float('ct4', 8, 2); - $table->float('ct5', 8, 2); - $table->float('assignment1', 8, 2); - $table->float('assignment2', 8, 2); - $table->float('assignment3', 8, 2); - $table->float('written', 8, 2); - $table->float('mcq', 8, 2); - $table->float('practical', 8, 2); - $table->integer('exam_id')->unsigned(); - $table->integer('student_id')->unsigned(); - $table->integer('teacher_id')->unsigned(); - $table->integer('course_id')->unsigned(); - $table->integer('user_id')->unsigned(); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('grades'); - } -} diff --git a/database/migrations/2017_12_27_025612_create_notifications_table.php b/database/migrations/2017_12_27_025612_create_notifications_table.php deleted file mode 100755 index d7a710689..000000000 --- a/database/migrations/2017_12_27_025612_create_notifications_table.php +++ /dev/null @@ -1,36 +0,0 @@ -increments('id'); - $table->tinyInteger('sent_status'); - $table->tinyInteger('active'); - $table->text('message'); - $table->integer('student_id')->unsigned(); - $table->integer('user_id')->unsigned(); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('notifications'); - } -} diff --git a/database/migrations/2017_12_27_025631_create_feedbacks_table.php b/database/migrations/2017_12_27_025631_create_feedbacks_table.php deleted file mode 100755 index 665689bef..000000000 --- a/database/migrations/2017_12_27_025631_create_feedbacks_table.php +++ /dev/null @@ -1,34 +0,0 @@ -increments('id'); - $table->text('description'); - $table->integer('teacher_id')->unsigned(); - $table->integer('student_id')->unsigned(); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('feedbacks'); - } -} diff --git a/database/migrations/2017_12_27_025644_create_books_table.php b/database/migrations/2017_12_27_025644_create_books_table.php deleted file mode 100755 index 84399a3a4..000000000 --- a/database/migrations/2017_12_27_025644_create_books_table.php +++ /dev/null @@ -1,44 +0,0 @@ -increments('id'); - $table->string('book_code',50)->unique(); - $table->string('title',250); - $table->string('author',100); - $table->integer('quantity')->unsigned(); - $table->string('rackNo',10); - $table->string('rowNo',10); - $table->string('img_path'); - $table->text('about'); - $table->string('type',10); - $table->integer('price'); - $table->integer('class_id')->unsigned(); - $table->integer('school_id')->unsigned(); - $table->integer('user_id')->unsigned(); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('books'); - } -} diff --git a/database/migrations/2017_12_27_025727_create_courses_table.php b/database/migrations/2017_12_27_025727_create_courses_table.php deleted file mode 100755 index 3d61b37dd..000000000 --- a/database/migrations/2017_12_27_025727_create_courses_table.php +++ /dev/null @@ -1,56 +0,0 @@ -increments('id'); - $table->string('course_name'); - $table->integer('class_id')->unsigned(); - $table->string('course_type'); - $table->string('course_time'); - $table->string('grade_system_name'); - $table->integer('quiz_count'); - $table->integer('assignment_count'); - $table->integer('ct_count'); - $table->integer('quiz_percent'); - $table->integer('attendance_percent'); - $table->integer('assignment_percent'); - $table->integer('ct_percent'); - $table->integer('final_exam_percent'); - $table->integer('practical_percent'); - $table->integer('att_fullmark'); - $table->integer('quiz_fullmark'); - $table->integer('a_fullmark'); - $table->integer('ct_fullmark'); - $table->integer('final_fullmark'); - $table->integer('practical_fullmark'); - $table->integer('school_id')->unsigned(); - $table->integer('exam_id')->unsigned(); - $table->integer('teacher_id')->unsigned(); - $table->integer('section_id')->unsigned(); - $table->integer('user_id')->unsigned(); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('courses'); - } -} diff --git a/database/migrations/2017_12_27_025738_create_forms_table.php b/database/migrations/2017_12_27_025738_create_forms_table.php deleted file mode 100755 index ee3553935..000000000 --- a/database/migrations/2017_12_27_025738_create_forms_table.php +++ /dev/null @@ -1,35 +0,0 @@ -increments('id'); - $table->string('name'); - $table->string('file_path'); - $table->integer('school_id')->unsigned(); - $table->integer('user_id')->unsigned(); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('forms'); - } -} diff --git a/database/migrations/2017_12_27_025751_create_messages_table.php b/database/migrations/2017_12_27_025751_create_messages_table.php deleted file mode 100755 index 032bfb8df..000000000 --- a/database/migrations/2017_12_27_025751_create_messages_table.php +++ /dev/null @@ -1,36 +0,0 @@ -increments('id'); - $table->string('phone_number'); - $table->string('email')->unique(); - $table->text('message'); - $table->integer('school_id')->unsigned(); - $table->integer('user_id')->unsigned(); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('messages'); - } -} diff --git a/database/migrations/2017_12_27_025806_create_faqs_table.php b/database/migrations/2017_12_27_025806_create_faqs_table.php deleted file mode 100755 index 50a9bc767..000000000 --- a/database/migrations/2017_12_27_025806_create_faqs_table.php +++ /dev/null @@ -1,34 +0,0 @@ -increments('id'); - $table->string('question'); - $table->text('answer'); - $table->integer('user_id')->unsigned(); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('faqs'); - } -} diff --git a/database/migrations/2018_02_06_161642_create_fees_table.php b/database/migrations/2018_02_06_161642_create_fees_table.php deleted file mode 100755 index fbf74756f..000000000 --- a/database/migrations/2018_02_06_161642_create_fees_table.php +++ /dev/null @@ -1,45 +0,0 @@ -increments('id'); - $table->string('fee_name');// or Re-admisson - $table->integer('school_id')->unsigned(); - // $table->string('fine_fee');//penalty - // $table->string('exam_fee'); - // $table->string('registration_fee'); - // $table->string('library_fee'); - // $table->string('lab_fee'); - // $table->string('sport_fee'); - // $table->string('late_payment_fee'); - // $table->string('maintenance_fee'); - // $table->string('internet_fee'); - // $table->string('farewell_fee'); - // $table->string('other_fee'); - $table->integer('user_id'); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('fees'); - } -} diff --git a/database/migrations/2018_03_26_105657_create_grade_systems_table.php b/database/migrations/2018_03_26_105657_create_grade_systems_table.php deleted file mode 100755 index 2b4482830..000000000 --- a/database/migrations/2018_03_26_105657_create_grade_systems_table.php +++ /dev/null @@ -1,38 +0,0 @@ -increments('id'); - $table->string('grade_system_name'); - $table->string('grade'); - $table->float('point'); - $table->integer('from_mark'); - $table->integer('to_mark'); - $table->integer('school_id'); - $table->integer('user_id')->unsigned(); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('grade_systems'); - } -} diff --git a/database/migrations/2018_03_27_153448_create_issued_books_table.php b/database/migrations/2018_03_27_153448_create_issued_books_table.php deleted file mode 100755 index 926c806b4..000000000 --- a/database/migrations/2018_03_27_153448_create_issued_books_table.php +++ /dev/null @@ -1,40 +0,0 @@ -increments('id'); - $table->integer('student_code'); - $table->integer('book_id')->unsigned(); - $table->integer('quantity'); - $table->integer('school_id')->unsigned(); - $table->date('issue_date'); - $table->date('return_date'); - $table->decimal('fine'); - $table->tinyInteger('borrowed'); - $table->integer('user_id')->unsigned(); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('issued_books'); - } -} diff --git a/database/migrations/2018_04_01_195635_create_accounts_table.php b/database/migrations/2018_04_01_195635_create_accounts_table.php deleted file mode 100755 index 3753139f9..000000000 --- a/database/migrations/2018_04_01_195635_create_accounts_table.php +++ /dev/null @@ -1,37 +0,0 @@ -increments('id'); - $table->string('name'); - $table->string('type'); - $table->integer('amount'); - $table->text('description'); - $table->integer('school_id')->unsigned(); - $table->integer('user_id')->unsigned(); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('accounts'); - } -} diff --git a/database/migrations/2018_04_01_195715_create_account_sectors_table.php b/database/migrations/2018_04_01_195715_create_account_sectors_table.php deleted file mode 100755 index 7a7c74681..000000000 --- a/database/migrations/2018_04_01_195715_create_account_sectors_table.php +++ /dev/null @@ -1,35 +0,0 @@ -increments('id'); - $table->string('name'); - $table->string('type'); - $table->integer('school_id')->unsigned(); - $table->integer('user_id')->unsigned(); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('account_sectors'); - } -} diff --git a/database/migrations/2018_04_29_121233_create_student_infos_table.php b/database/migrations/2018_04_29_121233_create_student_infos_table.php deleted file mode 100755 index b7f10cb50..000000000 --- a/database/migrations/2018_04_29_121233_create_student_infos_table.php +++ /dev/null @@ -1,50 +0,0 @@ -increments('id'); - $table->integer('student_id')->unsigned(); - $table->string('session'); - $table->string('version'); - $table->string('group'); - $table->dateTime('birthday'); - $table->string('religion'); - $table->string('father_name'); - $table->string('father_phone_number'); - $table->string('father_national_id'); - $table->string('father_occupation'); - $table->string('father_designation'); - $table->integer('father_annual_income'); - $table->string('mother_name'); - $table->string('mother_phone_number'); - $table->string('mother_national_id'); - $table->string('mother_occupation'); - $table->string('mother_designation'); - $table->integer('mother_annual_income'); - $table->integer('user_id')->unsigned()->nullable(); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('student_infos'); - } -} diff --git a/database/migrations/2018_04_29_121517_create_student_board_exams_table.php b/database/migrations/2018_04_29_121517_create_student_board_exams_table.php deleted file mode 100755 index 6f7a53d1e..000000000 --- a/database/migrations/2018_04_29_121517_create_student_board_exams_table.php +++ /dev/null @@ -1,42 +0,0 @@ -increments('id'); - $table->integer('student_id')->unsigned(); - $table->string('exam_name'); - $table->string('group'); - $table->integer('roll'); - $table->integer('registration'); - $table->string('session'); - $table->string('board'); - $table->integer('passing_year'); - $table->string('institution_name'); - $table->float('gpa'); - $table->integer('user_id')->unsigned(); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('student_board_exams'); - } -} diff --git a/database/migrations/2018_10_05_163435_create_exam_for_classes_table.php b/database/migrations/2018_10_05_163435_create_exam_for_classes_table.php deleted file mode 100755 index 35fdc8f8d..000000000 --- a/database/migrations/2018_10_05_163435_create_exam_for_classes_table.php +++ /dev/null @@ -1,32 +0,0 @@ -increments('id'); - $table->integer('class_id')->unsigned(); - $table->integer('exam_id')->unsigned(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('exam_for_classes'); - } -} diff --git a/database/migrations/2018_10_08_002853_add_department_class_teacher_to_users_table.php b/database/migrations/2018_10_08_002853_add_department_class_teacher_to_users_table.php deleted file mode 100755 index 84044272a..000000000 --- a/database/migrations/2018_10_08_002853_add_department_class_teacher_to_users_table.php +++ /dev/null @@ -1,32 +0,0 @@ -integer('department_id')->unsigned()->default(0); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table('users', function (Blueprint $table) { - $table->dropColumn(['department_id']); - }); - } -} diff --git a/database/migrations/2018_10_09_093606_add_term_start_end_date_to_exams_table.php b/database/migrations/2018_10_09_093606_add_term_start_end_date_to_exams_table.php deleted file mode 100755 index 13105627c..000000000 --- a/database/migrations/2018_10_09_093606_add_term_start_end_date_to_exams_table.php +++ /dev/null @@ -1,34 +0,0 @@ -string('term',20)->default(''); - $table->string('start_date',50)->default(''); - $table->string('end_date',50)->default(''); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table('exams', function (Blueprint $table) { - $table->dropColumn(['term', 'start_date','end_date']); - }); - } -} diff --git a/database/migrations/2018_10_09_203125_create_departments_table.php b/database/migrations/2018_10_09_203125_create_departments_table.php deleted file mode 100755 index 7369e89ea..000000000 --- a/database/migrations/2018_10_09_203125_create_departments_table.php +++ /dev/null @@ -1,33 +0,0 @@ -increments('id'); - $table->integer('school_id')->unsigned(); - $table->string('department_name',50); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('departments'); - } -} diff --git a/database/migrations/2019_04_08_105033_add_class_id_to_syllabuses_table.php b/database/migrations/2019_04_08_105033_add_class_id_to_syllabuses_table.php deleted file mode 100755 index 5bcd6f6f1..000000000 --- a/database/migrations/2019_04_08_105033_add_class_id_to_syllabuses_table.php +++ /dev/null @@ -1,32 +0,0 @@ -integer('class_id')->unsigned()->default(0); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table('syllabuses', function (Blueprint $table) { - $table->dropColumn(['class_id']); - }); - } -} diff --git a/database/migrations/2019_04_08_121149_add_section_id_to_routines_table.php b/database/migrations/2019_04_08_121149_add_section_id_to_routines_table.php deleted file mode 100755 index 3882ed850..000000000 --- a/database/migrations/2019_04_08_121149_add_section_id_to_routines_table.php +++ /dev/null @@ -1,32 +0,0 @@ -integer('section_id')->unsigned()->default(0); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table('routines', function (Blueprint $table) { - $table->dropColumn(['section_id']); - }); - } -} diff --git a/database/migrations/2019_04_25_101700_add_active_to_exam_for_class_table.php b/database/migrations/2019_04_25_101700_add_active_to_exam_for_class_table.php deleted file mode 100755 index 164e6d6e5..000000000 --- a/database/migrations/2019_04_25_101700_add_active_to_exam_for_class_table.php +++ /dev/null @@ -1,32 +0,0 @@ -tinyInteger('active')->default(0); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table('exam_for_classes', function (Blueprint $table) { - $table->dropColumn(['active']); - }); - } -} diff --git a/database/migrations/2019_05_10_151601_add_stripe_fields_in_users_table.php b/database/migrations/2019_05_10_151601_add_stripe_fields_in_users_table.php deleted file mode 100755 index c39b101d0..000000000 --- a/database/migrations/2019_05_10_151601_add_stripe_fields_in_users_table.php +++ /dev/null @@ -1,35 +0,0 @@ -string('stripe_id')->nullable(); - // $table->string('card_brand')->nullable(); - // $table->string('card_last_four')->nullable(); - // $table->timestamp('trial_ends_at')->nullable(); - // }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - // Schema::table('users', function (Blueprint $table) { - // $table->dropColumn(['stripe_id','card_brand','card_last_four','trial_ends_at']); - // }); - } -} diff --git a/database/migrations/2019_05_10_163920_create_stripe_subscription_table.php b/database/migrations/2019_05_10_163920_create_stripe_subscription_table.php deleted file mode 100755 index eb5686e5d..000000000 --- a/database/migrations/2019_05_10_163920_create_stripe_subscription_table.php +++ /dev/null @@ -1,38 +0,0 @@ -increments('id'); - // $table->integer('user_id'); - // $table->string('name'); - // $table->string('stripe_id'); - // $table->string('stripe_plan'); - // $table->integer('quantity'); - // $table->timestamp('trial_ends_at')->nullable(); - // $table->timestamp('ends_at')->nullable(); - // $table->timestamps(); - // }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - // Schema::dropIfExists('subscriptions'); - } -} diff --git a/database/migrations/2019_05_10_193135_create_payments_table.php b/database/migrations/2019_05_10_193135_create_payments_table.php deleted file mode 100755 index 557958d8f..000000000 --- a/database/migrations/2019_05_10_193135_create_payments_table.php +++ /dev/null @@ -1,36 +0,0 @@ -increments('id'); - $table->string('payment_id'); - $table->tinyInteger('payment_status'); - $table->float('amount'); - $table->integer('custormer_id')->unsigned(); - $table->string('charge_for'); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('payments'); - } -} diff --git a/database/migrations/2020_07_24_201246_create_certificates_table.php b/database/migrations/2020_07_24_201246_create_certificates_table.php deleted file mode 100755 index 2a6c9479e..000000000 --- a/database/migrations/2020_07_24_201246_create_certificates_table.php +++ /dev/null @@ -1,37 +0,0 @@ -id(); - $table->timestamps(); - $table->string('file_path'); - $table->string('title'); - $table->integer('given_to'); - $table->tinyInteger('active'); - $table->integer('school_id')->unsigned(); - $table->integer('user_id')->unsigned(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('certificates'); - } -} diff --git a/database/seeds/AccountSectorsTableSeeder.php b/database/seeds/AccountSectorsTableSeeder.php deleted file mode 100755 index 125752e54..000000000 --- a/database/seeds/AccountSectorsTableSeeder.php +++ /dev/null @@ -1,16 +0,0 @@ -create(); - } -} diff --git a/database/seeds/AccountsTableSeeder.php b/database/seeds/AccountsTableSeeder.php deleted file mode 100755 index a6f1043f7..000000000 --- a/database/seeds/AccountsTableSeeder.php +++ /dev/null @@ -1,16 +0,0 @@ -create(); - } -} diff --git a/database/seeds/AttendancesTableSeeder.php b/database/seeds/AttendancesTableSeeder.php deleted file mode 100755 index 3db123cd1..000000000 --- a/database/seeds/AttendancesTableSeeder.php +++ /dev/null @@ -1,16 +0,0 @@ -create(); - } -} diff --git a/database/seeds/BooksTableSeeder.php b/database/seeds/BooksTableSeeder.php deleted file mode 100755 index 1c45b2f0d..000000000 --- a/database/seeds/BooksTableSeeder.php +++ /dev/null @@ -1,16 +0,0 @@ -create(); - } -} diff --git a/database/seeds/CertificateTableSeeder.php b/database/seeds/CertificateTableSeeder.php deleted file mode 100755 index d143d0ff2..000000000 --- a/database/seeds/CertificateTableSeeder.php +++ /dev/null @@ -1,16 +0,0 @@ -create(); - } -} diff --git a/database/seeds/ClassesTableSeeder.php b/database/seeds/ClassesTableSeeder.php deleted file mode 100755 index e877660b4..000000000 --- a/database/seeds/ClassesTableSeeder.php +++ /dev/null @@ -1,16 +0,0 @@ -create(); - } -} diff --git a/database/seeds/CoursesTableSeeder.php b/database/seeds/CoursesTableSeeder.php deleted file mode 100755 index 1b2fa993e..000000000 --- a/database/seeds/CoursesTableSeeder.php +++ /dev/null @@ -1,16 +0,0 @@ -create(); - } -} diff --git a/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php deleted file mode 100755 index 54a998b6f..000000000 --- a/database/seeds/DatabaseSeeder.php +++ /dev/null @@ -1,44 +0,0 @@ -call(SchoolsTableSeeder::class); - $this->call(DepartmentTableSeeder::class); - $this->call(ClassesTableSeeder::class); - $this->call(SectionsTableSeeder::class); - $this->call(UsersTableSeeder::class); - $this->call(SyllabusesTableSeeder::class); - $this->call(NoticesTableSeeder::class); - $this->call(EventsTableSeeder::class); - $this->call(FeesTableSeeder::class); - $this->call(HomeworksTableSeeder::class); - $this->call(RoutinesTableSeeder::class); - $this->call(NotificationsTableSeeder::class); - $this->call(ExamsTableSeeder::class); - $this->call(GradesystemsTableSeeder::class); - $this->call(CoursesTableSeeder::class); - $this->call(GradesTableSeeder::class); - $this->call(ExamForClassesTableSeeder::class); - $this->call(AttendancesTableSeeder::class); - $this->call(FeedbacksTableSeeder::class); - $this->call(FormsTableSeeder::class); - $this->call(BooksTableSeeder::class); - $this->call(MessagesTableSeeder::class); - $this->call(FaqsTableSeeder::class); - $this->call(IssuedbooksTableSeeder::class); - $this->call(AccountsTableSeeder::class); - $this->call(AccountSectorsTableSeeder::class); - $this->call(StudentinfosTableSeeder::class); - $this->call(StudentboardexamsTableSeeder::class); - $this->call(CertificateTableSeeder::class); - } -} diff --git a/database/seeds/DepartmentTableSeeder.php b/database/seeds/DepartmentTableSeeder.php deleted file mode 100755 index e3a96033f..000000000 --- a/database/seeds/DepartmentTableSeeder.php +++ /dev/null @@ -1,16 +0,0 @@ -create(); - } -} diff --git a/database/seeds/EventsTableSeeder.php b/database/seeds/EventsTableSeeder.php deleted file mode 100755 index aa787767f..000000000 --- a/database/seeds/EventsTableSeeder.php +++ /dev/null @@ -1,16 +0,0 @@ -create(); - } -} diff --git a/database/seeds/ExamForClassesTableSeeder.php b/database/seeds/ExamForClassesTableSeeder.php deleted file mode 100755 index cfc911744..000000000 --- a/database/seeds/ExamForClassesTableSeeder.php +++ /dev/null @@ -1,16 +0,0 @@ -create(); - } -} diff --git a/database/seeds/ExamsTableSeeder.php b/database/seeds/ExamsTableSeeder.php deleted file mode 100755 index 0c8fa3c90..000000000 --- a/database/seeds/ExamsTableSeeder.php +++ /dev/null @@ -1,16 +0,0 @@ -create(); - } -} diff --git a/database/seeds/FaqsTableSeeder.php b/database/seeds/FaqsTableSeeder.php deleted file mode 100755 index 2c7e8ac39..000000000 --- a/database/seeds/FaqsTableSeeder.php +++ /dev/null @@ -1,16 +0,0 @@ -create(); - } -} diff --git a/database/seeds/FeedbacksTableSeeder.php b/database/seeds/FeedbacksTableSeeder.php deleted file mode 100755 index 14c08a17b..000000000 --- a/database/seeds/FeedbacksTableSeeder.php +++ /dev/null @@ -1,16 +0,0 @@ -create(); - } -} diff --git a/database/seeds/FeesTableSeeder.php b/database/seeds/FeesTableSeeder.php deleted file mode 100755 index bbdce2aa9..000000000 --- a/database/seeds/FeesTableSeeder.php +++ /dev/null @@ -1,16 +0,0 @@ -create(); - } -} diff --git a/database/seeds/FormsTableSeeder.php b/database/seeds/FormsTableSeeder.php deleted file mode 100755 index 431a9427e..000000000 --- a/database/seeds/FormsTableSeeder.php +++ /dev/null @@ -1,16 +0,0 @@ -create(); - } -} diff --git a/database/seeds/GradesTableSeeder.php b/database/seeds/GradesTableSeeder.php deleted file mode 100755 index 77191b6b4..000000000 --- a/database/seeds/GradesTableSeeder.php +++ /dev/null @@ -1,16 +0,0 @@ -create(); - } -} diff --git a/database/seeds/GradesystemsTableSeeder.php b/database/seeds/GradesystemsTableSeeder.php deleted file mode 100755 index a2921525a..000000000 --- a/database/seeds/GradesystemsTableSeeder.php +++ /dev/null @@ -1,16 +0,0 @@ -create(); - } -} diff --git a/database/seeds/HomeworksTableSeeder.php b/database/seeds/HomeworksTableSeeder.php deleted file mode 100755 index e6eb1936e..000000000 --- a/database/seeds/HomeworksTableSeeder.php +++ /dev/null @@ -1,16 +0,0 @@ -create(); - } -} diff --git a/database/seeds/IssuedbooksTableSeeder.php b/database/seeds/IssuedbooksTableSeeder.php deleted file mode 100755 index 6b10a31d0..000000000 --- a/database/seeds/IssuedbooksTableSeeder.php +++ /dev/null @@ -1,16 +0,0 @@ -create(); - } -} diff --git a/database/seeds/MessagesTableSeeder.php b/database/seeds/MessagesTableSeeder.php deleted file mode 100755 index b1ac7942b..000000000 --- a/database/seeds/MessagesTableSeeder.php +++ /dev/null @@ -1,16 +0,0 @@ -create(); - } -} diff --git a/database/seeds/NoticesTableSeeder.php b/database/seeds/NoticesTableSeeder.php deleted file mode 100755 index 492ec4d0a..000000000 --- a/database/seeds/NoticesTableSeeder.php +++ /dev/null @@ -1,16 +0,0 @@ -create(); - } -} diff --git a/database/seeds/NotificationsTableSeeder.php b/database/seeds/NotificationsTableSeeder.php deleted file mode 100755 index 57731a77f..000000000 --- a/database/seeds/NotificationsTableSeeder.php +++ /dev/null @@ -1,16 +0,0 @@ -create(); - } -} diff --git a/database/seeds/RoutinesTableSeeder.php b/database/seeds/RoutinesTableSeeder.php deleted file mode 100755 index 56d8eac83..000000000 --- a/database/seeds/RoutinesTableSeeder.php +++ /dev/null @@ -1,16 +0,0 @@ -create(); - } -} diff --git a/database/seeds/SchoolsTableSeeder.php b/database/seeds/SchoolsTableSeeder.php deleted file mode 100755 index 684ccb38f..000000000 --- a/database/seeds/SchoolsTableSeeder.php +++ /dev/null @@ -1,16 +0,0 @@ -create(); - } -} diff --git a/database/seeds/SectionsTableSeeder.php b/database/seeds/SectionsTableSeeder.php deleted file mode 100755 index d361a501c..000000000 --- a/database/seeds/SectionsTableSeeder.php +++ /dev/null @@ -1,16 +0,0 @@ -create(); - } -} diff --git a/database/seeds/StudentboardexamsTableSeeder.php b/database/seeds/StudentboardexamsTableSeeder.php deleted file mode 100755 index 9aac14f3e..000000000 --- a/database/seeds/StudentboardexamsTableSeeder.php +++ /dev/null @@ -1,16 +0,0 @@ -create(); - } -} diff --git a/database/seeds/StudentinfosTableSeeder.php b/database/seeds/StudentinfosTableSeeder.php deleted file mode 100755 index dd8ded8db..000000000 --- a/database/seeds/StudentinfosTableSeeder.php +++ /dev/null @@ -1,20 +0,0 @@ -states('without_group')->create(); - factory(StudentInfo::class, 25)->states('science')->create(); - factory(StudentInfo::class, 15)->states('commerce')->create(); - factory(StudentInfo::class, 10)->states('arts')->create(); - } -} diff --git a/database/seeds/SyllabusesTableSeeder.php b/database/seeds/SyllabusesTableSeeder.php deleted file mode 100755 index b837a0e97..000000000 --- a/database/seeds/SyllabusesTableSeeder.php +++ /dev/null @@ -1,16 +0,0 @@ -create(); - } -} diff --git a/database/seeds/UsersTableSeeder.php b/database/seeds/UsersTableSeeder.php deleted file mode 100755 index b02297f68..000000000 --- a/database/seeds/UsersTableSeeder.php +++ /dev/null @@ -1,31 +0,0 @@ -insert([ - 'name' => "hasib", - 'email' => 'hasib@unifiedtransform.com', - 'password' => bcrypt('secret'), - 'role' => 'master', - 'student_code' => 0000000, - 'active' => 1, - 'verified' => 1, - ]); - - factory(User::class, 10)->states('admin')->create(); - factory(User::class, 10)->states('accountant')->create(); - factory(User::class, 10)->states('librarian')->create(); - factory(User::class, 30)->states('teacher')->create(); - factory(User::class, 200)->states('student')->create(); - } -} diff --git a/dev b/dev deleted file mode 100644 index a0f60c897..000000000 --- a/dev +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env bash - -if ! [ -x "$(command -v docker-compose)" ]; then - echo 'docker-compose is not installed on your machine. Seems you should run the docker-install executable first to help you go through' >&2 - sleep 1 - exit 1 -fi - -COMPOSE="docker-compose" - -if [ $# -gt 0 ]; then - if [ "$1" == "artisan" ]; then - shift 1 - $COMPOSE run --rm artisan "$@" - elif [ "$1" == "composer" ]; then - shift 1 - $COMPOSE run --rm composer "$@" - elif [ "$1" == "rebuild" ]; then - shift 1 - $COMPOSE up -d --force-recreate --no-deps --build "$@" - $COMPOSE down - else - $COMPOSE "$@" - fi -else - $COMPOSE ps -fi diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100755 index 3dbf8014b..000000000 --- a/docker-compose.yml +++ /dev/null @@ -1,109 +0,0 @@ -version: '3' - -#Docker Networks -networks: - app-network: - driver: bridge - -#Volumes -volumes: - dbdata: - driver: local - -services: - - #Nginx Service - nginx: - build: - context: . - dockerfile: ./docker/nginx.dockerfile - container_name: nginx - ports: - - "${DOCKER_WEBSERVER_HOST}:80" - volumes: - - .:/var/www/html - depends_on: - - php - - db - networks: - - app-network - - #MySQL Service - db: - image: mysql:latest - container_name: db - restart: unless-stopped - tty: true - ports: - - "3306:3306" - environment: - MYSQL_DATABASE: ${DB_DATABASE} - MYSQL_ROOT_PASSWORD: ${DB_PASSWORD} - MYSQL_USER: ${DB_USERNAME} - MYSQL_PASSWORD: ${DB_PASSWORD} - SERVICE_TAGS: dev - SERVICE_NAME: mysql - volumes: - - dbdata:/var/lib/mysql - networks: - - app-network - - #PHP Service - php: - build: - context: . - dockerfile: ./docker/php.dockerfile - container_name: php - volumes: - - .:/var/www/html - ports: - - "9000:9000" - networks: - - app-network - - #Composer Service - composer: - build: - context: . - dockerfile: ./docker/composer.dockerfile - container_name: composer - volumes: - - .:/var/www/html - working_dir: /var/www/html - depends_on: - - php - user: laravel - networks: - - app-network - entrypoint: [ 'composer', '--ignore-platform-reqs' ] - - #Artisan Service - artisan: - build: - context: . - dockerfile: ./docker/php.dockerfile - container_name: artisan - volumes: - - .:/var/www/html - depends_on: - - db - working_dir: /var/www/html - user: laravel - entrypoint: [ 'php', '/var/www/html/artisan' ] - networks: - - app-network - - #PHPMyAdmin Service - phpmyadmin: - depends_on: - - db - image: phpmyadmin/phpmyadmin:latest - container_name: phpmyadmin - restart: always - ports: - - '${DOCKER_PHPMYADMIN_HOST}:80' - environment: - PMA_HOST: db - UPLOAD_LIMIT: 3000000000 - networks: - - app-network diff --git a/docker-install.sh b/docker-install.sh deleted file mode 100755 index cfc145bf0..000000000 --- a/docker-install.sh +++ /dev/null @@ -1,17 +0,0 @@ -if ! [ -x "$(command -v docker-compose)" ]; then - echo 'docker-compose is not installed on your machine' >&2 - sleep 1 - echo 'Installing docker-compose' - sleep 1 - sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose - sudo chmod +x /usr/local/bin/docker-compose - sleep 1 -fi - -echo "Scaffolding your app using Docker... This will take a while..." -sleep 1 -sudo docker-compose up -d -sudo docker-compose run --rm composer install -sudo docker-compose run --rm artisan migrate:fresh --seed - -sleep 1 diff --git a/docker/composer.dockerfile b/docker/composer.dockerfile deleted file mode 100755 index aa0cb3596..000000000 --- a/docker/composer.dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM composer:latest - -RUN addgroup -g 1000 laravel && adduser -G laravel -g laravel -s /bin/sh -D laravel - -WORKDIR /var/www/html diff --git a/docker/nginx.dockerfile b/docker/nginx.dockerfile deleted file mode 100755 index 6c9ded38d..000000000 --- a/docker/nginx.dockerfile +++ /dev/null @@ -1,10 +0,0 @@ -FROM nginx:stable-alpine - -ADD ./docker/nginx/nginx.conf /etc/nginx/nginx.conf -ADD ./docker/nginx/default.conf /etc/nginx/conf.d/default.conf - -RUN mkdir -p /var/www/html - -RUN addgroup -g 1000 laravel && adduser -G laravel -g laravel -s /bin/sh -D laravel - -RUN chown laravel:laravel /var/www/html diff --git a/docker/nginx/default.conf b/docker/nginx/default.conf deleted file mode 100755 index ef5768d91..000000000 --- a/docker/nginx/default.conf +++ /dev/null @@ -1,22 +0,0 @@ -server { - listen 80; - index index.php index.html; - server_name localhost; - root /var/www/html/public; - - location / { - root /var/www/html/public; - index index.php index.html index.htm; - try_files $uri $uri/ /index.php$is_args$args; - } - - location ~ \.php$ { - try_files $uri =404; - fastcgi_split_path_info ^(.+\.php)(/.+)$; - fastcgi_pass php:9000; - fastcgi_index index.php; - include fastcgi_params; - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; - fastcgi_param PATH_INFO $fastcgi_path_info; - } -} diff --git a/docker/nginx/nginx.conf b/docker/nginx/nginx.conf deleted file mode 100755 index 060e50253..000000000 --- a/docker/nginx/nginx.conf +++ /dev/null @@ -1,29 +0,0 @@ -user laravel; -worker_processes auto; - -error_log /var/log/nginx/error.log warn; -pid /var/run/nginx.pid; - -events { - worker_connections 1024; -} - -http { - include /etc/nginx/mime.types; - default_type application/octet-stream; - - log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - - access_log /var/log/nginx/access.log main; - - sendfile on; - #tcp_nopush on; - - keepalive_timeout 65; - - #gzip on; - - include /etc/nginx/conf.d/*.conf; -} diff --git a/docker/php.dockerfile b/docker/php.dockerfile deleted file mode 100755 index 75bbdebae..000000000 --- a/docker/php.dockerfile +++ /dev/null @@ -1,14 +0,0 @@ -FROM php:7.4-fpm-alpine - -ADD ./docker/php/www.conf /usr/local/etc/php-fpm.d/www.conf -ADD ./docker/php/php.ini /usr/local/etc/php/php.ini - -RUN addgroup -g 1000 laravel && adduser -G laravel -g laravel -s /bin/sh -D laravel - -RUN mkdir -p /var/www/html - -RUN chown laravel:laravel /var/www/html - -WORKDIR /var/www/html - -RUN docker-php-ext-install pdo pdo_mysql diff --git a/docker/php/php.ini b/docker/php/php.ini deleted file mode 100755 index 7cc12b64c..000000000 --- a/docker/php/php.ini +++ /dev/null @@ -1,4 +0,0 @@ -memory_limit = 64M -upload_max_filesize = 64M -post_max_size = 64M -max_execution_time = 90 diff --git a/docker/php/www.conf b/docker/php/www.conf deleted file mode 100755 index eb028e111..000000000 --- a/docker/php/www.conf +++ /dev/null @@ -1,439 +0,0 @@ -; Start a new pool named 'www'. -; the variable $pool can be used in any directive and will be replaced by the -; pool name ('www' here) -[www] - -; Per pool prefix -; It only applies on the following directives: -; - 'access.log' -; - 'slowlog' -; - 'listen' (unixsocket) -; - 'chroot' -; - 'chdir' -; - 'php_values' -; - 'php_admin_values' -; When not set, the global prefix (or NONE) applies instead. -; Note: This directive can also be relative to the global prefix. -; Default Value: none -;prefix = /path/to/pools/$pool - -; Unix user/group of processes -; Note: The user is mandatory. If the group is not set, the default user's group -; will be used. -user = laravel -group = laravel - -; The address on which to accept FastCGI requests. -; Valid syntaxes are: -; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on -; a specific port; -; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on -; a specific port; -; 'port' - to listen on a TCP socket to all addresses -; (IPv6 and IPv4-mapped) on a specific port; -; '/path/to/unix/socket' - to listen on a unix socket. -; Note: This value is mandatory. -listen = 127.0.0.1:9000 - -; Set listen(2) backlog. -; Default Value: 511 (-1 on FreeBSD and OpenBSD) -;listen.backlog = 511 - -; Set permissions for unix socket, if one is used. In Linux, read/write -; permissions must be set in order to allow connections from a web server. Many -; BSD-derived systems allow connections regardless of permissions. The owner -; and group can be specified either by name or by their numeric IDs. -; Default Values: user and group are set as the running user -; mode is set to 0660 -;listen.owner = www-data -;listen.group = www-data -;listen.mode = 0660 -; When POSIX Access Control Lists are supported you can set them using -; these options, value is a comma separated list of user/group names. -; When set, listen.owner and listen.group are ignored -;listen.acl_users = -;listen.acl_groups = - -; List of addresses (IPv4/IPv6) of FastCGI clients which are allowed to connect. -; Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the original -; PHP FCGI (5.2.2+). Makes sense only with a tcp listening socket. Each address -; must be separated by a comma. If this value is left blank, connections will be -; accepted from any ip address. -; Default Value: any -;listen.allowed_clients = 127.0.0.1 - -; Specify the nice(2) priority to apply to the pool processes (only if set) -; The value can vary from -19 (highest priority) to 20 (lower priority) -; Note: - It will only work if the FPM master process is launched as root -; - The pool processes will inherit the master process priority -; unless it specified otherwise -; Default Value: no set -; process.priority = -19 - -; Set the process dumpable flag (PR_SET_DUMPABLE prctl) even if the process user -; or group is differrent than the master process user. It allows to create process -; core dump and ptrace the process for the pool user. -; Default Value: no -; process.dumpable = yes - -; Choose how the process manager will control the number of child processes. -; Possible Values: -; static - a fixed number (pm.max_children) of child processes; -; dynamic - the number of child processes are set dynamically based on the -; following directives. With this process management, there will be -; always at least 1 children. -; pm.max_children - the maximum number of children that can -; be alive at the same time. -; pm.start_servers - the number of children created on startup. -; pm.min_spare_servers - the minimum number of children in 'idle' -; state (waiting to process). If the number -; of 'idle' processes is less than this -; number then some children will be created. -; pm.max_spare_servers - the maximum number of children in 'idle' -; state (waiting to process). If the number -; of 'idle' processes is greater than this -; number then some children will be killed. -; ondemand - no children are created at startup. Children will be forked when -; new requests will connect. The following parameter are used: -; pm.max_children - the maximum number of children that -; can be alive at the same time. -; pm.process_idle_timeout - The number of seconds after which -; an idle process will be killed. -; Note: This value is mandatory. -pm = dynamic - -; The number of child processes to be created when pm is set to 'static' and the -; maximum number of child processes when pm is set to 'dynamic' or 'ondemand'. -; This value sets the limit on the number of simultaneous requests that will be -; served. Equivalent to the ApacheMaxClients directive with mpm_prefork. -; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP -; CGI. The below defaults are based on a server without much resources. Don't -; forget to tweak pm.* to fit your needs. -; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand' -; Note: This value is mandatory. -pm.max_children = 5 - -; The number of child processes created on startup. -; Note: Used only when pm is set to 'dynamic' -; Default Value: (min_spare_servers + max_spare_servers) / 2 -pm.start_servers = 2 - -; The desired minimum number of idle server processes. -; Note: Used only when pm is set to 'dynamic' -; Note: Mandatory when pm is set to 'dynamic' -pm.min_spare_servers = 1 - -; The desired maximum number of idle server processes. -; Note: Used only when pm is set to 'dynamic' -; Note: Mandatory when pm is set to 'dynamic' -pm.max_spare_servers = 3 - -; The number of seconds after which an idle process will be killed. -; Note: Used only when pm is set to 'ondemand' -; Default Value: 10s -;pm.process_idle_timeout = 10s; - -; The number of requests each child process should execute before respawning. -; This can be useful to work around memory leaks in 3rd party libraries. For -; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS. -; Default Value: 0 -;pm.max_requests = 500 - -; The URI to view the FPM status page. If this value is not set, no URI will be -; recognized as a status page. It shows the following informations: -; pool - the name of the pool; -; process manager - static, dynamic or ondemand; -; start time - the date and time FPM has started; -; start since - number of seconds since FPM has started; -; accepted conn - the number of request accepted by the pool; -; listen queue - the number of request in the queue of pending -; connections (see backlog in listen(2)); -; max listen queue - the maximum number of requests in the queue -; of pending connections since FPM has started; -; listen queue len - the size of the socket queue of pending connections; -; idle processes - the number of idle processes; -; active processes - the number of active processes; -; total processes - the number of idle + active processes; -; max active processes - the maximum number of active processes since FPM -; has started; -; max children reached - number of times, the process limit has been reached, -; when pm tries to start more children (works only for -; pm 'dynamic' and 'ondemand'); -; Value are updated in real time. -; Example output: -; pool: www -; process manager: static -; start time: 01/Jul/2011:17:53:49 +0200 -; start since: 62636 -; accepted conn: 190460 -; listen queue: 0 -; max listen queue: 1 -; listen queue len: 42 -; idle processes: 4 -; active processes: 11 -; total processes: 15 -; max active processes: 12 -; max children reached: 0 -; -; By default the status page output is formatted as text/plain. Passing either -; 'html', 'xml' or 'json' in the query string will return the corresponding -; output syntax. Example: -; http://www.foo.bar/status -; http://www.foo.bar/status?json -; http://www.foo.bar/status?html -; http://www.foo.bar/status?xml -; -; By default the status page only outputs short status. Passing 'full' in the -; query string will also return status for each pool process. -; Example: -; http://www.foo.bar/status?full -; http://www.foo.bar/status?json&full -; http://www.foo.bar/status?html&full -; http://www.foo.bar/status?xml&full -; The Full status returns for each process: -; pid - the PID of the process; -; state - the state of the process (Idle, Running, ...); -; start time - the date and time the process has started; -; start since - the number of seconds since the process has started; -; requests - the number of requests the process has served; -; request duration - the duration in µs of the requests; -; request method - the request method (GET, POST, ...); -; request URI - the request URI with the query string; -; content length - the content length of the request (only with POST); -; user - the user (PHP_AUTH_USER) (or '-' if not set); -; script - the main script called (or '-' if not set); -; last request cpu - the %cpu the last request consumed -; it's always 0 if the process is not in Idle state -; because CPU calculation is done when the request -; processing has terminated; -; last request memory - the max amount of memory the last request consumed -; it's always 0 if the process is not in Idle state -; because memory calculation is done when the request -; processing has terminated; -; If the process is in Idle state, then informations are related to the -; last request the process has served. Otherwise informations are related to -; the current request being served. -; Example output: -; ************************ -; pid: 31330 -; state: Running -; start time: 01/Jul/2011:17:53:49 +0200 -; start since: 63087 -; requests: 12808 -; request duration: 1250261 -; request method: GET -; request URI: /test_mem.php?N=10000 -; content length: 0 -; user: - -; script: /home/fat/web/docs/php/test_mem.php -; last request cpu: 0.00 -; last request memory: 0 -; -; Note: There is a real-time FPM status monitoring sample web page available -; It's available in: /usr/local/share/php/fpm/status.html -; -; Note: The value must start with a leading slash (/). The value can be -; anything, but it may not be a good idea to use the .php extension or it -; may conflict with a real PHP file. -; Default Value: not set -;pm.status_path = /status - -; The ping URI to call the monitoring page of FPM. If this value is not set, no -; URI will be recognized as a ping page. This could be used to test from outside -; that FPM is alive and responding, or to -; - create a graph of FPM availability (rrd or such); -; - remove a server from a group if it is not responding (load balancing); -; - trigger alerts for the operating team (24/7). -; Note: The value must start with a leading slash (/). The value can be -; anything, but it may not be a good idea to use the .php extension or it -; may conflict with a real PHP file. -; Default Value: not set -;ping.path = /ping - -; This directive may be used to customize the response of a ping request. The -; response is formatted as text/plain with a 200 response code. -; Default Value: pong -;ping.response = pong - -; The access log file -; Default: not set -;access.log = log/$pool.access.log - -; The access log format. -; The following syntax is allowed -; %%: the '%' character -; %C: %CPU used by the request -; it can accept the following format: -; - %{user}C for user CPU only -; - %{system}C for system CPU only -; - %{total}C for user + system CPU (default) -; %d: time taken to serve the request -; it can accept the following format: -; - %{seconds}d (default) -; - %{miliseconds}d -; - %{mili}d -; - %{microseconds}d -; - %{micro}d -; %e: an environment variable (same as $_ENV or $_SERVER) -; it must be associated with embraces to specify the name of the env -; variable. Some exemples: -; - server specifics like: %{REQUEST_METHOD}e or %{SERVER_PROTOCOL}e -; - HTTP headers like: %{HTTP_HOST}e or %{HTTP_USER_AGENT}e -; %f: script filename -; %l: content-length of the request (for POST request only) -; %m: request method -; %M: peak of memory allocated by PHP -; it can accept the following format: -; - %{bytes}M (default) -; - %{kilobytes}M -; - %{kilo}M -; - %{megabytes}M -; - %{mega}M -; %n: pool name -; %o: output header -; it must be associated with embraces to specify the name of the header: -; - %{Content-Type}o -; - %{X-Powered-By}o -; - %{Transfert-Encoding}o -; - .... -; %p: PID of the child that serviced the request -; %P: PID of the parent of the child that serviced the request -; %q: the query string -; %Q: the '?' character if query string exists -; %r: the request URI (without the query string, see %q and %Q) -; %R: remote IP address -; %s: status (response code) -; %t: server time the request was received -; it can accept a strftime(3) format: -; %d/%b/%Y:%H:%M:%S %z (default) -; The strftime(3) format must be encapsuled in a %{}t tag -; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t -; %T: time the log has been written (the request has finished) -; it can accept a strftime(3) format: -; %d/%b/%Y:%H:%M:%S %z (default) -; The strftime(3) format must be encapsuled in a %{}t tag -; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t -; %u: remote user -; -; Default: "%R - %u %t \"%m %r\" %s" -;access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%" - -; The log file for slow requests -; Default Value: not set -; Note: slowlog is mandatory if request_slowlog_timeout is set -;slowlog = log/$pool.log.slow - -; The timeout for serving a single request after which a PHP backtrace will be -; dumped to the 'slowlog' file. A value of '0s' means 'off'. -; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) -; Default Value: 0 -;request_slowlog_timeout = 0 - -; Depth of slow log stack trace. -; Default Value: 20 -;request_slowlog_trace_depth = 20 - -; The timeout for serving a single request after which the worker process will -; be killed. This option should be used when the 'max_execution_time' ini option -; does not stop script execution for some reason. A value of '0' means 'off'. -; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) -; Default Value: 0 -;request_terminate_timeout = 0 - -; The timeout set by 'request_terminate_timeout' ini option is not engaged after -; application calls 'fastcgi_finish_request' or when application has finished and -; shutdown functions are being called (registered via register_shutdown_function). -; This option will enable timeout limit to be applied unconditionally -; even in such cases. -; Default Value: no -;request_terminate_timeout_track_finished = no - -; Set open file descriptor rlimit. -; Default Value: system defined value -;rlimit_files = 1024 - -; Set max core size rlimit. -; Possible Values: 'unlimited' or an integer greater or equal to 0 -; Default Value: system defined value -;rlimit_core = 0 - -; Chroot to this directory at the start. This value must be defined as an -; absolute path. When this value is not set, chroot is not used. -; Note: you can prefix with '$prefix' to chroot to the pool prefix or one -; of its subdirectories. If the pool prefix is not set, the global prefix -; will be used instead. -; Note: chrooting is a great security feature and should be used whenever -; possible. However, all PHP paths will be relative to the chroot -; (error_log, sessions.save_path, ...). -; Default Value: not set -;chroot = - -; Chdir to this directory at the start. -; Note: relative path can be used. -; Default Value: current directory or / when chroot -;chdir = /var/www - -; Redirect worker stdout and stderr into main error log. If not set, stdout and -; stderr will be redirected to /dev/null according to FastCGI specs. -; Note: on highloaded environement, this can cause some delay in the page -; process time (several ms). -; Default Value: no -;catch_workers_output = yes - -; Decorate worker output with prefix and suffix containing information about -; the child that writes to the log and if stdout or stderr is used as well as -; log level and time. This options is used only if catch_workers_output is yes. -; Settings to "no" will output data as written to the stdout or stderr. -; Default value: yes -;decorate_workers_output = no - -; Clear environment in FPM workers -; Prevents arbitrary environment variables from reaching FPM worker processes -; by clearing the environment in workers before env vars specified in this -; pool configuration are added. -; Setting to "no" will make all environment variables available to PHP code -; via getenv(), $_ENV and $_SERVER. -; Default Value: yes -;clear_env = no - -; Limits the extensions of the main script FPM will allow to parse. This can -; prevent configuration mistakes on the web server side. You should only limit -; FPM to .php extensions to prevent malicious users to use other extensions to -; execute php code. -; Note: set an empty value to allow all extensions. -; Default Value: .php -;security.limit_extensions = .php .php3 .php4 .php5 .php7 - -; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from -; the current environment. -; Default Value: clean env -;env[HOSTNAME] = $HOSTNAME -;env[PATH] = /usr/local/bin:/usr/bin:/bin -;env[TMP] = /tmp -;env[TMPDIR] = /tmp -;env[TEMP] = /tmp - -; Additional php.ini defines, specific to this pool of workers. These settings -; overwrite the values previously defined in the php.ini. The directives are the -; same as the PHP SAPI: -; php_value/php_flag - you can set classic ini defines which can -; be overwritten from PHP call 'ini_set'. -; php_admin_value/php_admin_flag - these directives won't be overwritten by -; PHP call 'ini_set' -; For php_*flag, valid values are on, off, 1, 0, true, false, yes or no. - -; Defining 'extension' will load the corresponding shared extension from -; extension_dir. Defining 'disable_functions' or 'disable_classes' will not -; overwrite previously defined php.ini values, but will append the new value -; instead. - -; Note: path INI options can be relative and will be expanded with the prefix -; (pool, global or /usr/local) - -; Default Value: nothing is defined by default except the values in php.ini and -; specified at startup with the -d argument -;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com -;php_flag[display_errors] = off -;php_admin_value[error_log] = /var/log/fpm-php.www.log -;php_admin_flag[log_errors] = on -;php_admin_value[memory_limit] = 32M diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index eadc3a1b3..000000000 --- a/package-lock.json +++ /dev/null @@ -1,15264 +0,0 @@ -{ - "requires": true, - "lockfileVersion": 1, - "dependencies": { - "@types/q": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", - "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==", - "dev": true - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "dev": true, - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, - "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", - "dev": true - }, - "acorn-dynamic-import": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", - "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", - "dev": true, - "requires": { - "acorn": "^4.0.3" - }, - "dependencies": { - "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", - "dev": true - } - } - }, - "adjust-sourcemap-loader": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-1.2.0.tgz", - "integrity": "sha512-958oaHHVEXMvsY7v7cC5gEkNIcoaAVIhZ4mBReYVZJOTP9IgKmzLjIOhTtzpLMu+qriXvLsVjJ155EeInp45IQ==", - "dev": true, - "requires": { - "assert": "^1.3.0", - "camelcase": "^1.2.1", - "loader-utils": "^1.1.0", - "lodash.assign": "^4.0.1", - "lodash.defaults": "^3.1.2", - "object-path": "^0.9.2", - "regex-parser": "^2.2.9" - }, - "dependencies": { - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true - }, - "lodash.defaults": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-3.1.2.tgz", - "integrity": "sha1-xzCLGNv4vJNy1wGnNJPGEZK9Liw=", - "dev": true, - "requires": { - "lodash.assign": "^3.0.0", - "lodash.restparam": "^3.0.0" - }, - "dependencies": { - "lodash.assign": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-3.2.0.tgz", - "integrity": "sha1-POnwI0tLIiPilrj6CsH+6OvKZPo=", - "dev": true, - "requires": { - "lodash._baseassign": "^3.0.0", - "lodash._createassigner": "^3.0.0", - "lodash.keys": "^3.0.0" - } - } - } - } - } - }, - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", - "dev": true, - "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, - "ajv-keywords": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.0.tgz", - "integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw==", - "dev": true - }, - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "dev": true, - "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" - } - }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true - }, - "ansi-gray": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", - "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", - "dev": true, - "requires": { - "ansi-wrap": "0.1.0" - } - }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "ansi-wrap": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", - "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", - "dev": true - }, - "anymatch": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", - "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", - "dev": true, - "requires": { - "micromatch": "^2.1.5", - "normalize-path": "^2.0.0" - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "archive-type": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-3.2.0.tgz", - "integrity": "sha1-nNnABpV+vpX62tW9YJiUKoE3N/Y=", - "dev": true, - "requires": { - "file-type": "^3.1.0" - }, - "dependencies": { - "file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", - "dev": true - } - } - }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "^1.0.1" - } - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, - "array-differ": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", - "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", - "dev": true - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true - }, - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true - }, - "array-includes": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", - "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.7.0" - } - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "ast-types": { - "version": "0.9.6", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz", - "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=", - "dev": true - }, - "async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", - "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", - "dev": true, - "requires": { - "lodash": "^4.17.11" - } - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true - }, - "async-each-series": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-1.1.0.tgz", - "integrity": "sha1-9C/YFV048hpbjqB8KOBj7RcAsTg=", - "dev": true - }, - "async-foreach": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", - "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "autoprefixer": { - "version": "7.2.6", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.6.tgz", - "integrity": "sha512-Iq8TRIB+/9eQ8rbGhcP7ct5cYb/3qjNYAR2SnzLCEcwF6rvVOax8+9+fccgXk4bEhQGjOZd5TLhsksmAdsbGqQ==", - "dev": true, - "requires": { - "browserslist": "^2.11.3", - "caniuse-lite": "^1.0.30000805", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^6.0.17", - "postcss-value-parser": "^3.2.3" - } - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", - "dev": true - }, - "axios": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", - "dev": true, - "requires": { - "follow-redirects": "^1.10.0" - }, - "dependencies": { - "follow-redirects": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz", - "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==", - "dev": true - } - } - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "babel-core": { - "version": "6.26.3", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", - "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", - "dev": true, - "requires": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "babel-generator": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", - "dev": true, - "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "babel-helper-builder-binary-assignment-operator-visitor": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", - "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", - "dev": true, - "requires": { - "babel-helper-explode-assignable-expression": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-call-delegate": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", - "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", - "dev": true, - "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-define-map": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", - "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", - "dev": true, - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "babel-helper-explode-assignable-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", - "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", - "dev": true, - "requires": { - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-get-function-arity": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-hoist-variables": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", - "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-optimise-call-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", - "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-regex": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", - "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "babel-helper-remap-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", - "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", - "dev": true, - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-replace-supers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", - "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", - "dev": true, - "requires": { - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helpers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-loader": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.5.tgz", - "integrity": "sha512-iCHfbieL5d1LfOQeeVJEUyD9rTwBcP/fcEbRCfempxTDuqrKpu0AZjLAQHEQa3Yqyj9ORKe2iHfoj4rHLf7xpw==", - "dev": true, - "requires": { - "find-cache-dir": "^1.0.0", - "loader-utils": "^1.0.2", - "mkdirp": "^0.5.1" - } - }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-check-es2015-constants": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", - "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-syntax-async-functions": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", - "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", - "dev": true - }, - "babel-plugin-syntax-exponentiation-operator": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", - "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", - "dev": true - }, - "babel-plugin-syntax-object-rest-spread": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", - "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", - "dev": true - }, - "babel-plugin-syntax-trailing-function-commas": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", - "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", - "dev": true - }, - "babel-plugin-transform-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", - "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", - "dev": true, - "requires": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-functions": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-arrow-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", - "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-block-scoped-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", - "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-block-scoping": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", - "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "babel-plugin-transform-es2015-classes": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", - "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", - "dev": true, - "requires": { - "babel-helper-define-map": "^6.24.1", - "babel-helper-function-name": "^6.24.1", - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-helper-replace-supers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-computed-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", - "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-destructuring": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", - "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-duplicate-keys": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", - "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-for-of": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", - "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", - "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", - "dev": true, - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", - "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-modules-amd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", - "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", - "dev": true, - "requires": { - "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.26.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", - "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", - "dev": true, - "requires": { - "babel-plugin-transform-strict-mode": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-types": "^6.26.0" - } - }, - "babel-plugin-transform-es2015-modules-systemjs": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", - "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", - "dev": true, - "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-modules-umd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", - "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", - "dev": true, - "requires": { - "babel-plugin-transform-es2015-modules-amd": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-object-super": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", - "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", - "dev": true, - "requires": { - "babel-helper-replace-supers": "^6.24.1", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-parameters": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", - "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", - "dev": true, - "requires": { - "babel-helper-call-delegate": "^6.24.1", - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-shorthand-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", - "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-spread": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", - "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-sticky-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", - "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", - "dev": true, - "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-template-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", - "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-typeof-symbol": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", - "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-unicode-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", - "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", - "dev": true, - "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "regexpu-core": "^2.0.0" - } - }, - "babel-plugin-transform-exponentiation-operator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", - "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", - "dev": true, - "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", - "babel-plugin-syntax-exponentiation-operator": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-object-rest-spread": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", - "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", - "dev": true, - "requires": { - "babel-plugin-syntax-object-rest-spread": "^6.8.0", - "babel-runtime": "^6.26.0" - } - }, - "babel-plugin-transform-regenerator": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", - "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", - "dev": true, - "requires": { - "regenerator-transform": "^0.10.0" - } - }, - "babel-plugin-transform-runtime": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", - "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-strict-mode": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", - "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-preset-env": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", - "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", - "dev": true, - "requires": { - "babel-plugin-check-es2015-constants": "^6.22.0", - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-async-to-generator": "^6.22.0", - "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoping": "^6.23.0", - "babel-plugin-transform-es2015-classes": "^6.23.0", - "babel-plugin-transform-es2015-computed-properties": "^6.22.0", - "babel-plugin-transform-es2015-destructuring": "^6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", - "babel-plugin-transform-es2015-for-of": "^6.23.0", - "babel-plugin-transform-es2015-function-name": "^6.22.0", - "babel-plugin-transform-es2015-literals": "^6.22.0", - "babel-plugin-transform-es2015-modules-amd": "^6.22.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-umd": "^6.23.0", - "babel-plugin-transform-es2015-object-super": "^6.22.0", - "babel-plugin-transform-es2015-parameters": "^6.23.0", - "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", - "babel-plugin-transform-es2015-spread": "^6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", - "babel-plugin-transform-es2015-template-literals": "^6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", - "babel-plugin-transform-exponentiation-operator": "^6.22.0", - "babel-plugin-transform-regenerator": "^6.22.0", - "browserslist": "^3.2.6", - "invariant": "^2.2.2", - "semver": "^5.3.0" - }, - "dependencies": { - "browserslist": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", - "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30000844", - "electron-to-chromium": "^1.3.47" - } - } - } - }, - "babel-register": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", - "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", - "dev": true, - "requires": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true, - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" - } - }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "dev": true, - "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - } - } - }, - "base64-js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", - "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", - "dev": true - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "beeper": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", - "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=", - "dev": true - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true - }, - "bin-build": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/bin-build/-/bin-build-2.2.0.tgz", - "integrity": "sha1-EfjdYfcP/Por3KpbRvXo/t1CIcw=", - "dev": true, - "requires": { - "archive-type": "^3.0.1", - "decompress": "^3.0.0", - "download": "^4.1.2", - "exec-series": "^1.0.0", - "rimraf": "^2.2.6", - "tempfile": "^1.0.0", - "url-regex": "^3.0.0" - }, - "dependencies": { - "tempfile": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-1.1.1.tgz", - "integrity": "sha1-W8xOrsxKsscH2LwR2ZzMmiyyh/I=", - "dev": true, - "requires": { - "os-tmpdir": "^1.0.0", - "uuid": "^2.0.1" - } - }, - "uuid": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", - "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", - "dev": true - } - } - }, - "bin-check": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-2.0.0.tgz", - "integrity": "sha1-hvjm9CU4k99g3DFpV/WvAqywWTA=", - "dev": true, - "requires": { - "executable": "^1.0.0" - } - }, - "bin-version": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-1.0.4.tgz", - "integrity": "sha1-nrSY7m/Xb3q5p8FgQ2+JV5Q1144=", - "dev": true, - "requires": { - "find-versions": "^1.0.0" - } - }, - "bin-version-check": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-2.1.0.tgz", - "integrity": "sha1-5OXfKQuQaffRETJAMe/BP90RpbA=", - "dev": true, - "requires": { - "bin-version": "^1.0.0", - "minimist": "^1.1.0", - "semver": "^4.0.3", - "semver-truncate": "^1.0.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "semver": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", - "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", - "dev": true - } - } - }, - "bin-wrapper": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-3.0.2.tgz", - "integrity": "sha1-Z9MwYmLksaXy+I7iNGT2plVneus=", - "dev": true, - "requires": { - "bin-check": "^2.0.0", - "bin-version-check": "^2.1.0", - "download": "^4.0.0", - "each-async": "^1.1.1", - "lazy-req": "^1.0.0", - "os-filter-obj": "^1.0.0" - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true - }, - "bl": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", - "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", - "dev": true, - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "block-stream": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "dev": true, - "requires": { - "inherits": "~2.0.0" - } - }, - "bluebird": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", - "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", - "dev": true - }, - "blueimp-canvas-to-blob": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/blueimp-canvas-to-blob/-/blueimp-canvas-to-blob-3.5.0.tgz", - "integrity": "sha1-VnmsMvaig1gh8MOtZhcZ/4WpI2s=", - "optional": true - }, - "blueimp-file-upload": { - "version": "9.22.0", - "resolved": "https://registry.npmjs.org/blueimp-file-upload/-/blueimp-file-upload-9.22.0.tgz", - "integrity": "sha512-zq7FarMdf21UaAIJZxSNUiHb899Dg3koMTpgC81y5k1MDJp9kNb9qOQuc7SQlNbLQ7zy/NRQgncz08u5AZkutA==", - "requires": { - "blueimp-canvas-to-blob": "3.5.0", - "blueimp-load-image": "2.12.2", - "blueimp-tmpl": "3.6.0" - } - }, - "blueimp-load-image": { - "version": "2.12.2", - "resolved": "https://registry.npmjs.org/blueimp-load-image/-/blueimp-load-image-2.12.2.tgz", - "integrity": "sha1-ahdZiquFjU+/AVQ+BjEUG1EFfIc=", - "optional": true - }, - "blueimp-tmpl": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/blueimp-tmpl/-/blueimp-tmpl-3.6.0.tgz", - "integrity": "sha1-pJEJddBC4rwDunfw5i0E8VSKUkw=", - "optional": true - }, - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", - "dev": true - }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "dev": true, - "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "dependencies": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true - } - } - }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dev": true, - "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true - }, - "bootstrap": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-3.3.7.tgz", - "integrity": "sha1-WjiTlFSfIzMIdaOxUGVldPip63E=" - }, - "bootstrap-sass": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/bootstrap-sass/-/bootstrap-sass-3.4.1.tgz", - "integrity": "sha512-p5rxsK/IyEDQm2CwiHxxUi0MZZtvVFbhWmyMOt4lLkA4bujDA1TGoKT0i1FKIWiugAdP+kK8T5KMDFIKQCLYIA==", - "dev": true - }, - "bootswatch": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/bootswatch/-/bootswatch-3.3.7.tgz", - "integrity": "sha1-62+amoUjuHpwbqkd7sPg1+qoqx8=" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - } - }, - "browserify-sign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", - "dev": true, - "requires": { - "bn.js": "^4.1.1", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.2", - "elliptic": "^6.0.0", - "inherits": "^2.0.1", - "parse-asn1": "^5.0.0" - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "requires": { - "pako": "~1.0.5" - } - }, - "browserslist": { - "version": "2.11.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz", - "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30000792", - "electron-to-chromium": "^1.3.30" - } - }, - "buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", - "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dev": true, - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "dev": true - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", - "dev": true - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true - }, - "buffer-to-vinyl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-to-vinyl/-/buffer-to-vinyl-1.1.0.tgz", - "integrity": "sha1-APFfruOreh3aLN5tkSG//dB7ImI=", - "dev": true, - "requires": { - "file-type": "^3.1.0", - "readable-stream": "^2.0.2", - "uuid": "^2.0.1", - "vinyl": "^1.0.0" - }, - "dependencies": { - "file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", - "dev": true - }, - "uuid": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", - "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", - "dev": true - } - } - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true - }, - "cacache": { - "version": "10.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", - "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", - "dev": true, - "requires": { - "bluebird": "^3.5.1", - "chownr": "^1.0.1", - "glob": "^7.1.2", - "graceful-fs": "^4.1.11", - "lru-cache": "^4.1.1", - "mississippi": "^2.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.2", - "ssri": "^5.2.4", - "unique-filename": "^1.1.0", - "y18n": "^4.0.0" - }, - "dependencies": { - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true - } - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "dev": true, - "requires": { - "callsites": "^2.0.0" - } - }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "requires": { - "caller-callsite": "^2.0.0" - } - }, - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true - }, - "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "dev": true, - "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" - } - }, - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "dev": true, - "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - } - }, - "caniuse-api": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", - "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", - "dev": true, - "requires": { - "browserslist": "^1.3.6", - "caniuse-db": "^1.0.30000529", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - }, - "dependencies": { - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, - "requires": { - "caniuse-db": "^1.0.30000639", - "electron-to-chromium": "^1.2.7" - } - } - } - }, - "caniuse-db": { - "version": "1.0.30000978", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000978.tgz", - "integrity": "sha512-UTzb0WomXxeqhAn3HgygItnkQeiLujN/O4D6hhB4ccSgktBysAbO/duUBJiNsPyxn/DsV8OnIn45jNeuvmUcPQ==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30000978", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000978.tgz", - "integrity": "sha512-H6gK6kxUzG6oAwg/Jal279z8pHw0BzrpZfwo/CA9FFm/vA0l8IhDfkZtepyJNE2Y4V6Dp3P3ubz6czby1/Mgsw==", - "dev": true - }, - "capture-stack-trace": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", - "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "caw": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/caw/-/caw-1.2.0.tgz", - "integrity": "sha1-/7Im/n78VHKI3GLuPpcHPCEtEDQ=", - "dev": true, - "requires": { - "get-proxy": "^1.0.1", - "is-obj": "^1.0.0", - "object-assign": "^3.0.0", - "tunnel-agent": "^0.4.0" - }, - "dependencies": { - "object-assign": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", - "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", - "dev": true - } - } - }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "dev": true, - "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "charenc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=", - "dev": true - }, - "chokidar": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", - "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", - "dev": true, - "requires": { - "anymatch": "^1.3.0", - "async-each": "^1.0.0", - "fsevents": "^1.0.0", - "glob-parent": "^2.0.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^2.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0" - } - }, - "chownr": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", - "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", - "dev": true - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "clap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", - "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", - "dev": true, - "requires": { - "chalk": "^1.1.3" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "clean-css": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", - "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", - "dev": true, - "requires": { - "source-map": "~0.6.0" - } - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true - }, - "clone-deep": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz", - "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==", - "dev": true, - "requires": { - "for-own": "^1.0.0", - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.0", - "shallow-clone": "^1.0.0" - }, - "dependencies": { - "for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - } - } - }, - "clone-stats": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", - "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", - "dev": true - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true - }, - "coa": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", - "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", - "dev": true, - "requires": { - "q": "^1.1.2" - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", - "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", - "dev": true, - "requires": { - "clone": "^1.0.2", - "color-convert": "^1.3.0", - "color-string": "^0.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "color-string": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", - "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", - "dev": true, - "requires": { - "color-name": "^1.0.0" - } - }, - "color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "dev": true - }, - "colormin": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", - "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", - "dev": true, - "requires": { - "color": "^0.11.0", - "css-color-names": "0.0.4", - "has": "^1.0.1" - } - }, - "colors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "compressible": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz", - "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==", - "dev": true, - "requires": { - "mime-db": ">= 1.40.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dev": true, - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "concatenate": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/concatenate/-/concatenate-0.0.2.tgz", - "integrity": "sha1-C0nW6MQQR9dyjNyNYqCGYjOXtJ8=", - "dev": true, - "requires": { - "globs": "^0.1.2" - } - }, - "config-chain": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", - "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", - "dev": true, - "requires": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "dev": true - }, - "console-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", - "dev": true, - "requires": { - "date-now": "^0.1.4" - } - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true - }, - "console-stream": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/console-stream/-/console-stream-0.1.1.tgz", - "integrity": "sha1-oJX+B7IEZZVfL6/Si11yvM2UnUQ=", - "dev": true - }, - "consolidate": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.14.5.tgz", - "integrity": "sha1-WiUEe8dvcwcmZ8jLUsmJiI9JTGM=", - "dev": true, - "requires": { - "bluebird": "^3.1.1" - } - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "dev": true, - "requires": { - "safe-buffer": "5.1.2" - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true - }, - "convert-source-map": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", - "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", - "dev": true - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true - }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "core-js": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", - "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dev": true, - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "dependencies": { - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - } - } - }, - "create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" - } - }, - "create-error-class": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", - "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", - "dev": true, - "requires": { - "capture-stack-trace": "^1.0.0" - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-env": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.0.tgz", - "integrity": "sha512-jtdNFfFW1hB7sMhr/H6rW1Z45LFqyI431m3qU6bFXcQ3Eh7LtBuG3h74o7ohHZ3crrRkkqHlo4jYHFPcjroANg==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.5", - "is-windows": "^1.0.0" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "crypt": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=", - "dev": true - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "css": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", - "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "source-map": "^0.6.1", - "source-map-resolve": "^0.5.2", - "urix": "^0.1.0" - } - }, - "css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", - "dev": true - }, - "css-loader": { - "version": "0.28.11", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.11.tgz", - "integrity": "sha512-wovHgjAx8ZIMGSL8pTys7edA1ClmzxHeY6n/d97gg5odgsxEgKjULPR0viqyC+FWMCL9sfqoC/QCUBo62tLvPg==", - "dev": true, - "requires": { - "babel-code-frame": "^6.26.0", - "css-selector-tokenizer": "^0.7.0", - "cssnano": "^3.10.0", - "icss-utils": "^2.1.0", - "loader-utils": "^1.0.2", - "lodash.camelcase": "^4.3.0", - "object-assign": "^4.1.1", - "postcss": "^5.0.6", - "postcss-modules-extract-imports": "^1.2.0", - "postcss-modules-local-by-default": "^1.2.0", - "postcss-modules-scope": "^1.1.0", - "postcss-modules-values": "^1.3.0", - "postcss-value-parser": "^3.3.0", - "source-list-map": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "css-select": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.0.2.tgz", - "integrity": "sha512-dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^2.1.2", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", - "dev": true - }, - "css-selector-tokenizer": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz", - "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==", - "dev": true, - "requires": { - "cssesc": "^0.1.0", - "fastparse": "^1.1.1", - "regexpu-core": "^1.0.0" - }, - "dependencies": { - "regexpu-core": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", - "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", - "dev": true, - "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" - } - } - } - }, - "css-tree": { - "version": "1.0.0-alpha.28", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.28.tgz", - "integrity": "sha512-joNNW1gCp3qFFzj4St6zk+Wh/NBv0vM5YbEreZk0SD4S23S+1xBKb6cLDg2uj4P4k/GUMlIm6cKIDqIG+vdt0w==", - "dev": true, - "requires": { - "mdn-data": "~1.1.0", - "source-map": "^0.5.3" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "css-url-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/css-url-regex/-/css-url-regex-1.1.0.tgz", - "integrity": "sha1-g4NCMMyfdMRX3lnuvRVD/uuDt+w=", - "dev": true - }, - "css-what": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", - "dev": true - }, - "cssesc": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", - "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", - "dev": true - }, - "cssnano": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", - "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", - "dev": true, - "requires": { - "autoprefixer": "^6.3.1", - "decamelize": "^1.1.2", - "defined": "^1.0.0", - "has": "^1.0.1", - "object-assign": "^4.0.1", - "postcss": "^5.0.14", - "postcss-calc": "^5.2.0", - "postcss-colormin": "^2.1.8", - "postcss-convert-values": "^2.3.4", - "postcss-discard-comments": "^2.0.4", - "postcss-discard-duplicates": "^2.0.1", - "postcss-discard-empty": "^2.0.1", - "postcss-discard-overridden": "^0.1.1", - "postcss-discard-unused": "^2.2.1", - "postcss-filter-plugins": "^2.0.0", - "postcss-merge-idents": "^2.1.5", - "postcss-merge-longhand": "^2.0.1", - "postcss-merge-rules": "^2.0.3", - "postcss-minify-font-values": "^1.0.2", - "postcss-minify-gradients": "^1.0.1", - "postcss-minify-params": "^1.0.4", - "postcss-minify-selectors": "^2.0.4", - "postcss-normalize-charset": "^1.1.0", - "postcss-normalize-url": "^3.0.7", - "postcss-ordered-values": "^2.1.0", - "postcss-reduce-idents": "^2.2.2", - "postcss-reduce-initial": "^1.0.0", - "postcss-reduce-transforms": "^1.0.3", - "postcss-svgo": "^2.1.1", - "postcss-unique-selectors": "^2.0.2", - "postcss-value-parser": "^3.2.3", - "postcss-zindex": "^2.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "autoprefixer": { - "version": "6.7.7", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", - "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", - "dev": true, - "requires": { - "browserslist": "^1.7.6", - "caniuse-db": "^1.0.30000634", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^5.2.16", - "postcss-value-parser": "^3.2.3" - } - }, - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, - "requires": { - "caniuse-db": "^1.0.30000639", - "electron-to-chromium": "^1.2.7" - } - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "csso": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", - "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", - "dev": true, - "requires": { - "clap": "^1.0.9", - "source-map": "^0.5.3" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "requires": { - "array-find-index": "^1.0.1" - } - }, - "cyclist": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", - "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", - "dev": true - }, - "d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "dev": true, - "requires": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", - "dev": true - }, - "dateformat": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz", - "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=", - "dev": true - }, - "de-indent": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", - "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", - "dev": true - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, - "decompress": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-3.0.0.tgz", - "integrity": "sha1-rx3VDQbjv8QyRh033hGzjA2ZG+0=", - "dev": true, - "requires": { - "buffer-to-vinyl": "^1.0.0", - "concat-stream": "^1.4.6", - "decompress-tar": "^3.0.0", - "decompress-tarbz2": "^3.0.0", - "decompress-targz": "^3.0.0", - "decompress-unzip": "^3.0.0", - "stream-combiner2": "^1.1.1", - "vinyl-assign": "^1.0.1", - "vinyl-fs": "^2.2.0" - } - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, - "decompress-tar": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-3.1.0.tgz", - "integrity": "sha1-IXx4n5uURQ76rcXF5TeXj8MzxGY=", - "dev": true, - "requires": { - "is-tar": "^1.0.0", - "object-assign": "^2.0.0", - "strip-dirs": "^1.0.0", - "tar-stream": "^1.1.1", - "through2": "^0.6.1", - "vinyl": "^0.4.3" - }, - "dependencies": { - "clone": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", - "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", - "dev": true - }, - "object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", - "dev": true - }, - "vinyl": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", - "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", - "dev": true, - "requires": { - "clone": "^0.2.0", - "clone-stats": "^0.0.1" - } - } - } - }, - "decompress-tarbz2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-3.1.0.tgz", - "integrity": "sha1-iyOTVoE1X58YnYclag+L3ZbZZm0=", - "dev": true, - "requires": { - "is-bzip2": "^1.0.0", - "object-assign": "^2.0.0", - "seek-bzip": "^1.0.3", - "strip-dirs": "^1.0.0", - "tar-stream": "^1.1.1", - "through2": "^0.6.1", - "vinyl": "^0.4.3" - }, - "dependencies": { - "clone": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", - "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", - "dev": true - }, - "object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", - "dev": true - }, - "vinyl": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", - "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", - "dev": true, - "requires": { - "clone": "^0.2.0", - "clone-stats": "^0.0.1" - } - } - } - }, - "decompress-targz": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-3.1.0.tgz", - "integrity": "sha1-ssE9+YFmJomRtxXWRH9kLpaW9aA=", - "dev": true, - "requires": { - "is-gzip": "^1.0.0", - "object-assign": "^2.0.0", - "strip-dirs": "^1.0.0", - "tar-stream": "^1.1.1", - "through2": "^0.6.1", - "vinyl": "^0.4.3" - }, - "dependencies": { - "clone": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", - "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", - "dev": true - }, - "object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", - "dev": true - }, - "vinyl": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", - "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", - "dev": true, - "requires": { - "clone": "^0.2.0", - "clone-stats": "^0.0.1" - } - } - } - }, - "decompress-unzip": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-3.4.0.tgz", - "integrity": "sha1-YUdbQVIGa74/7hL51inRX+ZHjus=", - "dev": true, - "requires": { - "is-zip": "^1.0.0", - "read-all-stream": "^3.0.0", - "stat-mode": "^0.2.0", - "strip-dirs": "^1.0.0", - "through2": "^2.0.0", - "vinyl": "^1.0.0", - "yauzl": "^2.2.1" - }, - "dependencies": { - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - } - } - }, - "deep-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", - "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", - "dev": true - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - } - } - }, - "defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", - "dev": true - }, - "del": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", - "dev": true, - "requires": { - "globby": "^6.1.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "p-map": "^1.1.1", - "pify": "^3.0.0", - "rimraf": "^2.2.8" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true - }, - "des.js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", - "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true - }, - "detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - }, - "detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", - "dev": true - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, - "dns-packet": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", - "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", - "dev": true, - "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dev": true, - "requires": { - "buffer-indexof": "^1.0.0" - } - }, - "dom-serializer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", - "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", - "dev": true, - "requires": { - "domelementtype": "^1.3.0", - "entities": "^1.1.1" - } - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "dotenv": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-4.0.0.tgz", - "integrity": "sha1-hk7xN5rO1Vzm+V3r7NzhefegzR0=", - "dev": true - }, - "dotenv-expand": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-4.2.0.tgz", - "integrity": "sha1-3vHxyl1gWdJKdm5YeULCEQbOEnU=", - "dev": true - }, - "download": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/download/-/download-4.4.3.tgz", - "integrity": "sha1-qlX9rTktldS2jowr4D4MKqIbqaw=", - "dev": true, - "requires": { - "caw": "^1.0.1", - "concat-stream": "^1.4.7", - "each-async": "^1.0.0", - "filenamify": "^1.0.1", - "got": "^5.0.0", - "gulp-decompress": "^1.2.0", - "gulp-rename": "^1.2.0", - "is-url": "^1.2.0", - "object-assign": "^4.0.1", - "read-all-stream": "^3.0.0", - "readable-stream": "^2.0.2", - "stream-combiner2": "^1.1.1", - "vinyl": "^1.0.0", - "vinyl-fs": "^2.2.0", - "ware": "^1.2.0" - } - }, - "duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "dev": true, - "requires": { - "readable-stream": "^2.0.2" - } - }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", - "dev": true - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "each-async": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/each-async/-/each-async-1.1.1.tgz", - "integrity": "sha1-3uUim98KtrogEqOV4bhpq/iBNHM=", - "dev": true, - "requires": { - "onetime": "^1.0.0", - "set-immediate-shim": "^1.0.0" - } - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.175", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.175.tgz", - "integrity": "sha512-cQ0o7phcPA0EYkN4juZy/rq4XVxl/1ywQnytDT9hZTC0cHfaOBqWK2XlWp9Mk8xRGntgnmxlHTOux4HLb2ZNnA==", - "dev": true - }, - "elliptic": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.0.tgz", - "integrity": "sha512-eFOJTMyCYb7xtE/caJ6JJu+bhi67WCYNbkGSknu20pmM8Ke/bqOfdnZWxyoGN26JgfxTbXrsCkEw4KheCT/KGg==", - "dev": true, - "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - } - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true - }, - "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "enhanced-resolve": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", - "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", - "object-assign": "^4.0.1", - "tapable": "^0.2.7" - } - }, - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", - "dev": true - }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", - "dev": true, - "requires": { - "prr": "~1.0.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "error-stack-parser": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.2.tgz", - "integrity": "sha512-E1fPutRDdIj/hohG0UpT5mayXNCxXP9d+snxFsPU9X0XgccOumKraa3juDMwTUyi7+Bu5+mCGagjg4IYeNbOdw==", - "dev": true, - "requires": { - "stackframe": "^1.0.4" - } - }, - "es-abstract": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", - "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.0", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "is-callable": "^1.1.4", - "is-regex": "^1.0.4", - "object-keys": "^1.0.12" - } - }, - "es-to-primitive": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", - "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "es5-ext": { - "version": "0.10.50", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.50.tgz", - "integrity": "sha512-KMzZTPBkeQV/JcSQhI5/z6d9VWJ3EnQ194USTUwIYZ2ZbpN8+SGXQKt1h68EX44+qt+Fzr8DO17vnxrw7c3agw==", - "dev": true, - "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.1", - "next-tick": "^1.0.0" - } - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "es6-map": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", - "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-set": "~0.1.5", - "es6-symbol": "~3.1.1", - "event-emitter": "~0.3.5" - } - }, - "es6-set": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", - "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-symbol": "3.1.1", - "event-emitter": "~0.3.5" - } - }, - "es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, - "es6-templates": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/es6-templates/-/es6-templates-0.2.3.tgz", - "integrity": "sha1-XLmsn7He1usSOTQrgdeSu7QHjuQ=", - "dev": true, - "requires": { - "recast": "~0.11.12", - "through": "~2.3.6" - } - }, - "es6-weak-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", - "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "^0.10.46", - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.1" - } - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "escope": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", - "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", - "dev": true, - "requires": { - "es6-map": "^0.1.3", - "es6-weak-map": "^2.0.1", - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dev": true, - "requires": { - "estraverse": "^4.1.0" - } - }, - "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true - }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "dev": true - }, - "event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, - "eventemitter3": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", - "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==", - "dev": true - }, - "events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", - "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==", - "dev": true - }, - "eventsource": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", - "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", - "dev": true, - "requires": { - "original": ">=0.0.5" - } - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "exec-buffer": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/exec-buffer/-/exec-buffer-3.2.0.tgz", - "integrity": "sha512-wsiD+2Tp6BWHoVv3B+5Dcx6E7u5zky+hUwOHjuH2hKSLR3dvRmX8fk8UD8uqQixHs4Wk6eDmiegVrMPjKj7wpA==", - "dev": true, - "requires": { - "execa": "^0.7.0", - "p-finally": "^1.0.0", - "pify": "^3.0.0", - "rimraf": "^2.5.4", - "tempfile": "^2.0.0" - } - }, - "exec-series": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/exec-series/-/exec-series-1.0.3.tgz", - "integrity": "sha1-bSV6m+rEgqhyx3g7yGFYOfx3FDo=", - "dev": true, - "requires": { - "async-each-series": "^1.1.0", - "object-assign": "^4.1.0" - } - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - } - } - }, - "executable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/executable/-/executable-1.1.0.tgz", - "integrity": "sha1-h3mA6REvM5EGbaNyZd562ENKtNk=", - "dev": true, - "requires": { - "meow": "^3.1.0" - } - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "requires": { - "is-posix-bracket": "^0.1.0" - } - }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "dev": true, - "requires": { - "fill-range": "^2.1.0" - } - }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "dev": true, - "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true - } - } - }, - "ext-list": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", - "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", - "dev": true, - "requires": { - "mime-db": "^1.28.0" - } - }, - "ext-name": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", - "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", - "dev": true, - "requires": { - "ext-list": "^2.0.0", - "sort-keys-length": "^1.0.0" - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "extract-text-webpack-plugin": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz", - "integrity": "sha512-bt/LZ4m5Rqt/Crl2HiKuAl/oqg0psx1tsTLkvWbJen1CtD+fftkZhMaQ9HOtY2gWsl2Wq+sABmMVi9z3DhKWQQ==", - "dev": true, - "requires": { - "async": "^2.4.1", - "loader-utils": "^1.1.0", - "schema-utils": "^0.3.0", - "webpack-sources": "^1.0.1" - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fancy-log": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", - "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", - "dev": true, - "requires": { - "ansi-gray": "^0.1.1", - "color-support": "^1.1.3", - "parse-node-version": "^1.0.0", - "time-stamp": "^1.0.0" - } - }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "dev": true - }, - "fastparse": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", - "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", - "dev": true - }, - "faye-websocket": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", - "dev": true, - "requires": { - "pend": "~1.2.0" - } - }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" - } - }, - "file-loader": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-0.11.2.tgz", - "integrity": "sha512-N+uhF3mswIFeziHQjGScJ/yHXYt3DiLBeC+9vWW+WjUBiClMSOlV1YrXQi+7KM2aA3Rn4Bybgv+uXFQbfkzpvg==", - "dev": true, - "requires": { - "loader-utils": "^1.0.2" - } - }, - "file-type": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", - "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=", - "dev": true - }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", - "dev": true - }, - "filename-reserved-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz", - "integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=", - "dev": true - }, - "filenamify": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz", - "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=", - "dev": true, - "requires": { - "filename-reserved-regex": "^1.0.0", - "strip-outer": "^1.0.0", - "trim-repeated": "^1.0.0" - } - }, - "fill-range": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", - "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", - "dev": true, - "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" - } - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "find-cache-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", - "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^2.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "find-versions": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-1.2.1.tgz", - "integrity": "sha1-y96fEuOFdaCvG+G5osXV/Y8Ya2I=", - "dev": true, - "requires": { - "array-uniq": "^1.0.0", - "get-stdin": "^4.0.1", - "meow": "^3.5.0", - "semver-regex": "^1.0.0" - } - }, - "first-chunk-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz", - "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=", - "dev": true - }, - "flatten": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", - "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", - "dev": true - }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "follow-redirects": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.7.0.tgz", - "integrity": "sha512-m/pZQy4Gj287eNy94nivy5wchN3Kp+Q5WgUPNy5lJSZ3sgkVKSYV/ZChMAQVIgx1SqfZ2zBZtPA2YlXIWxxJOQ==", - "dev": true, - "requires": { - "debug": "^3.2.6" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", - "dev": true - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "dev": true - }, - "friendly-errors-webpack-plugin": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.0.tgz", - "integrity": "sha512-K27M3VK30wVoOarP651zDmb93R9zF28usW4ocaK3mfQeIEI5BPht/EzZs5E8QLLwbLRJQMwscAjDxYPb1FuNiw==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "error-stack-parser": "^2.0.0", - "string-width": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true - }, - "fs-extra": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", - "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^3.0.0", - "universalify": "^0.1.0" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", - "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", - "dev": true, - "optional": true, - "requires": { - "nan": "^2.12.1", - "node-pre-gyp": "^0.12.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "^2.1.1" - } - }, - "deep-extend": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.24", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true, - "optional": true - }, - "minipass": { - "version": "2.3.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "needle": { - "version": "2.3.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^4.1.0", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.12.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.6.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "5.7.0", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "yallist": { - "version": "3.0.3", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "fstream": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", - "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, - "gaze": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", - "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", - "dev": true, - "requires": { - "globule": "^1.0.0" - } - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true - }, - "get-proxy": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-1.1.0.tgz", - "integrity": "sha1-iUhUSRvFkbDxR9euVw9cZ4tyVus=", - "dev": true, - "requires": { - "rc": "^1.1.2" - } - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "gifsicle": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/gifsicle/-/gifsicle-3.0.4.tgz", - "integrity": "sha1-9Fy17RAWW2ZdySng6TKLbIId+js=", - "dev": true, - "requires": { - "bin-build": "^2.0.0", - "bin-wrapper": "^3.0.0", - "logalot": "^2.0.0" - } - }, - "glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "dev": true, - "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" - } - }, - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, - "requires": { - "is-glob": "^2.0.0" - } - }, - "glob-stream": { - "version": "5.3.5", - "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz", - "integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=", - "dev": true, - "requires": { - "extend": "^3.0.0", - "glob": "^5.0.3", - "glob-parent": "^3.0.0", - "micromatch": "^2.3.7", - "ordered-read-streams": "^0.3.0", - "through2": "^0.6.0", - "to-absolute-glob": "^0.1.1", - "unique-stream": "^2.0.2" - }, - "dependencies": { - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "dev": true - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "globs": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/globs/-/globs-0.1.4.tgz", - "integrity": "sha512-D23dWbOq48vlOraoSigbcQV4tWrnhwk+E/Um2cMuDS3/5dwGmdFeA7L/vAvDhLFlQOTDqHcXh35m/71g2A2WzQ==", - "dev": true, - "requires": { - "glob": "^7.1.1" - } - }, - "globule": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz", - "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", - "dev": true, - "requires": { - "glob": "~7.1.1", - "lodash": "~4.17.10", - "minimatch": "~3.0.2" - } - }, - "glogg": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", - "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", - "dev": true, - "requires": { - "sparkles": "^1.0.0" - } - }, - "got": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/got/-/got-5.7.1.tgz", - "integrity": "sha1-X4FjWmHkplifGAVp6k44FoClHzU=", - "dev": true, - "requires": { - "create-error-class": "^3.0.1", - "duplexer2": "^0.1.4", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "node-status-codes": "^1.0.0", - "object-assign": "^4.0.1", - "parse-json": "^2.1.0", - "pinkie-promise": "^2.0.0", - "read-all-stream": "^3.0.0", - "readable-stream": "^2.0.5", - "timed-out": "^3.0.0", - "unzip-response": "^1.0.2", - "url-parse-lax": "^1.0.0" - } - }, - "graceful-fs": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz", - "integrity": "sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==", - "dev": true - }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", - "dev": true - }, - "growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "dev": true - }, - "gulp-decompress": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gulp-decompress/-/gulp-decompress-1.2.0.tgz", - "integrity": "sha1-jutlpeAV+O2FMsr+KEVJYGJvDcc=", - "dev": true, - "requires": { - "archive-type": "^3.0.0", - "decompress": "^3.0.0", - "gulp-util": "^3.0.1", - "readable-stream": "^2.0.2" - } - }, - "gulp-rename": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.4.0.tgz", - "integrity": "sha512-swzbIGb/arEoFK89tPY58vg3Ok1bw+d35PfUNwWqdo7KM4jkmuGA78JiDNqR+JeZFaeeHnRg9N7aihX3YPmsyg==", - "dev": true - }, - "gulp-sourcemaps": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz", - "integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw=", - "dev": true, - "requires": { - "convert-source-map": "^1.1.1", - "graceful-fs": "^4.1.2", - "strip-bom": "^2.0.0", - "through2": "^2.0.0", - "vinyl": "^1.0.0" - }, - "dependencies": { - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - } - } - }, - "gulp-util": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", - "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", - "dev": true, - "requires": { - "array-differ": "^1.0.0", - "array-uniq": "^1.0.2", - "beeper": "^1.0.0", - "chalk": "^1.0.0", - "dateformat": "^2.0.0", - "fancy-log": "^1.1.0", - "gulplog": "^1.0.0", - "has-gulplog": "^0.1.0", - "lodash._reescape": "^3.0.0", - "lodash._reevaluate": "^3.0.0", - "lodash._reinterpolate": "^3.0.0", - "lodash.template": "^3.0.0", - "minimist": "^1.1.0", - "multipipe": "^0.1.2", - "object-assign": "^3.0.0", - "replace-ext": "0.0.1", - "through2": "^2.0.0", - "vinyl": "^0.5.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "object-assign": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", - "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", - "dev": true - }, - "replace-ext": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", - "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "vinyl": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", - "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", - "dev": true, - "requires": { - "clone": "^1.0.0", - "clone-stats": "^0.0.1", - "replace-ext": "0.0.1" - } - } - } - }, - "gulplog": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", - "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", - "dev": true, - "requires": { - "glogg": "^1.0.0" - } - }, - "handle-thing": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz", - "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==", - "dev": true - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "dev": true, - "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" - }, - "dependencies": { - "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - } - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "has-gulplog": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", - "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", - "dev": true, - "requires": { - "sparkles": "^1.0.0" - } - }, - "has-symbol-support-x": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", - "dev": true - }, - "has-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", - "dev": true - }, - "has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", - "dev": true, - "requires": { - "has-symbol-support-x": "^1.4.1" - } - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "hash-sum": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", - "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", - "dev": true - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "home-or-tmp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", - "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" - } - }, - "hosted-git-info": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", - "dev": true - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "html-comment-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", - "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", - "dev": true - }, - "html-entities": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", - "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", - "dev": true - }, - "html-loader": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-0.4.5.tgz", - "integrity": "sha1-X7zYfNY6XEmn/OL+VvQl4Fcpxow=", - "dev": true, - "requires": { - "es6-templates": "^0.2.2", - "fastparse": "^1.1.1", - "html-minifier": "^3.0.1", - "loader-utils": "^1.0.2", - "object-assign": "^4.1.0" - } - }, - "html-minifier": { - "version": "3.5.21", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", - "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", - "dev": true, - "requires": { - "camel-case": "3.0.x", - "clean-css": "4.2.x", - "commander": "2.17.x", - "he": "1.2.x", - "param-case": "2.1.x", - "relateurl": "0.2.x", - "uglify-js": "3.4.x" - }, - "dependencies": { - "uglify-js": { - "version": "3.4.10", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", - "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", - "dev": true, - "requires": { - "commander": "~2.19.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", - "dev": true - } - } - } - } - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true - }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } - } - }, - "http-parser-js": { - "version": "0.4.10", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", - "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", - "dev": true - }, - "http-proxy": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz", - "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", - "dev": true, - "requires": { - "eventemitter3": "^3.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", - "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", - "dev": true, - "requires": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - }, - "dependencies": { - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-replace-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", - "dev": true - }, - "icss-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", - "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", - "dev": true, - "requires": { - "postcss": "^6.0.1" - } - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", - "dev": true - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, - "imagemin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-5.3.1.tgz", - "integrity": "sha1-8Zwu7h5xumxlWMUV+fyWaAGJptQ=", - "dev": true, - "requires": { - "file-type": "^4.1.0", - "globby": "^6.1.0", - "make-dir": "^1.0.0", - "p-pipe": "^1.1.0", - "pify": "^2.3.0", - "replace-ext": "^1.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "imagemin-gifsicle": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/imagemin-gifsicle/-/imagemin-gifsicle-5.2.0.tgz", - "integrity": "sha512-K01m5QuPK+0en8oVhiOOAicF7KjrHlCZxS++mfLI2mV/Ksfq/Y9nCXCWDz6jRv13wwlqe5T7hXT+ji2DnLc2yQ==", - "dev": true, - "requires": { - "exec-buffer": "^3.0.0", - "gifsicle": "^3.0.0", - "is-gif": "^1.0.0" - } - }, - "imagemin-mozjpeg": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/imagemin-mozjpeg/-/imagemin-mozjpeg-7.0.0.tgz", - "integrity": "sha1-2SZHf8bvXzp2ikIi97LYCNPrpWg=", - "dev": true, - "requires": { - "execa": "^0.8.0", - "is-jpg": "^1.0.0", - "mozjpeg": "^5.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", - "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - } - } - }, - "imagemin-optipng": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/imagemin-optipng/-/imagemin-optipng-5.2.1.tgz", - "integrity": "sha1-0i2kEsCfX/AKQzmWC5ioix2+hpU=", - "dev": true, - "requires": { - "exec-buffer": "^3.0.0", - "is-png": "^1.0.0", - "optipng-bin": "^3.0.0" - } - }, - "imagemin-pngquant": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/imagemin-pngquant/-/imagemin-pngquant-5.1.0.tgz", - "integrity": "sha512-RtIUPbp8/HYX5EKY6p/L1NLKnkxNj37I92IFNsrptzBVql8FqBgPra9DO/eUgE4EWx+zq6ih4a/Y9YhF3pNM5A==", - "dev": true, - "requires": { - "execa": "^0.10.0", - "is-png": "^1.0.0", - "is-stream": "^1.1.0", - "pngquant-bin": "^4.0.0" - }, - "dependencies": { - "execa": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", - "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - } - } - }, - "imagemin-svgo": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/imagemin-svgo/-/imagemin-svgo-6.0.0.tgz", - "integrity": "sha512-xwjBZQKpbkklHtJYnCOwRJjTRJA/nR0hQzKMh+CUZRvm/L0QwKKPJQ9tkPWQHrg+cydPu2i1vLgHuy2E0hKEkg==", - "dev": true, - "requires": { - "buffer-from": "^0.1.1", - "is-svg": "^2.0.0", - "svgo": "^1.0.0" - }, - "dependencies": { - "buffer-from": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-0.1.2.tgz", - "integrity": "sha512-RiWIenusJsmI2KcvqQABB83tLxCByE3upSP8QU3rJDMVFGPWLvPQJt/O1Su9moRWeH7d+Q2HYb68f6+v+tw2vg==", - "dev": true - }, - "coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "dev": true, - "requires": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - } - }, - "csso": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz", - "integrity": "sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==", - "dev": true, - "requires": { - "css-tree": "1.0.0-alpha.29" - }, - "dependencies": { - "css-tree": { - "version": "1.0.0-alpha.29", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz", - "integrity": "sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==", - "dev": true, - "requires": { - "mdn-data": "~1.1.0", - "source-map": "^0.5.3" - } - } - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "svgo": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.2.2.tgz", - "integrity": "sha512-rAfulcwp2D9jjdGu+0CuqlrAUin6bBWrpoqXWwKDZZZJfXcUXQSxLJOFJCQCSA0x0pP2U0TxSlJu2ROq5Bq6qA==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.28", - "css-url-regex": "^1.1.0", - "csso": "^3.5.1", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - } - } - } - }, - "img-loader": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/img-loader/-/img-loader-2.0.1.tgz", - "integrity": "sha512-cD5D+zzIDvVPyX9nmz6+GL20BfpRUKUEXFur9IPeUC8/LRJT/PQ3YJVyKelIum8R5rCVZXgSFB0ccpsnS4IyAQ==", - "dev": true, - "requires": { - "imagemin": "^5.3.1", - "imagemin-gifsicle": "^5.2.0", - "imagemin-mozjpeg": "^7.0.0", - "imagemin-optipng": "^5.2.0", - "imagemin-pngquant": "^5.0.1", - "imagemin-svgo": "^6.0.0", - "loader-utils": "^1.1.0" - } - }, - "import-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", - "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", - "dev": true, - "requires": { - "import-from": "^2.1.0" - } - }, - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "dev": true, - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - } - }, - "import-from": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", - "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - } - }, - "import-local": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", - "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", - "dev": true, - "requires": { - "pkg-dir": "^2.0.0", - "resolve-cwd": "^2.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "in-publish": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", - "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", - "dev": true - }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true - }, - "internal-ip": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz", - "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", - "dev": true, - "requires": { - "meow": "^3.3.0" - } - }, - "interpret": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", - "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", - "dev": true - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "ip-regex": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz", - "integrity": "sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0=", - "dev": true - }, - "ipaddr.js": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", - "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==", - "dev": true - }, - "is-absolute": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz", - "integrity": "sha1-hHSREZ/MtftDYhfMc39/qtUPYD8=", - "dev": true, - "requires": { - "is-relative": "^0.1.0" - } - }, - "is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", - "dev": true - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-bzip2": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-bzip2/-/is-bzip2-1.0.0.tgz", - "integrity": "sha1-XuWOqlounIDiFAe+3yOuWsCRs/w=", - "dev": true - }, - "is-callable": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", - "dev": true - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-date-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", - "dev": true - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "dev": true - }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", - "dev": true - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "dev": true, - "requires": { - "is-primitive": "^2.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "is-gif": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-gif/-/is-gif-1.0.0.tgz", - "integrity": "sha1-ptKumIkwB7/6l6HYwB1jIFgyCX4=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "is-gzip": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz", - "integrity": "sha1-bKiwe5nHeZgCWQDlVc7Y7YCHmoM=", - "dev": true - }, - "is-jpg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-jpg/-/is-jpg-1.0.1.tgz", - "integrity": "sha1-KW1X/dmc4BBDSnKD40armhA16XU=", - "dev": true - }, - "is-natural-number": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-2.1.1.tgz", - "integrity": "sha1-fUxXKDd+84bD4ZSpkRv1fG3DNec=", - "dev": true - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", - "dev": true - }, - "is-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", - "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=", - "dev": true - }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", - "dev": true - }, - "is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", - "dev": true, - "requires": { - "is-path-inside": "^1.0.0" - } - }, - "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", - "dev": true, - "requires": { - "path-is-inside": "^1.0.1" - } - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "is-png": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-png/-/is-png-1.1.0.tgz", - "integrity": "sha1-1XSxK/J1wDUEVVcLDltXqwYgd84=", - "dev": true - }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", - "dev": true - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", - "dev": true - }, - "is-redirect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", - "dev": true - }, - "is-regex": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", - "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", - "dev": true, - "requires": { - "has": "^1.0.1" - } - }, - "is-relative": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz", - "integrity": "sha1-kF/uiuhvRbPsYUvDwVyGnfCHboI=", - "dev": true - }, - "is-retry-allowed": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", - "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-svg": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", - "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", - "dev": true, - "requires": { - "html-comment-regex": "^1.1.0" - } - }, - "is-symbol": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", - "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", - "dev": true, - "requires": { - "has-symbols": "^1.0.0" - } - }, - "is-tar": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-tar/-/is-tar-1.0.0.tgz", - "integrity": "sha1-L2suF5LB9bs2UZrKqdZcDSb+hT0=", - "dev": true - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-url": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", - "dev": true - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "is-valid-glob": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz", - "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4=", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "is-zip": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-zip/-/is-zip-1.0.0.tgz", - "integrity": "sha1-R7Co/004p2QxzP2ZqOFaTIa6IyU=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", - "dev": true, - "requires": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" - } - }, - "jquery": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.4.1.tgz", - "integrity": "sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw==", - "dev": true - }, - "js-base64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz", - "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==", - "dev": true - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - }, - "js-yaml": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", - "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^2.6.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", - "dev": true - }, - "json-loader": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", - "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "json3": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", - "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", - "dev": true - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "jsonfile": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", - "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", - "dev": true - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - }, - "laravel-mix": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/laravel-mix/-/laravel-mix-1.7.2.tgz", - "integrity": "sha512-La1eAsCkEdySc9J9MJ/g8Dj1EfGo7aXW92GZKoSbrSg4uQWNNoV824e6+o4f4Eo/YWYrYwZTkdnWJJ1uVqP+dw==", - "dev": true, - "requires": { - "autoprefixer": "^7.1.1", - "babel-core": "^6.24.1", - "babel-loader": "^7.1.1", - "babel-plugin-transform-object-rest-spread": "^6.26.0", - "babel-plugin-transform-runtime": "^6.23.0", - "babel-preset-env": "^1.5.1", - "chokidar": "^1.7.0", - "clean-css": "^4.1.3", - "concatenate": "0.0.2", - "css-loader": "^0.28.3", - "dotenv": "^4.0.0", - "dotenv-expand": "^4.0.1", - "extract-text-webpack-plugin": "^3.0.0", - "file-loader": "^0.11.1", - "friendly-errors-webpack-plugin": "^1.6.1", - "fs-extra": "^3.0.1", - "glob": "^7.1.2", - "html-loader": "^0.4.5", - "img-loader": "^2.0.0", - "lodash": "^4.17.4", - "md5": "^2.2.1", - "node-sass": "^4.5.3", - "postcss-loader": "^2.0.5", - "resolve-url-loader": "^2.0.2", - "sass-loader": "^6.0.5", - "style-loader": "^0.18.1", - "uglify-js": "^2.8.28", - "uglifyjs-webpack-plugin": "^1.0.0", - "vue-loader": "^13.0.5", - "vue-template-compiler": "^2.0.0", - "webpack": "^3.5.0", - "webpack-chunk-hash": "^0.4.0", - "webpack-dev-server": "^2.5.1", - "webpack-merge": "^4.1.0", - "webpack-notifier": "^1.5.0", - "yargs": "^8.0.1" - } - }, - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", - "dev": true - }, - "lazy-req": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/lazy-req/-/lazy-req-1.1.0.tgz", - "integrity": "sha1-va6+rTD42CQDnODOFJ1Nqge6H6w=", - "dev": true - }, - "lazystream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", - "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", - "dev": true, - "requires": { - "readable-stream": "^2.0.5" - } - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, - "requires": { - "invert-kv": "^1.0.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true - }, - "loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.1" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", - "dev": true - }, - "lodash._baseassign": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", - "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", - "dev": true, - "requires": { - "lodash._basecopy": "^3.0.0", - "lodash.keys": "^3.0.0" - } - }, - "lodash._basecopy": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", - "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", - "dev": true - }, - "lodash._basetostring": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", - "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=", - "dev": true - }, - "lodash._basevalues": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", - "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=", - "dev": true - }, - "lodash._bindcallback": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", - "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=", - "dev": true - }, - "lodash._createassigner": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz", - "integrity": "sha1-g4pbri/aymOsIt7o4Z+k5taXCxE=", - "dev": true, - "requires": { - "lodash._bindcallback": "^3.0.0", - "lodash._isiterateecall": "^3.0.0", - "lodash.restparam": "^3.0.0" - } - }, - "lodash._getnative": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", - "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", - "dev": true - }, - "lodash._isiterateecall": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", - "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", - "dev": true - }, - "lodash._reescape": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", - "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=", - "dev": true - }, - "lodash._reevaluate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", - "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=", - "dev": true - }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", - "dev": true - }, - "lodash._root": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", - "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", - "dev": true - }, - "lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", - "dev": true - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", - "dev": true - }, - "lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=", - "dev": true - }, - "lodash.escape": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", - "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", - "dev": true, - "requires": { - "lodash._root": "^3.0.0" - } - }, - "lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", - "dev": true - }, - "lodash.isarray": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", - "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", - "dev": true - }, - "lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", - "dev": true - }, - "lodash.keys": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", - "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", - "dev": true, - "requires": { - "lodash._getnative": "^3.0.0", - "lodash.isarguments": "^3.0.0", - "lodash.isarray": "^3.0.0" - } - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true - }, - "lodash.restparam": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", - "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", - "dev": true - }, - "lodash.tail": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz", - "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=", - "dev": true - }, - "lodash.template": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", - "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", - "dev": true, - "requires": { - "lodash._basecopy": "^3.0.0", - "lodash._basetostring": "^3.0.0", - "lodash._basevalues": "^3.0.0", - "lodash._isiterateecall": "^3.0.0", - "lodash._reinterpolate": "^3.0.0", - "lodash.escape": "^3.0.0", - "lodash.keys": "^3.0.0", - "lodash.restparam": "^3.0.0", - "lodash.templatesettings": "^3.0.0" - } - }, - "lodash.templatesettings": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", - "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", - "dev": true, - "requires": { - "lodash._reinterpolate": "^3.0.0", - "lodash.escape": "^3.0.0" - } - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true - }, - "logalot": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz", - "integrity": "sha1-X46MkNME7fElMJUaVVSruMXj9VI=", - "dev": true, - "requires": { - "figures": "^1.3.5", - "squeak": "^1.0.0" - } - }, - "loglevel": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.3.tgz", - "integrity": "sha512-LoEDv5pgpvWgPF4kNYuIp0qqSJVWak/dML0RY74xlzMZiT9w77teNAwKYKWBTYjlokMirg+o3jBwp+vlLrcfAA==", - "dev": true - }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true, - "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" - } - }, - "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", - "dev": true - }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true - }, - "lpad-align": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/lpad-align/-/lpad-align-1.1.2.tgz", - "integrity": "sha1-IfYArBwwlcPG5JfuZyce4ISB/p4=", - "dev": true, - "requires": { - "get-stdin": "^4.0.1", - "indent-string": "^2.1.0", - "longest": "^1.0.0", - "meow": "^3.3.0" - } - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "math-expression-evaluator": { - "version": "1.2.17", - "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz", - "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=", - "dev": true - }, - "math-random": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", - "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", - "dev": true - }, - "md5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz", - "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=", - "dev": true, - "requires": { - "charenc": "~0.0.1", - "crypt": "~0.0.1", - "is-buffer": "~1.1.1" - } - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "mdn-data": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz", - "integrity": "sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==", - "dev": true - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true - }, - "mem": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, - "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, - "merge-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", - "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", - "dev": true, - "requires": { - "readable-stream": "^2.0.1" - } - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - }, - "mime-db": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", - "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", - "dev": true - }, - "mime-types": { - "version": "2.1.24", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", - "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", - "dev": true, - "requires": { - "mime-db": "1.40.0" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - }, - "mississippi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", - "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^2.0.1", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - }, - "dependencies": { - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - } - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mixin-object": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", - "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", - "dev": true, - "requires": { - "for-in": "^0.1.3", - "is-extendable": "^0.1.1" - }, - "dependencies": { - "for-in": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", - "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", - "dev": true - } - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - } - }, - "mozjpeg": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/mozjpeg/-/mozjpeg-5.0.0.tgz", - "integrity": "sha1-uGccSSRWijY94AP/L9OXq4P3UsU=", - "dev": true, - "requires": { - "bin-build": "^2.2.0", - "bin-wrapper": "^3.0.0", - "logalot": "^2.0.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "dev": true, - "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - } - }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, - "multipipe": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", - "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", - "dev": true, - "requires": { - "duplexer2": "0.0.2" - }, - "dependencies": { - "duplexer2": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", - "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", - "dev": true, - "requires": { - "readable-stream": "~1.1.9" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } - } - }, - "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", - "dev": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - } - } - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "dev": true - }, - "neo-async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", - "dev": true - }, - "next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", - "dev": true - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "dev": true, - "requires": { - "lower-case": "^1.1.1" - } - }, - "node-forge": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz", - "integrity": "sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ==", - "dev": true - }, - "node-gyp": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", - "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", - "dev": true, - "requires": { - "fstream": "^1.0.0", - "glob": "^7.0.3", - "graceful-fs": "^4.1.2", - "mkdirp": "^0.5.0", - "nopt": "2 || 3", - "npmlog": "0 || 1 || 2 || 3 || 4", - "osenv": "0", - "request": "^2.87.0", - "rimraf": "2", - "semver": "~5.3.0", - "tar": "^2.0.0", - "which": "1" - }, - "dependencies": { - "semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "dev": true - } - } - }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "buffer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, - "requires": { - "inherits": "2.0.3" - } - } - } - }, - "node-notifier": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.0.tgz", - "integrity": "sha512-SUDEb+o71XR5lXSTyivXd9J7fCloE3SyP4lSgt3lU2oSANiox+SxlNRGPjDKrwU1YN3ix2KN/VGGCg0t01rttQ==", - "dev": true, - "requires": { - "growly": "^1.3.0", - "is-wsl": "^1.1.0", - "semver": "^5.5.0", - "shellwords": "^0.1.1", - "which": "^1.3.0" - } - }, - "node-sass": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.12.0.tgz", - "integrity": "sha512-A1Iv4oN+Iel6EPv77/HddXErL2a+gZ4uBeZUy+a8O35CFYTXhgA8MgLCWBtwpGZdCvTvQ9d+bQxX/QC36GDPpQ==", - "dev": true, - "requires": { - "async-foreach": "^0.1.3", - "chalk": "^1.1.1", - "cross-spawn": "^3.0.0", - "gaze": "^1.0.0", - "get-stdin": "^4.0.1", - "glob": "^7.0.3", - "in-publish": "^2.0.0", - "lodash": "^4.17.11", - "meow": "^3.7.0", - "mkdirp": "^0.5.1", - "nan": "^2.13.2", - "node-gyp": "^3.8.0", - "npmlog": "^4.0.0", - "request": "^2.88.0", - "sass-graph": "^2.2.4", - "stdout-stream": "^1.4.0", - "true-case-path": "^1.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "cross-spawn": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", - "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "node-status-codes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz", - "integrity": "sha1-WuVUHQJGRdMqWPzdyc7s6nrjrC8=", - "dev": true - }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true - }, - "normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" - } - }, - "npm-conf": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", - "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", - "dev": true, - "requires": { - "config-chain": "^1.1.11", - "pify": "^3.0.0" - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dev": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dev": true, - "requires": { - "boolbase": "~1.0.0" - } - }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object-path": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.9.2.tgz", - "integrity": "sha1-D9mnT8X60a45aLWGvaXGMr1sBaU=", - "dev": true - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "^3.0.0" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "object.getownpropertydescriptors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", - "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.5.1" - } - }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "dev": true, - "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "object.values": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz", - "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.12.0", - "function-bind": "^1.1.1", - "has": "^1.0.3" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", - "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", - "dev": true - }, - "opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", - "dev": true, - "requires": { - "is-wsl": "^1.1.0" - } - }, - "optipng-bin": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/optipng-bin/-/optipng-bin-3.1.4.tgz", - "integrity": "sha1-ldNPLEiHBPb9cGBr/qDGWfHZXYQ=", - "dev": true, - "requires": { - "bin-build": "^2.0.0", - "bin-wrapper": "^3.0.0", - "logalot": "^2.0.0" - } - }, - "ordered-read-streams": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz", - "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=", - "dev": true, - "requires": { - "is-stream": "^1.0.1", - "readable-stream": "^2.0.1" - } - }, - "original": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", - "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", - "dev": true, - "requires": { - "url-parse": "^1.4.3" - } - }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true - }, - "os-filter-obj": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-1.0.3.tgz", - "integrity": "sha1-WRUzDZDs7VV9LZOKMcbdIU2cY60=", - "dev": true - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, - "requires": { - "lcid": "^1.0.0" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "p-cancelable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", - "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", - "dev": true - }, - "p-event": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-1.3.0.tgz", - "integrity": "sha1-jmtPT2XHK8W2/ii3XtqHT5akoIU=", - "dev": true, - "requires": { - "p-timeout": "^1.1.1" - } - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-map": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", - "dev": true - }, - "p-map-series": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-1.0.0.tgz", - "integrity": "sha1-v5j+V1cFZYqeE1G++4WuTB8Hvco=", - "dev": true, - "requires": { - "p-reduce": "^1.0.0" - } - }, - "p-pipe": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-1.2.0.tgz", - "integrity": "sha1-SxoROZoRUgpneQ7loMHViB1r7+k=", - "dev": true - }, - "p-reduce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", - "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", - "dev": true - }, - "p-timeout": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", - "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", - "dev": true, - "requires": { - "p-finally": "^1.0.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "pako": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", - "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", - "dev": true - }, - "parallel-transform": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", - "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", - "dev": true, - "requires": { - "cyclist": "~0.2.2", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, - "param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", - "dev": true, - "requires": { - "no-case": "^2.2.0" - } - }, - "parse-asn1": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz", - "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", - "dev": true, - "requires": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "dev": true, - "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "parse-node-version": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", - "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", - "dev": true - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "pbkdf2": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", - "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", - "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", - "dev": true - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - } - }, - "pngquant-bin": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pngquant-bin/-/pngquant-bin-4.0.0.tgz", - "integrity": "sha512-jhjMp87bvaUeQOfNaPhSKx3tLCEwRaAycgDpIhMflgFr2+vYhw4ZrcK06eQeYg4OprXPanFljXLl5VuuAP2IHw==", - "dev": true, - "requires": { - "bin-build": "^3.0.0", - "bin-wrapper": "^3.0.0", - "execa": "^0.10.0", - "logalot": "^2.0.0" - }, - "dependencies": { - "bin-build": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bin-build/-/bin-build-3.0.0.tgz", - "integrity": "sha512-jcUOof71/TNAI2uM5uoUaDq2ePcVBQ3R/qhxAz1rX7UfvduAL/RXD3jXzvn8cVcDJdGVkiR1shal3OH0ImpuhA==", - "dev": true, - "requires": { - "decompress": "^4.0.0", - "download": "^6.2.2", - "execa": "^0.7.0", - "p-map-series": "^1.0.0", - "tempfile": "^2.0.0" - }, - "dependencies": { - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - } - } - }, - "caw": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", - "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==", - "dev": true, - "requires": { - "get-proxy": "^2.0.0", - "isurl": "^1.0.0-alpha5", - "tunnel-agent": "^0.6.0", - "url-to-options": "^1.0.1" - } - }, - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "decompress": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz", - "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=", - "dev": true, - "requires": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" - } - }, - "decompress-tar": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", - "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", - "dev": true, - "requires": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" - } - }, - "decompress-tarbz2": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", - "dev": true, - "requires": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" - }, - "dependencies": { - "file-type": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", - "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", - "dev": true - } - } - }, - "decompress-targz": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", - "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", - "dev": true, - "requires": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" - } - }, - "decompress-unzip": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", - "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", - "dev": true, - "requires": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" - }, - "dependencies": { - "file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", - "dev": true - } - } - }, - "download": { - "version": "6.2.5", - "resolved": "https://registry.npmjs.org/download/-/download-6.2.5.tgz", - "integrity": "sha512-DpO9K1sXAST8Cpzb7kmEhogJxymyVUd5qz/vCOSyvwtp2Klj2XcDt5YUuasgxka44SxF0q5RriKIwJmQHG2AuA==", - "dev": true, - "requires": { - "caw": "^2.0.0", - "content-disposition": "^0.5.2", - "decompress": "^4.0.0", - "ext-name": "^5.0.0", - "file-type": "5.2.0", - "filenamify": "^2.0.0", - "get-stream": "^3.0.0", - "got": "^7.0.0", - "make-dir": "^1.0.0", - "p-event": "^1.0.0", - "pify": "^3.0.0" - }, - "dependencies": { - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "execa": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", - "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - } - } - }, - "file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", - "dev": true - }, - "filename-reserved-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", - "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=", - "dev": true - }, - "filenamify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.1.0.tgz", - "integrity": "sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==", - "dev": true, - "requires": { - "filename-reserved-regex": "^2.0.0", - "strip-outer": "^1.0.0", - "trim-repeated": "^1.0.0" - } - }, - "get-proxy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", - "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==", - "dev": true, - "requires": { - "npm-conf": "^1.1.0" - } - }, - "get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - } - }, - "got": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", - "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", - "dev": true, - "requires": { - "decompress-response": "^3.2.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-plain-obj": "^1.1.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "p-cancelable": "^0.3.0", - "p-timeout": "^1.1.1", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "url-parse-lax": "^1.0.0", - "url-to-options": "^1.0.1" - }, - "dependencies": { - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - } - } - }, - "is-natural-number": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", - "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=", - "dev": true - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "strip-dirs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", - "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", - "dev": true, - "requires": { - "is-natural-number": "^4.0.1" - } - }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", - "dev": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - } - } - }, - "portfinder": { - "version": "1.0.20", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.20.tgz", - "integrity": "sha512-Yxe4mTyDzTd59PZJY4ojZR8F+E5e97iq2ZOHPz3HDgSvYC5siNad2tLooQ5y5QHyQhc3xVqvyk/eNA3wuoa7Sw==", - "dev": true, - "requires": { - "async": "^1.5.2", - "debug": "^2.2.0", - "mkdirp": "0.5.x" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, - "postcss-calc": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", - "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", - "dev": true, - "requires": { - "postcss": "^5.0.2", - "postcss-message-helpers": "^2.0.0", - "reduce-css-calc": "^1.2.6" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-colormin": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", - "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", - "dev": true, - "requires": { - "colormin": "^1.0.5", - "postcss": "^5.0.13", - "postcss-value-parser": "^3.2.3" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-convert-values": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", - "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", - "dev": true, - "requires": { - "postcss": "^5.0.11", - "postcss-value-parser": "^3.1.2" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-discard-comments": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", - "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", - "dev": true, - "requires": { - "postcss": "^5.0.14" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-discard-duplicates": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", - "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", - "dev": true, - "requires": { - "postcss": "^5.0.4" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-discard-empty": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", - "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", - "dev": true, - "requires": { - "postcss": "^5.0.14" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-discard-overridden": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", - "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", - "dev": true, - "requires": { - "postcss": "^5.0.16" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-discard-unused": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", - "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", - "dev": true, - "requires": { - "postcss": "^5.0.14", - "uniqs": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-filter-plugins": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz", - "integrity": "sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ==", - "dev": true, - "requires": { - "postcss": "^5.0.4" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-load-config": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz", - "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==", - "dev": true, - "requires": { - "cosmiconfig": "^5.0.0", - "import-cwd": "^2.0.0" - } - }, - "postcss-load-options": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz", - "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=", - "dev": true, - "requires": { - "cosmiconfig": "^2.1.0", - "object-assign": "^4.1.0" - }, - "dependencies": { - "cosmiconfig": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz", - "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==", - "dev": true, - "requires": { - "is-directory": "^0.3.1", - "js-yaml": "^3.4.3", - "minimist": "^1.2.0", - "object-assign": "^4.1.0", - "os-homedir": "^1.0.1", - "parse-json": "^2.2.0", - "require-from-string": "^1.1.0" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, - "postcss-load-plugins": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz", - "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=", - "dev": true, - "requires": { - "cosmiconfig": "^2.1.1", - "object-assign": "^4.1.0" - }, - "dependencies": { - "cosmiconfig": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz", - "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==", - "dev": true, - "requires": { - "is-directory": "^0.3.1", - "js-yaml": "^3.4.3", - "minimist": "^1.2.0", - "object-assign": "^4.1.0", - "os-homedir": "^1.0.1", - "parse-json": "^2.2.0", - "require-from-string": "^1.1.0" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, - "postcss-loader": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-2.1.6.tgz", - "integrity": "sha512-hgiWSc13xVQAq25cVw80CH0l49ZKlAnU1hKPOdRrNj89bokRr/bZF2nT+hebPPF9c9xs8c3gw3Fr2nxtmXYnNg==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "postcss": "^6.0.0", - "postcss-load-config": "^2.0.0", - "schema-utils": "^0.4.0" - }, - "dependencies": { - "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "schema-utils": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", - "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "postcss-merge-idents": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", - "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", - "dev": true, - "requires": { - "has": "^1.0.1", - "postcss": "^5.0.10", - "postcss-value-parser": "^3.1.1" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-merge-longhand": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", - "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", - "dev": true, - "requires": { - "postcss": "^5.0.4" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-merge-rules": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", - "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", - "dev": true, - "requires": { - "browserslist": "^1.5.2", - "caniuse-api": "^1.5.2", - "postcss": "^5.0.4", - "postcss-selector-parser": "^2.2.2", - "vendors": "^1.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, - "requires": { - "caniuse-db": "^1.0.30000639", - "electron-to-chromium": "^1.2.7" - } - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-message-helpers": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", - "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=", - "dev": true - }, - "postcss-minify-font-values": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", - "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "postcss": "^5.0.4", - "postcss-value-parser": "^3.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-minify-gradients": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", - "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", - "dev": true, - "requires": { - "postcss": "^5.0.12", - "postcss-value-parser": "^3.3.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-minify-params": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", - "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.1", - "postcss": "^5.0.2", - "postcss-value-parser": "^3.0.2", - "uniqs": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-minify-selectors": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", - "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.2", - "has": "^1.0.1", - "postcss": "^5.0.14", - "postcss-selector-parser": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-modules-extract-imports": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz", - "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==", - "dev": true, - "requires": { - "postcss": "^6.0.1" - } - }, - "postcss-modules-local-by-default": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", - "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", - "dev": true, - "requires": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" - } - }, - "postcss-modules-scope": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", - "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", - "dev": true, - "requires": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" - } - }, - "postcss-modules-values": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", - "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", - "dev": true, - "requires": { - "icss-replace-symbols": "^1.1.0", - "postcss": "^6.0.1" - } - }, - "postcss-normalize-charset": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", - "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", - "dev": true, - "requires": { - "postcss": "^5.0.5" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-normalize-url": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", - "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", - "dev": true, - "requires": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^1.4.0", - "postcss": "^5.0.14", - "postcss-value-parser": "^3.2.3" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-ordered-values": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", - "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", - "dev": true, - "requires": { - "postcss": "^5.0.4", - "postcss-value-parser": "^3.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-reduce-idents": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", - "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", - "dev": true, - "requires": { - "postcss": "^5.0.4", - "postcss-value-parser": "^3.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-reduce-initial": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", - "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", - "dev": true, - "requires": { - "postcss": "^5.0.4" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-reduce-transforms": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", - "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", - "dev": true, - "requires": { - "has": "^1.0.1", - "postcss": "^5.0.8", - "postcss-value-parser": "^3.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-selector-parser": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", - "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", - "dev": true, - "requires": { - "flatten": "^1.0.2", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "postcss-svgo": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", - "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", - "dev": true, - "requires": { - "is-svg": "^2.0.0", - "postcss": "^5.0.14", - "postcss-value-parser": "^3.2.3", - "svgo": "^0.7.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-unique-selectors": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", - "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.1", - "postcss": "^5.0.4", - "uniqs": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - }, - "postcss-zindex": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", - "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", - "dev": true, - "requires": { - "has": "^1.0.1", - "postcss": "^5.0.4", - "uniqs": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true - }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", - "dev": true - }, - "prettier": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.18.2.tgz", - "integrity": "sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw==", - "dev": true - }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", - "dev": true - }, - "proxy-addr": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", - "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", - "dev": true, - "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.0" - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "psl": { - "version": "1.1.33", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.33.tgz", - "integrity": "sha512-LTDP2uSrsc7XCb5lO7A8BI1qYxRe/8EqlRvMeEl6rsnYAqDOl8xHR+8lSAIVfrNaSAlTPTNOCgNjWcoUL3AZsw==", - "dev": true - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, - "query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", - "dev": true, - "requires": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true - }, - "querystringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", - "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", - "dev": true - }, - "randomatic": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", - "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", - "dev": true, - "requires": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - } - } - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true - }, - "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", - "dev": true, - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true - } - } - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, - "read-all-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz", - "integrity": "sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0", - "readable-stream": "^2.0.0" - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - } - } - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "dependencies": { - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "recast": { - "version": "0.11.23", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz", - "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", - "dev": true, - "requires": { - "ast-types": "0.9.6", - "esprima": "~3.1.0", - "private": "~0.1.5", - "source-map": "~0.5.0" - }, - "dependencies": { - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "dev": true, - "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - } - }, - "reduce-css-calc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", - "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", - "dev": true, - "requires": { - "balanced-match": "^0.4.2", - "math-expression-evaluator": "^1.2.14", - "reduce-function-call": "^1.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", - "dev": true - } - } - }, - "reduce-function-call": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz", - "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=", - "dev": true, - "requires": { - "balanced-match": "^0.4.2" - }, - "dependencies": { - "balanced-match": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", - "dev": true - } - } - }, - "regenerate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", - "dev": true - }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true - }, - "regenerator-transform": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", - "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", - "dev": true, - "requires": { - "babel-runtime": "^6.18.0", - "babel-types": "^6.19.0", - "private": "^0.1.6" - } - }, - "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", - "dev": true, - "requires": { - "is-equal-shallow": "^0.1.3" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regex-parser": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.10.tgz", - "integrity": "sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA==", - "dev": true - }, - "regexpu-core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", - "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", - "dev": true, - "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" - } - }, - "regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", - "dev": true - }, - "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - } - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "dev": true - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "^1.0.0" - } - }, - "replace-ext": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", - "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", - "dev": true - }, - "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.0", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - } - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-from-string": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", - "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=", - "dev": true - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, - "resolve": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", - "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "resolve-url-loader": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-2.3.2.tgz", - "integrity": "sha512-sc/UVgiADdoTc+4cGPB7cUCnlEkzlxD1NXHw4oa9qA0fp30H8mAQ2ePJBP9MQ029DUuhEPouhNdvzT37pBCV0g==", - "dev": true, - "requires": { - "adjust-sourcemap-loader": "^1.1.0", - "camelcase": "^4.1.0", - "convert-source-map": "^1.5.1", - "loader-utils": "^1.1.0", - "lodash.defaults": "^4.0.0", - "rework": "^1.0.1", - "rework-visit": "^1.0.0", - "source-map": "^0.5.7", - "urix": "^0.1.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true - }, - "rework": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz", - "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=", - "dev": true, - "requires": { - "convert-source-map": "^0.3.3", - "css": "^2.0.0" - }, - "dependencies": { - "convert-source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", - "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=", - "dev": true - } - } - }, - "rework-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz", - "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=", - "dev": true - }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", - "dev": true, - "requires": { - "align-text": "^0.1.1" - } - }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, - "requires": { - "aproba": "^1.1.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "sass-graph": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", - "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", - "dev": true, - "requires": { - "glob": "^7.0.0", - "lodash": "^4.0.0", - "scss-tokenizer": "^0.2.3", - "yargs": "^7.0.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "yargs": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", - "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", - "dev": true, - "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^5.0.0" - } - } - } - }, - "sass-loader": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-6.0.7.tgz", - "integrity": "sha512-JoiyD00Yo1o61OJsoP2s2kb19L1/Y2p3QFcCdWdF6oomBGKVYuZyqHWemRBfQ2uGYsk+CH3eCguXNfpjzlcpaA==", - "dev": true, - "requires": { - "clone-deep": "^2.0.1", - "loader-utils": "^1.0.1", - "lodash.tail": "^4.1.1", - "neo-async": "^2.5.0", - "pify": "^3.0.0" - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "schema-utils": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", - "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", - "dev": true, - "requires": { - "ajv": "^5.0.0" - } - }, - "scss-tokenizer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", - "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", - "dev": true, - "requires": { - "js-base64": "^2.1.8", - "source-map": "^0.4.2" - }, - "dependencies": { - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "requires": { - "amdefine": ">=0.0.4" - } - } - } - }, - "seek-bzip": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", - "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", - "dev": true, - "requires": { - "commander": "~2.8.1" - }, - "dependencies": { - "commander": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", - "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", - "dev": true, - "requires": { - "graceful-readlink": ">= 1.0.0" - } - } - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true - }, - "selfsigned": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.4.tgz", - "integrity": "sha512-9AukTiDmHXGXWtWjembZ5NDmVvP2695EtpgbCsxCa68w3c88B+alqbmZ4O3hZ4VWGXeGWzEVdvqgAJD8DQPCDw==", - "dev": true, - "requires": { - "node-forge": "0.7.5" - } - }, - "semver": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", - "dev": true - }, - "semver-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz", - "integrity": "sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk=", - "dev": true - }, - "semver-truncate": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz", - "integrity": "sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=", - "dev": true, - "requires": { - "semver": "^5.3.0" - } - }, - "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "dev": true, - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - } - } - }, - "serialize-javascript": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.7.0.tgz", - "integrity": "sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA==", - "dev": true - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - } - } - }, - "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "dev": true, - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "dev": true - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", - "dev": true - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shallow-clone": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz", - "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", - "dev": true, - "requires": { - "is-extendable": "^0.1.1", - "kind-of": "^5.0.0", - "mixin-object": "^2.0.1" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "dev": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "requires": { - "kind-of": "^3.2.0" - } - }, - "sockjs": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", - "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", - "dev": true, - "requires": { - "faye-websocket": "^0.10.0", - "uuid": "^3.0.1" - } - }, - "sockjs-client": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.5.tgz", - "integrity": "sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM=", - "dev": true, - "requires": { - "debug": "^2.6.6", - "eventsource": "0.1.6", - "faye-websocket": "~0.11.0", - "inherits": "^2.0.1", - "json3": "^3.3.2", - "url-parse": "^1.1.8" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "dev": true, - "requires": { - "is-plain-obj": "^1.0.0" - } - }, - "sort-keys-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", - "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=", - "dev": true, - "requires": { - "sort-keys": "^1.0.0" - } - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", - "dev": true, - "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "dev": true, - "requires": { - "source-map": "^0.5.6" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, - "sparkles": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", - "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", - "dev": true - }, - "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz", - "integrity": "sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA==", - "dev": true - }, - "spdy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.0.tgz", - "integrity": "sha512-ot0oEGT/PGUpzf/6uk4AWLqkq+irlqHXkrdbk51oWONh3bxQmBuljxPNl66zlRRcIJStWq0QkLUCPOPjgjvU0Q==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "readable-stream": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", - "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "squeak": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/squeak/-/squeak-1.3.0.tgz", - "integrity": "sha1-MwRQN7ZDiLVnZ0uEMiplIQc5FsM=", - "dev": true, - "requires": { - "chalk": "^1.0.0", - "console-stream": "^0.1.1", - "lpad-align": "^1.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "ssri": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", - "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.1" - } - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "dev": true - }, - "stackframe": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.0.4.tgz", - "integrity": "sha512-to7oADIniaYwS3MhtCa/sQhrxidCCQiF/qp4/m5iN3ipf0Y7Xlri0f6eG29r08aL7JYl8n32AF3Q5GYBZ7K8vw==", - "dev": true - }, - "stat-mode": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz", - "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=", - "dev": true - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true - }, - "stdout-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", - "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", - "dev": true, - "requires": { - "readable-stream": "^2.0.1" - } - }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "stream-combiner2": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", - "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", - "dev": true, - "requires": { - "duplexer2": "~0.1.0", - "readable-stream": "^2.0.2" - } - }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dev": true, - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "stream-shift": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", - "dev": true - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - }, - "strip-bom-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz", - "integrity": "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=", - "dev": true, - "requires": { - "first-chunk-stream": "^1.0.0", - "strip-bom": "^2.0.0" - } - }, - "strip-dirs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-1.1.1.tgz", - "integrity": "sha1-lgu9EoeETzl1pFWKoQOoJV4kVqA=", - "dev": true, - "requires": { - "chalk": "^1.0.0", - "get-stdin": "^4.0.1", - "is-absolute": "^0.1.5", - "is-natural-number": "^2.0.0", - "minimist": "^1.1.0", - "sum-up": "^1.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true, - "requires": { - "get-stdin": "^4.0.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - }, - "strip-outer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", - "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.2" - } - }, - "style-loader": { - "version": "0.18.2", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.18.2.tgz", - "integrity": "sha512-WPpJPZGUxWYHWIUMNNOYqql7zh85zGmr84FdTVWq52WTIkqlW9xSxD3QYWi/T31cqn9UNSsietVEgGn2aaSCzw==", - "dev": true, - "requires": { - "loader-utils": "^1.0.2", - "schema-utils": "^0.3.0" - } - }, - "sum-up": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sum-up/-/sum-up-1.0.3.tgz", - "integrity": "sha1-HGYfZnBX9jvLeHWqFDi8FiUlFW4=", - "dev": true, - "requires": { - "chalk": "^1.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "svgo": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", - "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", - "dev": true, - "requires": { - "coa": "~1.0.1", - "colors": "~1.1.2", - "csso": "~2.3.1", - "js-yaml": "~3.7.0", - "mkdirp": "~0.5.1", - "sax": "~1.2.1", - "whet.extend": "~0.9.9" - } - }, - "tapable": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.9.tgz", - "integrity": "sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A==", - "dev": true - }, - "tar": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", - "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", - "dev": true, - "requires": { - "block-stream": "*", - "fstream": "^1.0.12", - "inherits": "2" - } - }, - "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "dev": true, - "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - } - }, - "temp-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", - "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=", - "dev": true - }, - "tempfile": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz", - "integrity": "sha1-awRGhWqbERTRhW/8vlCczLCXcmU=", - "dev": true, - "requires": { - "temp-dir": "^1.0.0", - "uuid": "^3.0.1" - } - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, - "requires": { - "readable-stream": ">=1.0.33-1 <1.1.0-0", - "xtend": ">=4.0.0 <4.1.0-0" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } - } - }, - "through2-filter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz", - "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=", - "dev": true, - "requires": { - "through2": "~2.0.0", - "xtend": "~4.0.0" - }, - "dependencies": { - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - } - } - }, - "thunky": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz", - "integrity": "sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow==", - "dev": true - }, - "time-stamp": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", - "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", - "dev": true - }, - "timed-out": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-3.1.3.tgz", - "integrity": "sha1-lYYL/MXHbCd/j4Mm/Q9bLiDrohc=", - "dev": true - }, - "timers-browserify": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", - "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", - "dev": true, - "requires": { - "setimmediate": "^1.0.4" - } - }, - "to-absolute-glob": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz", - "integrity": "sha1-HN+kcqnvUMI57maZm2YsoOs5k38=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, - "to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", - "dev": true - }, - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - } - } - }, - "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", - "dev": true - }, - "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", - "dev": true, - "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } - } - }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true - }, - "trim-repeated": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.2" - } - }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true - }, - "true-case-path": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", - "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", - "dev": true, - "requires": { - "glob": "^7.1.2" - } - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true - }, - "tunnel-agent": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", - "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", - "dev": true - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, - "type": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/type/-/type-1.0.1.tgz", - "integrity": "sha512-MAM5dBMJCJNKs9E7JXo4CXRAansRfG0nlJxW7Wf6GZzSOvH31zClSaHdIMWLehe/EGMBkqeC55rrkaOr5Oo7Nw==", - "dev": true - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "dev": true, - "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" - }, - "dependencies": { - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true - }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "dev": true, - "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", - "wordwrap": "0.0.2" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", - "window-size": "0.1.0" - } - } - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "dev": true, - "optional": true - }, - "uglifyjs-webpack-plugin": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz", - "integrity": "sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==", - "dev": true, - "requires": { - "cacache": "^10.0.4", - "find-cache-dir": "^1.0.0", - "schema-utils": "^0.4.5", - "serialize-javascript": "^1.4.0", - "source-map": "^0.6.1", - "uglify-es": "^3.3.4", - "webpack-sources": "^1.1.0", - "worker-farm": "^1.5.2" - }, - "dependencies": { - "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "commander": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", - "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", - "dev": true - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "schema-utils": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", - "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" - } - }, - "uglify-es": { - "version": "3.3.9", - "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", - "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", - "dev": true, - "requires": { - "commander": "~2.13.0", - "source-map": "~0.6.1" - } - } - } - }, - "unbzip2-stream": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz", - "integrity": "sha512-fUlAF7U9Ah1Q6EieQ4x4zLNejrRvDWUYmxXUpN3uziFYCHapjWFaCAnreY9bGgxzaMCFAPPpYNng57CypwJVhg==", - "dev": true, - "requires": { - "buffer": "^5.2.1", - "through": "^2.3.8" - } - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true - }, - "uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", - "dev": true - }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "unique-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", - "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==", - "dev": true, - "requires": { - "json-stable-stringify-without-jsonify": "^1.0.1", - "through2-filter": "^3.0.0" - }, - "dependencies": { - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "through2-filter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", - "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==", - "dev": true, - "requires": { - "through2": "~2.0.0", - "xtend": "~4.0.0" - } - } - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true - }, - "unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", - "dev": true - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "unzip-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz", - "integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4=", - "dev": true - }, - "upath": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz", - "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==", - "dev": true - }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", - "dev": true - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } - } - }, - "url-parse": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", - "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", - "dev": true, - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "dev": true, - "requires": { - "prepend-http": "^1.0.1" - } - }, - "url-regex": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/url-regex/-/url-regex-3.2.0.tgz", - "integrity": "sha1-260eDJ4p4QXdCx8J9oYvf9tIJyQ=", - "dev": true, - "requires": { - "ip-regex": "^1.0.1" - } - }, - "url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", - "dev": true - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" - } - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "dev": true - }, - "vali-date": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz", - "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true - }, - "vendors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.3.tgz", - "integrity": "sha512-fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw==", - "dev": true - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "vinyl": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", - "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", - "dev": true, - "requires": { - "clone": "^1.0.0", - "clone-stats": "^0.0.1", - "replace-ext": "0.0.1" - }, - "dependencies": { - "replace-ext": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", - "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", - "dev": true - } - } - }, - "vinyl-assign": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/vinyl-assign/-/vinyl-assign-1.2.1.tgz", - "integrity": "sha1-TRmIkbVRWRHXcajNnFSApGoHSkU=", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "readable-stream": "^2.0.0" - } - }, - "vinyl-fs": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz", - "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=", - "dev": true, - "requires": { - "duplexify": "^3.2.0", - "glob-stream": "^5.3.2", - "graceful-fs": "^4.0.0", - "gulp-sourcemaps": "1.6.0", - "is-valid-glob": "^0.3.0", - "lazystream": "^1.0.0", - "lodash.isequal": "^4.0.0", - "merge-stream": "^1.0.0", - "mkdirp": "^0.5.0", - "object-assign": "^4.0.0", - "readable-stream": "^2.0.4", - "strip-bom": "^2.0.0", - "strip-bom-stream": "^1.0.0", - "through2": "^2.0.0", - "through2-filter": "^2.0.0", - "vali-date": "^1.0.0", - "vinyl": "^1.0.0" - }, - "dependencies": { - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - } - } - }, - "vm-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz", - "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==", - "dev": true - }, - "vue": { - "version": "2.6.10", - "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.10.tgz", - "integrity": "sha512-ImThpeNU9HbdZL3utgMCq0oiMzAkt1mcgy3/E6zWC/G6AaQoeuFdsl9nDhTDU3X1R6FK7nsIUuRACVcjI+A2GQ==", - "dev": true - }, - "vue-hot-reload-api": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.3.tgz", - "integrity": "sha512-KmvZVtmM26BQOMK1rwUZsrqxEGeKiYSZGA7SNWE6uExx8UX/cj9hq2MRV/wWC3Cq6AoeDGk57rL9YMFRel/q+g==", - "dev": true - }, - "vue-loader": { - "version": "13.7.3", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-13.7.3.tgz", - "integrity": "sha512-ACCwbfeC6HjY2pnDii+Zer+MZ6sdOtwvLmDXRK/BoD3WNR551V22R6KEagwHoTRJ0ZlIhpCBkptpCU6+Ri/05w==", - "dev": true, - "requires": { - "consolidate": "^0.14.0", - "hash-sum": "^1.0.2", - "loader-utils": "^1.1.0", - "lru-cache": "^4.1.1", - "postcss": "^6.0.8", - "postcss-load-config": "^1.1.0", - "postcss-selector-parser": "^2.0.0", - "prettier": "^1.7.0", - "resolve": "^1.4.0", - "source-map": "^0.6.1", - "vue-hot-reload-api": "^2.2.0", - "vue-style-loader": "^3.0.0", - "vue-template-es2015-compiler": "^1.6.0" - }, - "dependencies": { - "cosmiconfig": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz", - "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==", - "dev": true, - "requires": { - "is-directory": "^0.3.1", - "js-yaml": "^3.4.3", - "minimist": "^1.2.0", - "object-assign": "^4.1.0", - "os-homedir": "^1.0.1", - "parse-json": "^2.2.0", - "require-from-string": "^1.1.0" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "postcss-load-config": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz", - "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=", - "dev": true, - "requires": { - "cosmiconfig": "^2.1.0", - "object-assign": "^4.1.0", - "postcss-load-options": "^1.2.0", - "postcss-load-plugins": "^2.3.0" - } - } - } - }, - "vue-style-loader": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-3.1.2.tgz", - "integrity": "sha512-ICtVdK/p+qXWpdSs2alWtsXt9YnDoYjQe0w5616j9+/EhjoxZkbun34uWgsMFnC1MhrMMwaWiImz3K2jK1Yp2Q==", - "dev": true, - "requires": { - "hash-sum": "^1.0.2", - "loader-utils": "^1.0.2" - } - }, - "vue-template-compiler": { - "version": "2.6.10", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.10.tgz", - "integrity": "sha512-jVZkw4/I/HT5ZMvRnhv78okGusqe0+qH2A0Em0Cp8aq78+NK9TII263CDVz2QXZsIT+yyV/gZc/j/vlwa+Epyg==", - "dev": true, - "requires": { - "de-indent": "^1.0.2", - "he": "^1.1.0" - } - }, - "vue-template-es2015-compiler": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", - "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", - "dev": true - }, - "ware": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ware/-/ware-1.3.0.tgz", - "integrity": "sha1-0bFPOdLiy0q4xAmPdW/ksWTkc9Q=", - "dev": true, - "requires": { - "wrap-fn": "^0.1.0" - } - }, - "watchpack": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", - "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", - "dev": true, - "requires": { - "chokidar": "^2.0.2", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "chokidar": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.6.tgz", - "integrity": "sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - } - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dev": true, - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "webpack": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.12.0.tgz", - "integrity": "sha512-Sw7MdIIOv/nkzPzee4o0EdvCuPmxT98+vVpIvwtcwcF1Q4SDSNp92vwcKc4REe7NItH9f1S4ra9FuQ7yuYZ8bQ==", - "dev": true, - "requires": { - "acorn": "^5.0.0", - "acorn-dynamic-import": "^2.0.0", - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0", - "async": "^2.1.2", - "enhanced-resolve": "^3.4.0", - "escope": "^3.6.0", - "interpret": "^1.0.0", - "json-loader": "^0.5.4", - "json5": "^0.5.1", - "loader-runner": "^2.3.0", - "loader-utils": "^1.1.0", - "memory-fs": "~0.4.1", - "mkdirp": "~0.5.0", - "node-libs-browser": "^2.0.0", - "source-map": "^0.5.3", - "supports-color": "^4.2.1", - "tapable": "^0.2.7", - "uglifyjs-webpack-plugin": "^0.4.6", - "watchpack": "^1.4.0", - "webpack-sources": "^1.0.1", - "yargs": "^8.0.2" - }, - "dependencies": { - "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", - "dev": true, - "requires": { - "has-flag": "^2.0.0" - } - }, - "uglifyjs-webpack-plugin": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", - "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", - "dev": true, - "requires": { - "source-map": "^0.5.6", - "uglify-js": "^2.8.29", - "webpack-sources": "^1.0.1" - } - } - } - }, - "webpack-chunk-hash": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/webpack-chunk-hash/-/webpack-chunk-hash-0.4.0.tgz", - "integrity": "sha1-a0DDBw+8n/DP4P54HHF0r2x8FqQ=", - "dev": true - }, - "webpack-dev-middleware": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz", - "integrity": "sha512-FCrqPy1yy/sN6U/SaEZcHKRXGlqU0DUaEBL45jkUYoB8foVb6wCnbIJ1HKIx+qUFTW+3JpVcCJCxZ8VATL4e+A==", - "dev": true, - "requires": { - "memory-fs": "~0.4.1", - "mime": "^1.5.0", - "path-is-absolute": "^1.0.0", - "range-parser": "^1.0.3", - "time-stamp": "^2.0.0" - }, - "dependencies": { - "time-stamp": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-2.2.0.tgz", - "integrity": "sha512-zxke8goJQpBeEgD82CXABeMh0LSJcj7CXEd0OHOg45HgcofF7pxNwZm9+RknpxpDhwN4gFpySkApKfFYfRQnUA==", - "dev": true - } - } - }, - "webpack-dev-server": { - "version": "2.11.5", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.11.5.tgz", - "integrity": "sha512-7TdOKKt7G3sWEhPKV0zP+nD0c4V9YKUJ3wDdBwQsZNo58oZIRoVIu66pg7PYkBW8A74msP9C2kLwmxGHndz/pw==", - "dev": true, - "requires": { - "ansi-html": "0.0.7", - "array-includes": "^3.0.3", - "bonjour": "^3.5.0", - "chokidar": "^2.1.2", - "compression": "^1.7.3", - "connect-history-api-fallback": "^1.3.0", - "debug": "^3.1.0", - "del": "^3.0.0", - "express": "^4.16.2", - "html-entities": "^1.2.0", - "http-proxy-middleware": "^0.19.1", - "import-local": "^1.0.0", - "internal-ip": "1.2.0", - "ip": "^1.1.5", - "killable": "^1.0.0", - "loglevel": "^1.4.1", - "opn": "^5.1.0", - "portfinder": "^1.0.9", - "selfsigned": "^1.9.1", - "serve-index": "^1.9.1", - "sockjs": "0.3.19", - "sockjs-client": "1.1.5", - "spdy": "^4.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^5.1.0", - "webpack-dev-middleware": "1.12.2", - "yargs": "6.6.0" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - }, - "chokidar": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.6.tgz", - "integrity": "sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "yargs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", - "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", - "dev": true, - "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^4.2.0" - } - }, - "yargs-parser": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", - "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", - "dev": true, - "requires": { - "camelcase": "^3.0.0" - } - } - } - }, - "webpack-merge": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.1.tgz", - "integrity": "sha512-4p8WQyS98bUJcCvFMbdGZyZmsKuWjWVnVHnAS3FFg0HDaRVrPbkivx2RYCre8UiemD67RsiFFLfn4JhLAin8Vw==", - "dev": true, - "requires": { - "lodash": "^4.17.5" - } - }, - "webpack-notifier": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/webpack-notifier/-/webpack-notifier-1.8.0.tgz", - "integrity": "sha512-I6t76NoPe5DZCCm5geELmDV2wlJ89LbU425uN6T2FG8Ywrrt1ZcUMz6g8yWGNg4pttqTPFQJYUPjWAlzUEQ+cQ==", - "dev": true, - "requires": { - "node-notifier": "^5.1.2", - "object-assign": "^4.1.0", - "strip-ansi": "^3.0.1" - } - }, - "webpack-sources": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz", - "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "websocket-driver": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", - "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", - "dev": true, - "requires": { - "http-parser-js": ">=0.4.0 <0.4.11", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", - "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", - "dev": true - }, - "whet.extend": { - "version": "0.9.9", - "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", - "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true - }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", - "dev": true - }, - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "dev": true - }, - "worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "dev": true, - "requires": { - "errno": "~0.1.7" - } - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, - "wrap-fn": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/wrap-fn/-/wrap-fn-0.1.5.tgz", - "integrity": "sha1-8htuQQFv9KfjFyDbxjoJAWvfmEU=", - "dev": true, - "requires": { - "co": "3.1.0" - }, - "dependencies": { - "co": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/co/-/co-3.1.0.tgz", - "integrity": "sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g=", - "dev": true - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", - "dev": true - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, - "yargs": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", - "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", - "dev": true, - "requires": { - "camelcase": "^4.1.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "read-pkg-up": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^7.0.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - } - }, - "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "dev": true, - "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" - } - }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "yargs-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", - "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", - "dev": true, - "requires": { - "camelcase": "^4.1.0" - } - } - } - }, - "yargs-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", - "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", - "dev": true, - "requires": { - "camelcase": "^3.0.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - } - } - }, - "yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", - "dev": true, - "requires": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - } - } -} diff --git a/package.json b/package.json deleted file mode 100644 index 662bba5a8..000000000 --- a/package.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "private": true, - "scripts": { - "dev": "npm run development", - "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", - "watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", - "watch-poll": "npm run watch -- --watch-poll", - "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js", - "prod": "npm run production", - "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" - }, - "devDependencies": { - "axios": "^0.21", - "bootstrap-sass": "^3.3.7", - "cross-env": "^5.1", - "jquery": "^3.2", - "laravel-mix": "^1.0", - "lodash": "^4.17.4", - "vue": "^2.5.7" - }, - "dependencies": { - "blueimp-file-upload": "^9.22.0", - "bootstrap": "^3.3.7", - "bootswatch": "^3.3.7" - } -} diff --git a/phpunit.dusk.xml b/phpunit.dusk.xml deleted file mode 100755 index 60392c932..000000000 --- a/phpunit.dusk.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - ./tests/Browser - - - - - ./app - - - diff --git a/phpunit.xml b/phpunit.xml deleted file mode 100755 index 72f03e5c8..000000000 --- a/phpunit.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - ./tests/Feature - - - - ./tests/Unit - - - - - ./app - - - - - - - - - - - - diff --git a/public/.htaccess b/public/.htaccess deleted file mode 100755 index fca2d6ee5..000000000 --- a/public/.htaccess +++ /dev/null @@ -1,23 +0,0 @@ - - - Options -MultiViews -Indexes - - - Options +FollowSymLinks - - RewriteEngine On - - # Handle Authorization Header - RewriteCond %{HTTP:Authorization} . - RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] - - # Redirect Trailing Slashes If Not A Folder... - RewriteCond %{REQUEST_FILENAME} !-d - RewriteCond %{REQUEST_URI} (.+)/$ - RewriteRule ^ %1 [L,R=301] - - # Handle Front Controller... - RewriteCond %{REQUEST_FILENAME} !-d - RewriteCond %{REQUEST_FILENAME} !-f - RewriteRule ^ index.php [L] - diff --git a/public/01-progress.gif b/public/01-progress.gif deleted file mode 100755 index 3bc9db3629a6201caf901701fe3bcd6d6eb2dbf2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 193623 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�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
BNcp$ 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 diff --git a/public/appname.svg b/public/appname.svg deleted file mode 100755 index f5c97e302..000000000 --- a/public/appname.svg +++ /dev/null @@ -1,87 +0,0 @@ - - - - -
- -
-

UnifiedTransform

-

Makes managing schools an amazing experience

-
-
-
-
\ No newline at end of file diff --git a/public/css/app.css b/public/css/app.css deleted file mode 100755 index d173655ec..000000000 --- a/public/css/app.css +++ /dev/null @@ -1,8 +0,0 @@ -@import url(https://fonts.googleapis.com/css?family=Raleway:300,400,600);/*! - * 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 */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;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{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}textarea{overflow:auto}optgroup{font-weight:700}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{*,:after,:before{background:transparent!important;color:#000!important;-webkit-box-shadow:none!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;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:Glyphicons Halflings;src:url(/fonts/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:"*"}.glyphicon-plus:before{content:"+"}.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:"\A5"}.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{-webkit-box-sizing:border-box;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;background-color:#f5f8fa}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:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.6;background-color:#f5f8fa;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:22px;margin-bottom:22px;border:0;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}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{background-color:#fcf8e3;padding:.2em}.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}.page-header{padding-bottom:10px;margin:44px 0 22px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:11px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:22px}dd,dt{line-height:1.6}dt{font-weight:700}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}}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 ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.6;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:"\2014 \A0"}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.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:"\A0 \2014"}address{margin-bottom:22px;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}code,kbd{padding:2px 4px;font-size:90%}kbd{color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:10.5px;margin:0 0 11px;font-size:13px;line-height:1.6;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.container:after,.container:before{content:" ";display:table}.container:after{clear:both}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.container-fluid:after,.container-fluid:before{content:" ";display:table}.container-fluid:after{clear:both}.row{margin-left:-15px;margin-right:-15px}.row:after,.row:before{content:" ";display:table}.row:after{clear:both}.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-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-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-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.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-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{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-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{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-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{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%}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777}caption,th{text-align:left}.table{width:100%;max-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{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>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{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{margin:0;min-width:0}fieldset,legend{padding:0;border:0}legend{display:block;width:100%;margin-bottom:22px;font-size:21px;line-height:inherit;color:#333;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{padding-top:7px}.form-control,output{display:block;font-size:14px;line-height:1.6;color:#555}.form-control{width:100%;height:36px;padding:6px 12px;background-color:#fff;background-image:none;border:1px solid #ccd0d2;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}.form-control:focus{border-color:#98cbe8;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(152,203,232,.6);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}.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}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{line-height:36px}.input-group-sm>.input-group-btn>input[type=date].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-group-btn>input[type=time].btn,.input-group-sm>input[type=date].form-control,.input-group-sm>input[type=date].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-group-sm>input[type=time].form-control,.input-group-sm>input[type=time].input-group-addon,.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}.input-group-lg>.input-group-btn>input[type=date].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-group-btn>input[type=time].btn,.input-group-lg>input[type=date].form-control,.input-group-lg>input[type=date].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-group-lg>input[type=time].form-control,.input-group-lg>input[type=time].input-group-addon,.input-group-lg input[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].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-inline input[type=checkbox],.checkbox input[type=checkbox],.radio-inline input[type=radio],.radio 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-inline,fieldset[disabled] .checkbox label,fieldset[disabled] .radio-inline,fieldset[disabled] .radio label,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}.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 .checkbox,.has-success .checkbox-inline,.has-success.checkbox-inline label,.has-success.checkbox label,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.radio-inline label,.has-success.radio label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning.checkbox-inline label,.has-warning.checkbox label,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.radio-inline label,.has-warning.radio label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error.checkbox-inline label,.has-error.checkbox label,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.radio-inline label,.has-error.radio label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-error .form-control-feedback{color:#a94442}.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-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{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 .form-group:after{clear:both}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;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:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#636b6f;text-decoration:none}.btn.active,.btn:active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;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.active,.btn-default:active,.open>.btn-default.dropdown-toggle{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#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.active,.btn-primary:active,.open>.btn-primary.dropdown-toggle{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#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.active,.btn-info:active,.open>.btn-info.dropdown-toggle{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#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.active,.btn-warning:active,.open>.btn-warning.dropdown-toggle{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#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.active,.btn-danger:active,.open>.btn-danger.dropdown-toggle{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#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;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#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;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;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,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;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;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:10px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.6;color:#333;white-space:nowrap}.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;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.6;color:#777;white-space:nowrap}.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:after{clear:both}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.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>.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-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius: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{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-group-lg>.btn .caret,.btn-lg .caret{border-width:5px 5px 0;border-bottom-width: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:after{clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-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-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio],[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-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-addon,.input-group-btn,.input-group .form-control{display:table-cell}.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{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-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),.input-group .form-control:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.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,.input-group .form-control:last-child{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,.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav:after,.nav:before{content:" ";display:table}.nav:after{clear:both}.nav>li,.nav>li>a{position:relative;display:block}.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-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{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified,.nav-tabs.nav-justified{width:100%}.nav-justified>li,.nav-tabs.nav-justified>li{float:none}.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}@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,.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-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:after{clear:both}@media (min-width:768px){.navbar{border-radius:4px}}.navbar-header:after,.navbar-header:before{content:" ";display:table}.navbar-header:after{clear:both}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1);-webkit-overflow-scrolling:touch}.navbar-collapse:after,.navbar-collapse:before{content:" ";display:table}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;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){.navbar>.container-fluid .navbar-brand,.navbar>.container .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;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin: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;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:22px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:14px;padding-bottom:14px}}.navbar-form{margin:7px -15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 1px 0 hsla(0,0%,100%,.1);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 1px 0 hsla(0,0%,100%,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.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-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius: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}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#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{display:inline-block}.breadcrumb>li+li:before{content:"/\A0";padding:0 5px;color:#ccc}.breadcrumb>.active{color:#777}.pagination{display:inline-block;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}.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:after{clear:both}.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%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label:empty{display:none}.btn .label{position:relative;top:-1px}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;font-weight:700;color:#fff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}.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{padding-top:30px;padding-bottom:30px;margin-bottom:30px;background-color:#eee}.jumbotron,.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container-fluid .jumbotron,.container .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-fluid .jumbotron,.container .jumbotron{padding-left:60px;padding-right:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:22px;line-height:1.6;background-color:#f5f8fa;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>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;margin-bottom:22px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{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{0%{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:22px;margin-bottom:22px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#3097d1;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);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-striped .progress-bar-success{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-info{background-color:#8eb4cb}.progress-striped .progress-bar-info{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-warning{background-color:#cbb956}.progress-striped .progress-bar-warning{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-danger{background-color:#bf5329}.progress-striped .progress-bar-danger{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{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}.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;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-body:after,.panel-body:before{content:" ";display:table}.panel-body:after{clear:both}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle,.panel-title{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #d3e0e9;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-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}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table-responsive>.table caption,.panel>.table caption{padding-left:15px;padding-right:15px}.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}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table-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-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>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{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{border-bottom:0}.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;overflow:hidden}.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;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal,.modal-open{overflow:hidden}.modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translateY(-25%);transform:translateY(-25%);-webkit-transition:-webkit-transform .3s ease-out;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);transform:translate(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;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box;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;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header:after,.modal-header:before{content:" ";display:table}.modal-header:after{clear:both}.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:after,.modal-footer:before{content:" ";display:table}.modal-footer:after{clear:both}.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{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:Raleway,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.6;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;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{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px}.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{left: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{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:Raleway,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.6;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:14px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.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}.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.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{content:" ";left:1px;bottom:-10px;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{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.carousel,.carousel-inner{position:relative}.carousel-inner{overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:left .6s ease-in-out;transition:left .6s ease-in-out}.carousel-inner>.item>a>img,.carousel-inner>.item>img{display:block;max-width:100%;height:auto;line-height:1}@media (-webkit-transform-3d),(transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;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:translateZ(0);transform:translateZ(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;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:transparent}.carousel-control.left{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(90deg,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001));background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#80000000",endColorstr="#00000000",GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(90deg,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5));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;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:after,.clearfix:before{content:" ";display:table}.clearfix:after{clear:both}.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}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-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}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} diff --git a/public/css/application.css b/public/css/application.css deleted file mode 100755 index 922501657..000000000 --- a/public/css/application.css +++ /dev/null @@ -1,210 +0,0 @@ -.navbar-default .navbar-toggle .icon-bar { - background-color: #888; -} - -body { - color: #5f6368; -} - -#app { - background-color: #FFF; -} - -a { - color: #5f6368; -} - -a:hover, -a:focus { - color: #202124; -} - -.panel { - box-shadow: none; -} - -.panel-default { - border-top: 0px; - border-left: 0px; - border-right: 0px; -} - -.text-white { - color: #fff !important; -} - -.mb-3, -.my-3 { - margin-bottom: 1rem !important; -} - -.bg-primary { - background-color: #007bff !important; -} - -.bg-secondary { - background-color: #6c757d !important; -} - -.bg-success { - background-color: #28a745 !important; -} - -.bg-danger { - background-color: #dc3545 !important; -} - -.bg-warning { - background-color: #ffc107 !important; -} - -.bg-info { - background-color: #17a2b8 !important; -} - -.bg-light { - background-color: #f8f9fa !important; -} - -.bg-dark { - background-color: #343a40 !important; -} - -.card { - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -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-header:first-child { - border-radius: calc(.25rem - 1px) calc(.25rem - 1px) 0 0; -} - -.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-title { - margin-bottom: .75rem; -} - -.card-body { - -webkit-box-flex: 1; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - padding: 1.25rem; -} - -.card-text:last-child { - margin-bottom: 0; -} - -.material-icons { - vertical-align: middle; - /* new */ - font-family: 'Material Icons'; - font-weight: normal; - font-style: normal; - font-size: 20px; - line-height: 1; - letter-spacing: normal; - text-transform: none; - display: inline; - white-space: nowrap; - word-wrap: normal; - direction: ltr; - -webkit-font-feature-settings: 'liga'; - -webkit-font-smoothing: antialiased; - display: inline; -} - -.navbar { - margin-bottom: 0px; - border-bottom: 1px solid #e6e5e5; -} - -.navbar-default { - background-color: #ffffff; -} - -.navbar-default .navbar-nav>li>a, -.navbar-default .navbar-nav>li>a:hover, -.navbar-default .navbar-nav>li>a:focus, -.navbar-default .navbar-nav>li>a:active, -.navbar>.container .navbar-brand, -.navbar>.container-fluid .navbar-brand { - color: #000 !important; -} - -#side-navbar { - background-color: #fff; - padding-top: 1%; - padding-right: 0%; - font-size: 13px; - font-weight: bold; -} - -.navbar-nav .open .dropdown-menu { - background-color: #fff; -} - -.navbar-default .navbar-nav .open .dropdown-menu>li>a { - color: #000; -} - -.navbar-default .navbar-nav .open .dropdown-menu>.active>a { - color: #fff; -} - -.navbar-default .navbar-nav>.open>a, -.navbar-default .navbar-nav>.open>a:hover, -.navbar-default .navbar-nav>.open>a:focus { - color: #000; - background-color: #f9fafa; -} - -.dropdown-menu>li>a:hover, -.dropdown-menu>li>a:focus { - color: #000; - background-color: #f9fafa; -} - -.navbar-default .navbar-nav>.active>a, -.navbar-default .navbar-nav>.active>a:hover, -.navbar-default .navbar-nav>.active>a:focus { - background-color: #f9fafa; -} - -.page-panel-title { - font-size: 2rem; - padding: 1%; -} - -.pagination { - margin: 0px !important; -} - -.table th { - font-size: 12px; -} - -.nav-link-align-btn { - color: #000; - padding-top: 0px !important; - padding-bottom: 0px !important; - line-height: 60px !important; -} diff --git a/public/css/bootstrap-notifications.min.css b/public/css/bootstrap-notifications.min.css deleted file mode 100755 index 08c7da82a..000000000 --- a/public/css/bootstrap-notifications.min.css +++ /dev/null @@ -1,5 +0,0 @@ -/*! - * bootstrap-notifications v1.0.3 (https://skywalkapps.github.io/bootstrap-notifications) - * Copyright 2017 Martin Staněk - * Licensed under MIT - */.notifications{list-style:none;padding:0}.notification{display:block;padding:9.6px 12px;border-width:0 0 1px 0;border-style:solid;border-color:#eeeeee;background-color:#fff;color:#333333;text-decoration:none}.notification:last-child{border-bottom:0}.notification:hover,.notification.active:hover{background-color:#f9f9f9;border-color:#eeeeee}.notification.active{background-color:#f4f4f4}a.notification:hover{text-decoration:none}.notification-title{font-size:15px;margin-bottom:0}.notification-desc{margin-bottom:0}.notification-meta{color:#777777}.notification-icon{margin-right:6.8775px}.notification-icon:after{position:absolute;content:attr(data-count);margin-left:-6.8775px;margin-top:-6.8775px;padding:0 4px;min-width:13.755px;height:13.755px;line-height:13.755px;background:red;border-radius:10px;color:#fff;text-align:center;vertical-align:middle;font-size:11.004px;font-weight:600;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}.notification .media-body{padding-top:5.6px}.btn-lg .notification-icon:after{margin-left:-8.253px;margin-top:-8.253px;min-width:16.506px;height:16.506px;line-height:16.506px;font-size:13.755px}.btn-xs .notification-icon:after{content:'';margin-left:-4.1265px;margin-top:-2.06325px;min-width:6.25227273px;height:6.25227273px;line-height:6.25227273px;padding:0}.btn-xs .notification-icon{margin-right:3.43875px} \ No newline at end of file diff --git a/public/css/loader.css b/public/css/loader.css deleted file mode 100755 index cb3e598ec..000000000 --- a/public/css/loader.css +++ /dev/null @@ -1,16 +0,0 @@ -.loader { - position: fixed; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - z-index: 999999; - background-color: #fff; - text-align: center; -} - -.loader-gif { - width: 20%; - position: relative; - top: 30%; -} \ No newline at end of file diff --git a/public/css/vendors.css b/public/css/vendors.css deleted file mode 100755 index 981479d8d..000000000 --- a/public/css/vendors.css +++ /dev/null @@ -1,28 +0,0 @@ -/*! - * 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 */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} -/*# sourceMappingURL=bootstrap.min.css.map */ -table.dataTable{clear:both;margin-top:6px !important;margin-bottom:6px !important;max-width:none !important;border-collapse:separate !important}table.dataTable td,table.dataTable th{-webkit-box-sizing:content-box;box-sizing:content-box}table.dataTable td.dataTables_empty,table.dataTable th.dataTables_empty{text-align:center}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}div.dataTables_wrapper div.dataTables_length label{font-weight:normal;text-align:left;white-space:nowrap}div.dataTables_wrapper div.dataTables_length select{width:75px;display:inline-block}div.dataTables_wrapper div.dataTables_filter{text-align:right}div.dataTables_wrapper div.dataTables_filter label{font-weight:normal;white-space:nowrap;text-align:left}div.dataTables_wrapper div.dataTables_filter input{margin-left:0.5em;display:inline-block;width:auto}div.dataTables_wrapper div.dataTables_info{padding-top:8px;white-space:nowrap}div.dataTables_wrapper div.dataTables_paginate{margin:0;white-space:nowrap;text-align:right}div.dataTables_wrapper div.dataTables_paginate ul.pagination{margin:2px 0;white-space:nowrap}div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-26px;text-align:center;padding:1em 0}table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_desc,table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>td.sorting{padding-right:30px}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{cursor:pointer;position:relative}table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{position:absolute;bottom:8px;right:8px;display:block;font-family:'Glyphicons Halflings';opacity:0.5}table.dataTable thead .sorting:after{opacity:0.2;content:"\e150"}table.dataTable thead .sorting_asc:after{content:"\e155"}table.dataTable thead .sorting_desc:after{content:"\e156"}table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{color:#eee}div.dataTables_scrollHead table.dataTable{margin-bottom:0 !important}div.dataTables_scrollBody>table{border-top:none;margin-top:0 !important;margin-bottom:0 !important}div.dataTables_scrollBody>table>thead .sorting:after,div.dataTables_scrollBody>table>thead .sorting_asc:after,div.dataTables_scrollBody>table>thead .sorting_desc:after{display:none}div.dataTables_scrollBody>table>tbody>tr:first-child>th,div.dataTables_scrollBody>table>tbody>tr:first-child>td{border-top:none}div.dataTables_scrollFoot>.dataTables_scrollFootInner{box-sizing:content-box}div.dataTables_scrollFoot>.dataTables_scrollFootInner>table{margin-top:0 !important;border-top:none}@media screen and (max-width: 767px){div.dataTables_wrapper div.dataTables_length,div.dataTables_wrapper div.dataTables_filter,div.dataTables_wrapper div.dataTables_info,div.dataTables_wrapper div.dataTables_paginate{text-align:center}}table.dataTable.table-condensed>thead>tr>th{padding-right:20px}table.dataTable.table-condensed .sorting:after,table.dataTable.table-condensed .sorting_asc:after,table.dataTable.table-condensed .sorting_desc:after{top:6px;right:6px}table.table-bordered.dataTable th,table.table-bordered.dataTable td{border-left-width:0}table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable td:last-child,table.table-bordered.dataTable td:last-child{border-right-width:0}table.table-bordered.dataTable tbody th,table.table-bordered.dataTable tbody td{border-bottom-width:0}div.dataTables_scrollHead table.table-bordered{border-bottom-width:0}div.table-responsive>div.dataTables_wrapper>div.row{margin:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:first-child{padding-left:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:last-child{padding-right:0} - -select.form-control+.chosen-container.chosen-container-single .chosen-single{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;background-image:none}select.form-control+.chosen-container.chosen-container-single .chosen-single div{top:4px;color:#000}select.form-control+.chosen-container .chosen-drop{background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box;margin:2px 0 0}select.form-control+.chosen-container .chosen-search input[type=text]{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;background-image:none}select.form-control+.chosen-container .chosen-results{margin:2px 0 0;padding:5px 0;font-size:14px;list-style:none;background-color:#fff;margin-bottom:5px}select.form-control+.chosen-container .chosen-results li,select.form-control+.chosen-container .chosen-results li.active-result{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429;color:#333;white-space:nowrap;background-image:none}select.form-control+.chosen-container .chosen-results li.active-result:hover,select.form-control+.chosen-container .chosen-results li.highlighted,select.form-control+.chosen-container .chosen-results li:hover{color:#fff;text-decoration:none;background-color:#428bca;background-image:none}select.form-control+.chosen-container-multi .chosen-choices{display:block;width:100%;min-height:34px;padding:6px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;background-image:none}select.form-control+.chosen-container-multi .chosen-choices li.search-field input[type=text]{height:auto;padding:5px 0}select.form-control+.chosen-container-multi .chosen-choices li.search-choice{background-image:none;padding:3px 24px 3px 5px;margin:0 6px 0 0;font-size:14px;font-weight:400;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;border:1px solid #ccc;border-radius:4px;color:#333;background-color:#fff;border-color:#ccc}select.form-control+.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{top:8px;right:6px;cursor:pointer}select.form-control+.chosen-container .chosen-search input[type=text]:focus,select.form-control+.chosen-container-multi.chosen-container-active .chosen-choices,select.form-control+.chosen-container.chosen-container-single.chosen-container-active .chosen-single{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}select.form-control+.chosen-container-multi .chosen-results li.result-selected{display:list-item;color:#ccc;cursor:default;background-color:#fff}.chosen-container-multi .chosen-choices{cursor:pointer}select.form-control.input-sm+.chosen-container.chosen-container-single .chosen-single{height:30px;padding:5px 10px;font-size:12px;line-height:30px}select.form-control.input-lg+.chosen-container.chosen-container-single .chosen-single{height:46px;padding:10px 16px;font-size:18px;line-height:46px}.input-group select.form-control+.chosen-container-multi .chosen-choices{border-radius:0;border-top-right-radius:4px;border-bottom-right-radius:4px}.input-group select.form-control+.chosen-container-single .chosen-single{border-radius:0;border-top-right-radius:4px;border-bottom-right-radius:4px}.input-group select.form-control+.chosen-container .chosen-search input[type=text]{border-radius:0;border-top-right-radius:4px;border-bottom-right-radius:4px} - -/*! - * Datepicker for Bootstrap v1.7.1 (https://github.com/uxsolutions/bootstrap-datepicker) - * - * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0) - */ - -.datepicker{padding:4px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;direction:ltr}.datepicker-inline{width:220px}.datepicker-rtl{direction:rtl}.datepicker-rtl.dropdown-menu{left:auto}.datepicker-rtl table tr td span{float:right}.datepicker-dropdown{top:0;left:0}.datepicker-dropdown:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #999;border-top:0;border-bottom-color:rgba(0,0,0,.2);position:absolute}.datepicker-dropdown:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;border-top:0;position:absolute}.datepicker-dropdown.datepicker-orient-left:before{left:6px}.datepicker-dropdown.datepicker-orient-left:after{left:7px}.datepicker-dropdown.datepicker-orient-right:before{right:6px}.datepicker-dropdown.datepicker-orient-right:after{right:7px}.datepicker-dropdown.datepicker-orient-bottom:before{top:-7px}.datepicker-dropdown.datepicker-orient-bottom:after{top:-6px}.datepicker-dropdown.datepicker-orient-top:before{bottom:-7px;border-bottom:0;border-top:7px solid #999}.datepicker-dropdown.datepicker-orient-top:after{bottom:-6px;border-bottom:0;border-top:6px solid #fff}.datepicker table{margin:0;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.datepicker td,.datepicker th{text-align:center;width:20px;height:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:none}.table-striped .datepicker table tr td,.table-striped .datepicker table tr th{background-color:transparent}.datepicker table tr td.day.focused,.datepicker table tr td.day:hover{background:#eee;cursor:pointer}.datepicker table tr td.new,.datepicker table tr td.old{color:#999}.datepicker table tr td.disabled,.datepicker table tr td.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td.highlighted{background:#d9edf7;border-radius:0}.datepicker table tr td.today,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today:hover{background-color:#fde19a;background-image:-moz-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-ms-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fdd49a),to(#fdf59a));background-image:-webkit-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-o-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:linear-gradient(to bottom,#fdd49a,#fdf59a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);border-color:#fdf59a #fdf59a #fbed50;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#000}.datepicker table tr td.today.active,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled.disabled,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled:hover.disabled,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today.disabled:hover:hover,.datepicker table tr td.today.disabled:hover[disabled],.datepicker table tr td.today.disabled[disabled],.datepicker table tr td.today:active,.datepicker table tr td.today:hover,.datepicker table tr td.today:hover.active,.datepicker table tr td.today:hover.disabled,.datepicker table tr td.today:hover:active,.datepicker table tr td.today:hover:hover,.datepicker table tr td.today:hover[disabled],.datepicker table tr td.today[disabled]{background-color:#fdf59a}.datepicker table tr td.today.active,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today:active,.datepicker table tr td.today:hover.active,.datepicker table tr td.today:hover:active{background-color:#fbf069\9}.datepicker table tr td.today:hover:hover{color:#000}.datepicker table tr td.today.active:hover{color:#fff}.datepicker table tr td.range,.datepicker table tr td.range.disabled,.datepicker table tr td.range.disabled:hover,.datepicker table tr td.range:hover{background:#eee;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.datepicker table tr td.range.today,.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today:hover{background-color:#f3d17a;background-image:-moz-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-ms-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f3c17a),to(#f3e97a));background-image:-webkit-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-o-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:linear-gradient(to bottom,#f3c17a,#f3e97a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0);border-color:#f3e97a #f3e97a #edde34;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled.disabled,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today.disabled:hover.active,.datepicker table tr td.range.today.disabled:hover.disabled,.datepicker table tr td.range.today.disabled:hover:active,.datepicker table tr td.range.today.disabled:hover:hover,.datepicker table tr td.range.today.disabled:hover[disabled],.datepicker table tr td.range.today.disabled[disabled],.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:hover,.datepicker table tr td.range.today:hover.active,.datepicker table tr td.range.today:hover.disabled,.datepicker table tr td.range.today:hover:active,.datepicker table tr td.range.today:hover:hover,.datepicker table tr td.range.today:hover[disabled],.datepicker table tr td.range.today[disabled]{background-color:#f3e97a}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:hover.active,.datepicker table tr td.range.today.disabled:hover:active,.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:hover.active,.datepicker table tr td.range.today:hover:active{background-color:#efe24b\9}.datepicker table tr td.selected,.datepicker table tr td.selected.disabled,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected:hover{background-color:#9e9e9e;background-image:-moz-linear-gradient(to bottom,#b3b3b3,grey);background-image:-ms-linear-gradient(to bottom,#b3b3b3,grey);background-image:-webkit-gradient(linear,0 0,0 100%,from(#b3b3b3),to(grey));background-image:-webkit-linear-gradient(to bottom,#b3b3b3,grey);background-image:-o-linear-gradient(to bottom,#b3b3b3,grey);background-image:linear-gradient(to bottom,#b3b3b3,grey);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0);border-color:grey grey #595959;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.selected.active,.datepicker table tr td.selected.disabled,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled.disabled,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected.disabled:hover.active,.datepicker table tr td.selected.disabled:hover.disabled,.datepicker table tr td.selected.disabled:hover:active,.datepicker table tr td.selected.disabled:hover:hover,.datepicker table tr td.selected.disabled:hover[disabled],.datepicker table tr td.selected.disabled[disabled],.datepicker table tr td.selected:active,.datepicker table tr td.selected:hover,.datepicker table tr td.selected:hover.active,.datepicker table tr td.selected:hover.disabled,.datepicker table tr td.selected:hover:active,.datepicker table tr td.selected:hover:hover,.datepicker table tr td.selected:hover[disabled],.datepicker table tr td.selected[disabled]{background-color:grey}.datepicker table tr td.selected.active,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:hover.active,.datepicker table tr td.selected.disabled:hover:active,.datepicker table tr td.selected:active,.datepicker table tr td.selected:hover.active,.datepicker table tr td.selected:hover:active{background-color:#666\9}.datepicker table tr td.active,.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active:hover{background-color:#006dcc;background-image:-moz-linear-gradient(to bottom,#08c,#04c);background-image:-ms-linear-gradient(to bottom,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(to bottom,#08c,#04c);background-image:-o-linear-gradient(to bottom,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.active.active,.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled.disabled,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled:hover.disabled,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active.disabled:hover:hover,.datepicker table tr td.active.disabled:hover[disabled],.datepicker table tr td.active.disabled[disabled],.datepicker table tr td.active:active,.datepicker table tr td.active:hover,.datepicker table tr td.active:hover.active,.datepicker table tr td.active:hover.disabled,.datepicker table tr td.active:hover:active,.datepicker table tr td.active:hover:hover,.datepicker table tr td.active:hover[disabled],.datepicker table tr td.active[disabled]{background-color:#04c}.datepicker table tr td.active.active,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active:active,.datepicker table tr td.active:hover.active,.datepicker table tr td.active:hover:active{background-color:#039\9}.datepicker table tr td span{display:block;width:23%;height:54px;line-height:54px;float:left;margin:1%;cursor:pointer;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.datepicker table tr td span.focused,.datepicker table tr td span:hover{background:#eee}.datepicker table tr td span.disabled,.datepicker table tr td span.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td span.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active:hover{background-color:#006dcc;background-image:-moz-linear-gradient(to bottom,#08c,#04c);background-image:-ms-linear-gradient(to bottom,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(to bottom,#08c,#04c);background-image:-o-linear-gradient(to bottom,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled.disabled,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover.disabled,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active.disabled:hover:hover,.datepicker table tr td span.active.disabled:hover[disabled],.datepicker table tr td span.active.disabled[disabled],.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover.disabled,.datepicker table tr td span.active:hover:active,.datepicker table tr td span.active:hover:hover,.datepicker table tr td span.active:hover[disabled],.datepicker table tr td span.active[disabled]{background-color:#04c}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover:active{background-color:#039\9}.datepicker table tr td span.new,.datepicker table tr td span.old{color:#999}.datepicker .datepicker-switch{width:145px}.datepicker .datepicker-switch,.datepicker .next,.datepicker .prev,.datepicker tfoot tr th{cursor:pointer}.datepicker .datepicker-switch:hover,.datepicker .next:hover,.datepicker .prev:hover,.datepicker tfoot tr th:hover{background:#eee}.datepicker .next.disabled,.datepicker .prev.disabled{visibility:hidden}.datepicker .cw{font-size:10px;width:12px;padding:0 2px 0 5px;vertical-align:middle}.input-append.date .add-on,.input-prepend.date .add-on{cursor:pointer}.input-append.date .add-on i,.input-prepend.date .add-on i{margin-top:3px}.input-daterange input{text-align:center}.input-daterange input:first-child{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-daterange input:last-child{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-daterange .add-on{display:inline-block;width:auto;min-width:16px;height:18px;padding:4px 5px;font-weight:400;line-height:18px;text-align:center;text-shadow:0 1px 0 #fff;vertical-align:middle;background-color:#eee;border:1px solid #ccc;margin-left:-5px;margin-right:-5px} -@import url("https://fonts.googleapis.com/css?family=Lato:400,700,400italic");/*! - * bootswatch v3.3.7 - * Homepage: http://bootswatch.com - * Copyright 2012-2016 Thomas Park - * Licensed under MIT - * Based on Bootstrap -*//*! - * 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 */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;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{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}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{*,*:before,*:after{background:transparent !important;color:#000 !important;-webkit-box-shadow:none !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:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{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 th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Lato","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:15px;line-height:1.42857143;color:#2c3e50;background-color:#ffffff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#18bc9c;text-decoration:none}a:hover,a:focus{color:#18bc9c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#ffffff;border:1px solid #ecf0f1;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:21px;margin-bottom:21px;border:0;border-top:1px solid #ecf0f1}.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:"Lato","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#b4bcc2}h1,.h1,h2,.h2,h3,.h3{margin-top:21px;margin-bottom:10.5px}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,.h4,h5,.h5,h6,.h6{margin-top:10.5px;margin-bottom:10.5px}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:39px}h2,.h2{font-size:32px}h3,.h3{font-size:26px}h4,.h4{font-size:19px}h5,.h5{font-size:15px}h6,.h6{font-size:13px}p{margin:0 0 10.5px}.lead{margin-bottom:21px;font-size:17px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:22.5px}}small,.small{font-size:86%}mark,.mark{background-color:#f39c12;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#b4bcc2}.text-primary{color:#2c3e50}a.text-primary:hover,a.text-primary:focus{color:#1a242f}.text-success{color:#ffffff}a.text-success:hover,a.text-success:focus{color:#e6e6e6}.text-info{color:#ffffff}a.text-info:hover,a.text-info:focus{color:#e6e6e6}.text-warning{color:#ffffff}a.text-warning:hover,a.text-warning:focus{color:#e6e6e6}.text-danger{color:#ffffff}a.text-danger:hover,a.text-danger:focus{color:#e6e6e6}.bg-primary{color:#fff;background-color:#2c3e50}a.bg-primary:hover,a.bg-primary:focus{background-color:#1a242f}.bg-success{background-color:#18bc9c}a.bg-success:hover,a.bg-success:focus{background-color:#128f76}.bg-info{background-color:#3498db}a.bg-info:hover,a.bg-info:focus{background-color:#217dbb}.bg-warning{background-color:#f39c12}a.bg-warning:hover,a.bg-warning:focus{background-color:#c87f0a}.bg-danger{background-color:#e74c3c}a.bg-danger:hover,a.bg-danger:focus{background-color:#d62c1a}.page-header{padding-bottom:9.5px;margin:42px 0 21px;border-bottom:1px solid transparent}ul,ol{margin-top:0;margin-bottom:10.5px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:21px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@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}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #b4bcc2}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10.5px 21px;margin:0 0 21px;font-size:18.75px;border-left:5px solid #ecf0f1}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#b4bcc2}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #ecf0f1;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:21px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#ffffff;background-color:#333333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:10px;margin:0 0 10.5px;font-size:14px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#7b8a8b;background-color:#ecf0f1;border:1px solid #cccccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0%}@media (min-width:768px){.col-sm-1,.col-sm-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{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0%}}@media (min-width:992px){.col-md-1,.col-md-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{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0%}}@media (min-width:1200px){.col-lg-1,.col-lg-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{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0%}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#b4bcc2;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:21px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ecf0f1}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ecf0f1}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ecf0f1}.table .table{background-color:#ffffff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ecf0f1}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ecf0f1}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#ecf0f1}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>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#ecf0f1}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#dde4e6}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#18bc9c}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#15a589}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#3498db}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#258cd1}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#f39c12}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#e08e0b}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#e74c3c}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#e43725}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15.75px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ecf0f1}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:21px;font-size:22.5px;line-height:inherit;color:#2c3e50;border:0;border-bottom:1px solid transparent}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:11px;font-size:15px;line-height:1.42857143;color:#2c3e50}.form-control{display:block;width:100%;height:45px;padding:10px 15px;font-size:15px;line-height:1.42857143;color:#2c3e50;background-color:#ffffff;background-image:none;border:1px solid #dce4ec;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#2c3e50;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(44,62,80,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(44,62,80,0.6)}.form-control::-moz-placeholder{color:#acb6c0;opacity:1}.form-control:-ms-input-placeholder{color:#acb6c0}.form-control::-webkit-input-placeholder{color:#acb6c0}.form-control::-ms-expand{border:0;background-color:transparent}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#ecf0f1;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:45px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.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"]{line-height:35px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.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"]{line-height:66px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:21px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:11px;padding-bottom:11px;margin-bottom:0;min-height:36px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:35px;padding:6px 9px;font-size:13px;line-height:1.5;border-radius:3px}select.input-sm{height:35px;line-height:35px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:35px;padding:6px 9px;font-size:13px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:35px;line-height:35px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:35px;min-height:34px;padding:7px 9px;font-size:13px;line-height:1.5}.input-lg{height:66px;padding:18px 27px;font-size:19px;line-height:1.3333333;border-radius:6px}select.input-lg{height:66px;line-height:66px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:66px;padding:18px 27px;font-size:19px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:66px;line-height:66px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:66px;min-height:40px;padding:19px 27px;font-size:19px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:56.25px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:45px;height:45px;line-height:45px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:66px;height:66px;line-height:66px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:35px;height:35px;line-height:35px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#ffffff}.has-success .form-control{border-color:#ffffff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.has-success .input-group-addon{color:#ffffff;border-color:#ffffff;background-color:#18bc9c}.has-success .form-control-feedback{color:#ffffff}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#ffffff}.has-warning .form-control{border-color:#ffffff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.has-warning .input-group-addon{color:#ffffff;border-color:#ffffff;background-color:#f39c12}.has-warning .form-control-feedback{color:#ffffff}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#ffffff}.has-error .form-control{border-color:#ffffff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.has-error .input-group-addon{color:#ffffff;border-color:#ffffff;background-color:#e74c3c}.has-error .form-control-feedback{color:#ffffff}.has-feedback label~.form-control-feedback{top:26px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#597ea2}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:11px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:32px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:11px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:19px;font-size:19px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:7px;font-size:13px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:10px 15px;font-size:15px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#ffffff;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#ffffff;background-color:#95a5a6;border-color:#95a5a6}.btn-default:focus,.btn-default.focus{color:#ffffff;background-color:#798d8f;border-color:#566566}.btn-default:hover{color:#ffffff;background-color:#798d8f;border-color:#74898a}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#ffffff;background-color:#798d8f;border-color:#74898a}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#ffffff;background-color:#687b7c;border-color:#566566}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus{background-color:#95a5a6;border-color:#95a5a6}.btn-default .badge{color:#95a5a6;background-color:#ffffff}.btn-primary{color:#ffffff;background-color:#2c3e50;border-color:#2c3e50}.btn-primary:focus,.btn-primary.focus{color:#ffffff;background-color:#1a242f;border-color:#000000}.btn-primary:hover{color:#ffffff;background-color:#1a242f;border-color:#161f29}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#ffffff;background-color:#1a242f;border-color:#161f29}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#ffffff;background-color:#0d1318;border-color:#000000}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus{background-color:#2c3e50;border-color:#2c3e50}.btn-primary .badge{color:#2c3e50;background-color:#ffffff}.btn-success{color:#ffffff;background-color:#18bc9c;border-color:#18bc9c}.btn-success:focus,.btn-success.focus{color:#ffffff;background-color:#128f76;border-color:#0a4b3e}.btn-success:hover{color:#ffffff;background-color:#128f76;border-color:#11866f}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#ffffff;background-color:#128f76;border-color:#11866f}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#ffffff;background-color:#0e6f5c;border-color:#0a4b3e}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus{background-color:#18bc9c;border-color:#18bc9c}.btn-success .badge{color:#18bc9c;background-color:#ffffff}.btn-info{color:#ffffff;background-color:#3498db;border-color:#3498db}.btn-info:focus,.btn-info.focus{color:#ffffff;background-color:#217dbb;border-color:#16527a}.btn-info:hover{color:#ffffff;background-color:#217dbb;border-color:#2077b2}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#ffffff;background-color:#217dbb;border-color:#2077b2}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#ffffff;background-color:#1c699d;border-color:#16527a}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus{background-color:#3498db;border-color:#3498db}.btn-info .badge{color:#3498db;background-color:#ffffff}.btn-warning{color:#ffffff;background-color:#f39c12;border-color:#f39c12}.btn-warning:focus,.btn-warning.focus{color:#ffffff;background-color:#c87f0a;border-color:#7f5006}.btn-warning:hover{color:#ffffff;background-color:#c87f0a;border-color:#be780a}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#ffffff;background-color:#c87f0a;border-color:#be780a}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#ffffff;background-color:#a66908;border-color:#7f5006}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus{background-color:#f39c12;border-color:#f39c12}.btn-warning .badge{color:#f39c12;background-color:#ffffff}.btn-danger{color:#ffffff;background-color:#e74c3c;border-color:#e74c3c}.btn-danger:focus,.btn-danger.focus{color:#ffffff;background-color:#d62c1a;border-color:#921e12}.btn-danger:hover{color:#ffffff;background-color:#d62c1a;border-color:#cd2a19}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#ffffff;background-color:#d62c1a;border-color:#cd2a19}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#ffffff;background-color:#b62516;border-color:#921e12}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus{background-color:#e74c3c;border-color:#e74c3c}.btn-danger .badge{color:#e74c3c;background-color:#ffffff}.btn-link{color:#18bc9c;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#18bc9c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#b4bcc2;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:18px 27px;font-size:19px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:6px 9px;font-size:13px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:13px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;-o-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:0.35s;-o-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;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}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:15px;text-align:left;background-color:#ffffff;border:1px solid #cccccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);-webkit-background-clip:padding-box;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9.5px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#7b8a8b;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#ffffff;background-color:#2c3e50}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#ffffff;text-decoration:none;outline:0;background-color:#2c3e50}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#b4bcc2}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:13px;line-height:1.42857143;color:#b4bcc2;white-space:nowrap}.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{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.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{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.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>.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-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius: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>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-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="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[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: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-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:66px;padding:18px 27px;font-size:19px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:66px;line-height:66px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:35px;padding:6px 9px;font-size:13px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:35px;line-height:35px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.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{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:10px 15px;font-size:15px;font-weight:normal;line-height:1;color:#2c3e50;text-align:center;background-color:#ecf0f1;border:1px solid #dce4ec;border-radius:4px}.input-group-addon.input-sm{padding:6px 9px;font-size:13px;border-radius:3px}.input-group-addon.input-lg{padding:18px 27px;font-size:19px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{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:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{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:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{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>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#ecf0f1}.nav>li.disabled>a{color:#b4bcc2}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#b4bcc2;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#ecf0f1;border-color:#18bc9c}.nav .nav-divider{height:1px;margin:9.5px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ecf0f1}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#ecf0f1 #ecf0f1 #ecf0f1}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#2c3e50;background-color:#ffffff;border:1px solid #ecf0f1;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ecf0f1}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ecf0f1;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#ffffff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#ffffff;background-color:#2c3e50}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ecf0f1}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ecf0f1;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#ffffff}}.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:60px;margin-bottom:21px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:19.5px 15px;font-size:19px;line-height:21px;height:60px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:13px;margin-bottom:13px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:9.75px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:21px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:21px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:19.5px;padding-bottom:19.5px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:7.5px;margin-bottom:7.5px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.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-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:7.5px;margin-bottom:7.5px}.navbar-btn.btn-sm{margin-top:12.5px;margin-bottom:12.5px}.navbar-btn.btn-xs{margin-top:19px;margin-bottom:19px}.navbar-text{margin-top:19.5px;margin-bottom:19.5px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#2c3e50;border-color:transparent}.navbar-default .navbar-brand{color:#ffffff}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#18bc9c;background-color:transparent}.navbar-default .navbar-text{color:#ffffff}.navbar-default .navbar-nav>li>a{color:#ffffff}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#18bc9c;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#ffffff;background-color:#1a242f}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#cccccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#1a242f}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#1a242f}.navbar-default .navbar-toggle .icon-bar{background-color:#ffffff}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:transparent}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#1a242f;color:#ffffff}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#ffffff}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#18bc9c;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ffffff;background-color:#1a242f}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#cccccc;background-color:transparent}}.navbar-default .navbar-link{color:#ffffff}.navbar-default .navbar-link:hover{color:#18bc9c}.navbar-default .btn-link{color:#ffffff}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#18bc9c}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#cccccc}.navbar-inverse{background-color:#18bc9c;border-color:transparent}.navbar-inverse .navbar-brand{color:#ffffff}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#2c3e50;background-color:transparent}.navbar-inverse .navbar-text{color:#ffffff}.navbar-inverse .navbar-nav>li>a{color:#ffffff}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#2c3e50;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#ffffff;background-color:#15a589}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#cccccc;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#128f76}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#128f76}.navbar-inverse .navbar-toggle .icon-bar{background-color:#ffffff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#149c82}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#15a589;color:#ffffff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#ffffff}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#2c3e50;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ffffff;background-color:#15a589}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#cccccc;background-color:transparent}}.navbar-inverse .navbar-link{color:#ffffff}.navbar-inverse .navbar-link:hover{color:#2c3e50}.navbar-inverse .btn-link{color:#ffffff}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#2c3e50}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#cccccc}.breadcrumb{padding:8px 15px;margin-bottom:21px;list-style:none;background-color:#ecf0f1;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#cccccc}.breadcrumb>.active{color:#95a5a6}.pagination{display:inline-block;padding-left:0;margin:21px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:10px 15px;line-height:1.42857143;text-decoration:none;color:#ffffff;background-color:#18bc9c;border:1px solid transparent;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:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:2;color:#ffffff;background-color:#0f7864;border-color:transparent}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:3;color:#ffffff;background-color:#0f7864;border-color:transparent;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#ecf0f1;background-color:#3be6c4;border-color:transparent;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:18px 27px;font-size:19px;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:6px 9px;font-size:13px;line-height:1.5}.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:21px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#18bc9c;border:1px solid transparent;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#0f7864}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#ffffff;background-color:#18bc9c;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#ffffff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#ffffff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#95a5a6}.label-default[href]:hover,.label-default[href]:focus{background-color:#798d8f}.label-primary{background-color:#2c3e50}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#1a242f}.label-success{background-color:#18bc9c}.label-success[href]:hover,.label-success[href]:focus{background-color:#128f76}.label-info{background-color:#3498db}.label-info[href]:hover,.label-info[href]:focus{background-color:#217dbb}.label-warning{background-color:#f39c12}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#c87f0a}.label-danger{background-color:#e74c3c}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#d62c1a}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:13px;font-weight:bold;color:#ffffff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#2c3e50;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#ffffff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#2c3e50;background-color:#ffffff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#ecf0f1}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:23px;font-weight:200}.jumbotron>hr{border-top-color:#cfd9db}.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:68px}}.thumbnail{display:block;padding:4px;margin-bottom:21px;line-height:1.42857143;background-color:#ffffff;border:1px solid #ecf0f1;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#18bc9c}.thumbnail .caption{padding:9px;color:#2c3e50}.alert{padding:15px;margin-bottom:21px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#18bc9c;border-color:#18bc9c;color:#ffffff}.alert-success hr{border-top-color:#15a589}.alert-success .alert-link{color:#e6e6e6}.alert-info{background-color:#3498db;border-color:#3498db;color:#ffffff}.alert-info hr{border-top-color:#258cd1}.alert-info .alert-link{color:#e6e6e6}.alert-warning{background-color:#f39c12;border-color:#f39c12;color:#ffffff}.alert-warning hr{border-top-color:#e08e0b}.alert-warning .alert-link{color:#e6e6e6}.alert-danger{background-color:#e74c3c;border-color:#e74c3c;color:#ffffff}.alert-danger hr{border-top-color:#e43725}.alert-danger .alert-link{color:#e6e6e6}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:21px;margin-bottom:21px;background-color:#ecf0f1;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:13px;line-height:21px;color:#ffffff;text-align:center;background-color:#2c3e50;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-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-image:-o-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-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);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#18bc9c}.progress-striped .progress-bar-success{background-image:-webkit-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-image:-o-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-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)}.progress-bar-info{background-color:#3498db}.progress-striped .progress-bar-info{background-image:-webkit-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-image:-o-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-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)}.progress-bar-warning{background-color:#f39c12}.progress-striped .progress-bar-warning{background-image:-webkit-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-image:-o-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-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)}.progress-bar-danger{background-color:#e74c3c}.progress-striped .progress-bar-danger{background-image:-webkit-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-image:-o-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-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)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{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:#ffffff;border:1px solid #ecf0f1}.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:#555555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333333}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{text-decoration:none;color:#555555;background-color:#ecf0f1}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#ecf0f1;color:#b4bcc2;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#b4bcc2}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#ffffff;background-color:#2c3e50;border-color:#2c3e50}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#8aa4be}.list-group-item-success{color:#ffffff;background-color:#18bc9c}a.list-group-item-success,button.list-group-item-success{color:#ffffff}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:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#ffffff;background-color:#15a589}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-info{color:#ffffff;background-color:#3498db}a.list-group-item-info,button.list-group-item-info{color:#ffffff}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:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#ffffff;background-color:#258cd1}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-warning{color:#ffffff;background-color:#f39c12}a.list-group-item-warning,button.list-group-item-warning{color:#ffffff}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:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#ffffff;background-color:#e08e0b}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-danger{color:#ffffff;background-color:#e74c3c}a.list-group-item-danger,button.list-group-item-danger{color:#ffffff}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:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#ffffff;background-color:#e43725}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:21px;background-color:#ffffff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:17px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#ecf0f1;border-top:1px solid #ecf0f1;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-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-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.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 td:first-child,.panel>.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 td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th: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 th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.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 td:last-child,.panel>.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 td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th: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 th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.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 td:first-child,.panel>.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 td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.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 td:last-child,.panel>.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 td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.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 #ecf0f1}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:21px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ecf0f1}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ecf0f1}.panel-default{border-color:#ecf0f1}.panel-default>.panel-heading{color:#2c3e50;background-color:#ecf0f1;border-color:#ecf0f1}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ecf0f1}.panel-default>.panel-heading .badge{color:#ecf0f1;background-color:#2c3e50}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ecf0f1}.panel-primary{border-color:#2c3e50}.panel-primary>.panel-heading{color:#ffffff;background-color:#2c3e50;border-color:#2c3e50}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#2c3e50}.panel-primary>.panel-heading .badge{color:#2c3e50;background-color:#ffffff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#2c3e50}.panel-success{border-color:#18bc9c}.panel-success>.panel-heading{color:#ffffff;background-color:#18bc9c;border-color:#18bc9c}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#18bc9c}.panel-success>.panel-heading .badge{color:#18bc9c;background-color:#ffffff}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#18bc9c}.panel-info{border-color:#3498db}.panel-info>.panel-heading{color:#ffffff;background-color:#3498db;border-color:#3498db}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#3498db}.panel-info>.panel-heading .badge{color:#3498db;background-color:#ffffff}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#3498db}.panel-warning{border-color:#f39c12}.panel-warning>.panel-heading{color:#ffffff;background-color:#f39c12;border-color:#f39c12}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#f39c12}.panel-warning>.panel-heading .badge{color:#f39c12;background-color:#ffffff}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#f39c12}.panel-danger{border-color:#e74c3c}.panel-danger>.panel-heading{color:#ffffff;background-color:#e74c3c;border-color:#e74c3c}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#e74c3c}.panel-danger>.panel-heading .badge{color:#e74c3c;background-color:#ffffff}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#e74c3c}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.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:#ecf0f1;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:22.5px;font-weight:bold;line-height:1;color:#000000;text-shadow:none;opacity:0.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000000;text-decoration:none;cursor:pointer;opacity:0.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#ffffff;border:1px solid #999999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);-webkit-background-clip:padding-box;background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:0.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.42857143}.modal-body{position:relative;padding:20px}.modal-footer{padding:20px;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{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Lato","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:13px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:0.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:#ffffff;text-align:center;background-color:#000000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Lato","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:15px;background-color:#ffffff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #cccccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.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:15px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#ffffff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#ffffff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#ffffff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#ffffff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-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:0.5;filter:alpha(opacity=50);font-size:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);background-color:rgba(0,0,0,0)}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0.0001)));background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,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:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.0001)), to(rgba(0,0,0,0.5)));background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{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 #ffffff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#ffffff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{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:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-header:before,.modal-header:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-header:after,.modal-footer:after{clear:both}.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}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.navbar{border-width:0}.navbar-default .badge{background-color:#fff;color:#2c3e50}.navbar-inverse .badge{background-color:#fff;color:#18bc9c}.navbar-brand{line-height:1}.btn{border-width:2px}.btn:active{-webkit-box-shadow:none;box-shadow:none}.btn-group.open .dropdown-toggle{-webkit-box-shadow:none;box-shadow:none}.text-primary,.text-primary:hover{color:#2c3e50}.text-success,.text-success:hover{color:#18bc9c}.text-danger,.text-danger:hover{color:#e74c3c}.text-warning,.text-warning:hover{color:#f39c12}.text-info,.text-info:hover{color:#3498db}table a:not(.btn),.table a:not(.btn){text-decoration:underline}table .dropdown-menu a,.table .dropdown-menu a{text-decoration:none}table .success,.table .success,table .warning,.table .warning,table .danger,.table .danger,table .info,.table .info{color:#fff}table .success>th>a,.table .success>th>a,table .warning>th>a,.table .warning>th>a,table .danger>th>a,.table .danger>th>a,table .info>th>a,.table .info>th>a,table .success>td>a,.table .success>td>a,table .warning>td>a,.table .warning>td>a,table .danger>td>a,.table .danger>td>a,table .info>td>a,.table .info>td>a,table .success>a,.table .success>a,table .warning>a,.table .warning>a,table .danger>a,.table .danger>a,table .info>a,.table .info>a{color:#fff}table>thead>tr>th,.table>thead>tr>th,table>tbody>tr>th,.table>tbody>tr>th,table>tfoot>tr>th,.table>tfoot>tr>th,table>thead>tr>td,.table>thead>tr>td,table>tbody>tr>td,.table>tbody>tr>td,table>tfoot>tr>td,.table>tfoot>tr>td{border:none}table-bordered>thead>tr>th,.table-bordered>thead>tr>th,table-bordered>tbody>tr>th,.table-bordered>tbody>tr>th,table-bordered>tfoot>tr>th,.table-bordered>tfoot>tr>th,table-bordered>thead>tr>td,.table-bordered>thead>tr>td,table-bordered>tbody>tr>td,.table-bordered>tbody>tr>td,table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ecf0f1}.form-control,input{border-width:2px;-webkit-box-shadow:none;box-shadow:none}.form-control:focus,input:focus{-webkit-box-shadow:none;box-shadow:none}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label,.has-warning .form-control-feedback{color:#f39c12}.has-warning .form-control,.has-warning .form-control:focus{border:2px solid #f39c12}.has-warning .input-group-addon{border-color:#f39c12}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label,.has-error .form-control-feedback{color:#e74c3c}.has-error .form-control,.has-error .form-control:focus{border:2px solid #e74c3c}.has-error .input-group-addon{border-color:#e74c3c}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label,.has-success .form-control-feedback{color:#18bc9c}.has-success .form-control,.has-success .form-control:focus{border:2px solid #18bc9c}.has-success .input-group-addon{border-color:#18bc9c}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{border-color:transparent}.pager a,.pager a:hover{color:#fff}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{background-color:#3be6c4}.close{color:#fff;text-decoration:none;opacity:0.4}.close:hover,.close:focus{color:#fff;opacity:1}.alert .alert-link{color:#fff;text-decoration:underline}.progress{height:10px;-webkit-box-shadow:none;box-shadow:none}.progress .progress-bar{font-size:10px;line-height:10px}.well{-webkit-box-shadow:none;box-shadow:none}a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{border-color:#ecf0f1}a.list-group-item-success.active{background-color:#18bc9c}a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{background-color:#15a589}a.list-group-item-warning.active{background-color:#f39c12}a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{background-color:#e08e0b}a.list-group-item-danger.active{background-color:#e74c3c}a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{background-color:#e43725}.panel-default .close{color:#2c3e50}.modal .close{color:#2c3e50}.popover{color:#2c3e50} \ No newline at end of file diff --git a/public/favicon.ico b/public/favicon.ico deleted file mode 100755 index e69de29bb..000000000 diff --git a/public/fonts/glyphicons-halflings-regular.eot b/public/fonts/glyphicons-halflings-regular.eot deleted file mode 100755 index b93a4953fff68df523aa7656497ee339d6026d64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20127 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/public/fonts/glyphicons-halflings-regular.ttf b/public/fonts/glyphicons-halflings-regular.ttf deleted file mode 100755 index 1413fc609ab6f21774de0cb7e01360095584f65b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45404 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 G`u_lkUM?>H diff --git a/public/fonts/glyphicons-halflings-regular.woff2 b/public/fonts/glyphicons-halflings-regular.woff2 deleted file mode 100755 index 64539b54c3751a6d9adb44c8e3a45ba5a73b77f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18028 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 diff --git a/public/index.php b/public/index.php deleted file mode 100755 index 4584cbcd6..000000000 --- a/public/index.php +++ /dev/null @@ -1,60 +0,0 @@ - - */ - -define('LARAVEL_START', microtime(true)); - -/* -|-------------------------------------------------------------------------- -| 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 great to relax. -| -*/ - -require __DIR__.'/../vendor/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/public/js/app.js b/public/js/app.js deleted file mode 100755 index 52449a836..000000000 --- a/public/js/app.js +++ /dev/null @@ -1 +0,0 @@ -!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.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=8)}([function(t,e,n){"use strict";function r(t){return"[object Array]"===T.call(t)}function i(t){return"[object ArrayBuffer]"===T.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]"===T.call(t)}function p(t){return"[object File]"===T.call(t)}function d(t){return"[object Blob]"===T.call(t)}function h(t){return"[object Function]"===T.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 navigator||"ReactNative"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)}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=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(19))},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){"use strict";t.exports=function(t,e){return function(){for(var n=new Array(arguments.length),r=0;r-1}function h(t,e,n){for(var r=-1,i=null==t?0:t.length;++r-1;);return n}function M(t,e){for(var n=t.length;n--&&T(e,t[n],0)>-1;);return n}function q(t,e){for(var n=t.length,r=0;n--;)t[n]===e&&++r;return r}function H(t){return"\\"+En[t]}function B(t,e){return null==t?it:t[e]}function U(t){return bn.test(t)}function W(t){return _n.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>>1,Mt=[["ary",Ct],["bind",gt],["bindKey",mt],["curry",bt],["curryRight",_t],["flip",$t],["partial",wt],["partialRight",xt],["rearg",Tt]],qt="[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,Ae=/<%([\s\S]+?)%>/g,ke=/<%=([\s\S]+?)%>/g,Ee=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Se=/^\w*$/,Oe=/^\./,je=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ne=/[\\^$.*+?()[\]{}|]/g,De=RegExp(Ne.source),Ie=/^\s+|\s+$/g,Le=/^\s+/,Re=/\s+$/,Pe=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Fe=/\{\n\/\* \[wrapped with (.+)\] \*/,Me=/,? & /,qe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,He=/\\(\\)?/g,Be=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Ue=/\w*$/,We=/^[-+]0x[0-9a-f]+$/i,ze=/^0b[01]+$/i,Ve=/^\[object .+?Constructor\]$/,Xe=/^0o[0-7]+$/i,Ke=/^(?:0|[1-9]\d*)$/,Je=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Qe=/($^)/,Ge=/['\n\r\u2028\u2029\\]/g,Ze="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Ye="\\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",tn="["+Ye+"]",en="["+Ze+"]",nn="[a-z\\xdf-\\xf6\\xf8-\\xff]",rn="[^\\ud800-\\udfff"+Ye+"\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",on="\\ud83c[\\udffb-\\udfff]",an="(?:\\ud83c[\\udde6-\\uddff]){2}",sn="[\\ud800-\\udbff][\\udc00-\\udfff]",un="[A-Z\\xc0-\\xd6\\xd8-\\xde]",cn="(?:"+nn+"|"+rn+")",ln="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",fn="(?:\\u200d(?:"+["[^\\ud800-\\udfff]",an,sn].join("|")+")[\\ufe0e\\ufe0f]?"+ln+")*",pn="[\\ufe0e\\ufe0f]?"+ln+fn,dn="(?:"+["[\\u2700-\\u27bf]",an,sn].join("|")+")"+pn,hn="(?:"+["[^\\ud800-\\udfff]"+en+"?",en,an,sn,"[\\ud800-\\udfff]"].join("|")+")",vn=RegExp("['’]","g"),gn=RegExp(en,"g"),mn=RegExp(on+"(?="+on+")|"+hn+pn,"g"),yn=RegExp([un+"?"+nn+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[tn,un,"$"].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))?(?="+[tn,un+cn,"$"].join("|")+")",un+"?"+cn+"+(?:['’](?:d|ll|m|re|s|t|ve))?",un+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:(?:1ST|2ND|3RD|(?![123])\\dTH)\\b)","\\d*(?:(?:1st|2nd|3rd|(?![123])\\dth)\\b)","\\d+",dn].join("|"),"g"),bn=RegExp("[\\u200d\\ud800-\\udfff"+Ze+"\\ufe0e\\ufe0f]"),_n=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,wn=["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"],xn=-1,Cn={};Cn[ce]=Cn[le]=Cn[fe]=Cn[pe]=Cn[de]=Cn[he]=Cn[ve]=Cn[ge]=Cn[me]=!0,Cn[qt]=Cn[Ht]=Cn[se]=Cn[Ut]=Cn[ue]=Cn[Wt]=Cn[Vt]=Cn[Xt]=Cn[Jt]=Cn[Qt]=Cn[Zt]=Cn[te]=Cn[ee]=Cn[ne]=Cn[oe]=!1;var Tn={};Tn[qt]=Tn[Ht]=Tn[se]=Tn[ue]=Tn[Ut]=Tn[Wt]=Tn[ce]=Tn[le]=Tn[fe]=Tn[pe]=Tn[de]=Tn[Jt]=Tn[Qt]=Tn[Zt]=Tn[te]=Tn[ee]=Tn[ne]=Tn[re]=Tn[he]=Tn[ve]=Tn[ge]=Tn[me]=!0,Tn[Vt]=Tn[Xt]=Tn[oe]=!1;var $n={"À":"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"},An={"&":"&","<":"<",">":">",'"':""","'":"'"},kn={"&":"&","<":"<",">":">",""":'"',"'":"'"},En={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Sn=parseFloat,On=parseInt,jn="object"==typeof t&&t&&t.Object===Object&&t,Nn="object"==typeof self&&self&&self.Object===Object&&self,Dn=jn||Nn||Function("return this")(),In="object"==typeof e&&e&&!e.nodeType&&e,Ln=In&&"object"==typeof r&&r&&!r.nodeType&&r,Rn=Ln&&Ln.exports===In,Pn=Rn&&jn.process,Fn=function(){try{return Pn&&Pn.binding&&Pn.binding("util")}catch(t){}}(),Mn=Fn&&Fn.isArrayBuffer,qn=Fn&&Fn.isDate,Hn=Fn&&Fn.isMap,Bn=Fn&&Fn.isRegExp,Un=Fn&&Fn.isSet,Wn=Fn&&Fn.isTypedArray,zn=E("length"),Vn=S($n),Xn=S(An),Kn=S(kn),Jn=function t(e){function n(t){if(ou(t)&&!mp(t)&&!(t instanceof _)){if(t instanceof i)return t;if(gl.call(t,"__wrapped__"))return na(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__=Pi(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Pi(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Pi(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=mp(t),r=e<0,i=n?t.length:0,o=ko(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=Vl(u,this.__takeCount__);if(!n||!r&&i==u&&d==u)return yi(t,this.__actions__);var h=[];t:for(;u--&&p-1}function un(t,e){var n=this.__data__,r=Qn(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}function cn(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e=e?t:e)),t}function rr(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(!iu(t))return t;var f=mp(t);if(f){if(a=Oo(t),!s)return Pi(t,a)}else{var p=kf(t),d=p==Xt||p==Kt;if(bp(t))return $i(t,s);if(p==Zt||p==qt||d&&!i){if(a=u||d?{}:jo(t),!s)return u?qi(t,Yn(a,t)):Mi(t,Zn(a,t))}else{if(!Tn[p])return i?t:{};a=No(t,p,rr,s)}}o||(o=new _n);var h=o.get(t);if(h)return h;o.set(t,a);var v=l?u?bo:yo:u?Hu:qu,g=f?it:v(t);return c(g||t,function(r,i){g&&(i=r,r=t[i]),zn(a,i,rr(r,e,n,i,t,o))}),a}function ir(t){var e=qu(t);return function(n){return or(n,t,e)}}function or(t,e,n){var r=n.length;if(null==t)return!r;for(t=sl(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 ar(t,e,n){if("function"!=typeof t)throw new ll(st);return Of(function(){t.apply(it,n)},e)}function sr(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 mn(e));t:for(;++ii?0:i+n),r=r===it||r>i?i:xu(r),r<0&&(r+=i),r=n>r?0:Cu(r);n0&&n(s)?e>1?pr(s,e-1,n,r,i):g(i,s):r||(i[i.length]=s)}return i}function dr(t,e){return t&&mf(t,e,qu)}function hr(t,e){return t&&yf(t,e,qu)}function vr(t,e){return p(e,function(e){return eu(t[e])})}function gr(t,e){e=Ci(e,t);for(var n=0,r=e.length;null!=t&&ne}function _r(t,e){return null!=t&&gl.call(t,e)}function wr(t,e){return null!=t&&e in sl(t)}function xr(t,e,n){return t>=Vl(e,n)&&t=120&&l.length>=120)?new mn(a&&l):it}l=t[0];var f=-1,p=s[0];t:for(;++f-1;)s!==t&&Ol.call(s,u,1),Ol.call(t,u,1);return t}function Zr(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;Lo(i)?Ol.call(t,i,1):vi(t,i)}}return t}function Yr(t,e){return t+Ml(Jl()*(e-t+1))}function ti(t,e,n,r){for(var i=-1,o=zl(Fl((e-t)/(n||1)),0),a=nl(o);o--;)a[r?o:++i]=t,t+=n;return a}function ei(t,e){var n="";if(!t||e<1||e>Dt)return n;do{e%2&&(n+=t),(e=Ml(e/2))&&(t+=t)}while(e);return n}function ni(t,e){return jf(Xo(t,e,Oc),t+"")}function ri(t){return In(Yu(t))}function ii(t,e){var n=Yu(t);return Zo(n,nr(e,0,n.length))}function oi(t,e,n,r){if(!iu(t))return t;e=Ci(e,t);for(var i=-1,o=e.length,a=o-1,s=t;null!=s&&++ii?0:i+e),n=n>i?i:n,n<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var o=nl(i);++r>>1,a=t[o];null!==a&&!gu(a)&&(n?a<=e:a=ot){var c=e?null:Cf(t);if(c)return J(c);a=!1,i=P,u=new mn}else u=e?[]:s;t:for(;++r=r?t:si(t,e,n)}function $i(t,e){if(e)return t.slice();var n=t.length,r=Al?Al(n):new t.constructor(n);return t.copy(r),r}function Ai(t){var e=new t.constructor(t.byteLength);return new $l(e).set(new $l(t)),e}function ki(t,e){var n=e?Ai(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}function Ei(t,e,n){return m(e?n(V(t),ft):V(t),o,new t.constructor)}function Si(t){var e=new t.constructor(t.source,Ue.exec(t));return e.lastIndex=t.lastIndex,e}function Oi(t,e,n){return m(e?n(J(t),ft):J(t),a,new t.constructor)}function ji(t){return pf?sl(pf.call(t)):{}}function Ni(t,e){var n=e?Ai(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function Di(t,e){if(t!==e){var n=t!==it,r=null===t,i=t===t,o=gu(t),a=e!==it,s=null===e,u=e===e,c=gu(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=s)return u;return u*("desc"==n[r]?-1:1)}}return t.index-e.index}function Li(t,e,n,r){for(var i=-1,o=t.length,a=n.length,s=-1,u=e.length,c=zl(o-a,0),l=nl(u+c),f=!r;++s1?n[i-1]:it,a=i>2?n[2]:it;for(o=t.length>3&&"function"==typeof o?(i--,o):it,a&&Ro(n[0],n[1],a)&&(o=i<3?it:o,i=1),e=sl(e);++r-1?i[o?e[a]:a]:it}}function Gi(t){return mo(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 ll(st);if(o&&!s&&"wrapper"==_o(a))var s=new i([],!0)}for(r=s?r:n;++r1&&y.reverse(),f&&us))return!1;var c=o.get(t);if(c&&o.get(e))return c==e;var l=-1,f=!0,p=n&vt?new mn:it;for(o.set(t,e),o.set(e,t);++l1?"& ":"")+e[r],e=e.join(n>2?", ":" "),t.replace(Pe,"{\n/* [wrapped with "+e+"] */\n")}function Io(t){return mp(t)||gp(t)||!!(jl&&t&&t[jl])}function Lo(t,e){return!!(e=null==e?Dt:e)&&("number"==typeof t||Ke.test(t))&&t>-1&&t%1==0&&t0){if(++e>=Et)return arguments[0]}else e=0;return t.apply(it,arguments)}}function Zo(t,e){var n=-1,r=t.length,i=r-1;for(e=e===it?r:e;++n=this.__values__.length;return{done:t,value:t?it:this.__values__[this.__index__++]}}function ns(){return this}function rs(t){for(var e,n=this;n instanceof r;){var i=na(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 is(){var t=this.__wrapped__;if(t instanceof _){var e=t;return this.__actions__.length&&(e=new _(this)),e=e.reverse(),e.__actions__.push({func:Za,args:[Ea],thisArg:it}),new i(e,this.__chain__)}return this.thru(Ea)}function os(){return yi(this.__wrapped__,this.__actions__)}function as(t,e,n){var r=mp(t)?f:ur;return n&&Ro(t,e,n)&&(e=it),r(t,xo(e,3))}function ss(t,e){return(mp(t)?p:fr)(t,xo(e,3))}function us(t,e){return pr(hs(t,e),1)}function cs(t,e){return pr(hs(t,e),Nt)}function ls(t,e,n){return n=n===it?1:xu(n),pr(hs(t,e),n)}function fs(t,e){return(mp(t)?c:vf)(t,xo(e,3))}function ps(t,e){return(mp(t)?l:gf)(t,xo(e,3))}function ds(t,e,n,r){t=Vs(t)?t:Yu(t),n=n&&!r?xu(n):0;var i=t.length;return n<0&&(n=zl(i+n,0)),vu(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&T(t,e,n)>-1}function hs(t,e){return(mp(t)?v:Hr)(t,xo(e,3))}function vs(t,e,n,r){return null==t?[]:(mp(e)||(e=null==e?[]:[e]),n=r?it:n,mp(n)||(n=null==n?[]:[n]),Xr(t,e,n))}function gs(t,e,n){var r=mp(t)?m:O,i=arguments.length<3;return r(t,xo(e,4),n,i,vf)}function ms(t,e,n){var r=mp(t)?y:O,i=arguments.length<3;return r(t,xo(e,4),n,i,gf)}function ys(t,e){return(mp(t)?p:fr)(t,Ns(xo(e,3)))}function bs(t){return(mp(t)?In:ri)(t)}function _s(t,e,n){return e=(n?Ro(t,e,n):e===it)?1:xu(e),(mp(t)?Ln:ii)(t,e)}function ws(t){return(mp(t)?Pn:ai)(t)}function xs(t){if(null==t)return 0;if(Vs(t))return vu(t)?Y(t):t.length;var e=kf(t);return e==Jt||e==ee?t.size:Fr(t).length}function Cs(t,e,n){var r=mp(t)?b:ui;return n&&Ro(t,e,n)&&(e=it),r(t,xo(e,3))}function Ts(t,e){if("function"!=typeof e)throw new ll(st);return t=xu(t),function(){if(--t<1)return e.apply(this,arguments)}}function $s(t,e,n){return e=n?it:e,e=t&&null==e?t.length:e,co(t,Ct,it,it,it,it,e)}function As(t,e){var n;if("function"!=typeof e)throw new ll(st);return t=xu(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=it),n}}function ks(t,e,n){e=n?it:e;var r=co(t,bt,it,it,it,it,it,e);return r.placeholder=ks.placeholder,r}function Es(t,e,n){e=n?it:e;var r=co(t,_t,it,it,it,it,it,e);return r.placeholder=Es.placeholder,r}function Ss(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=Of(s,e),b?r(t):v}function o(t){var n=t-m,r=t-y,i=e-n;return _?Vl(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=op();if(a(t))return u(t);g=Of(s,o(t))}function u(t){return g=it,w&&p?r(t):(p=d=it,v)}function c(){g!==it&&xf(g),y=0,p=m=d=g=it}function l(){return g===it?v:u(op())}function f(){var t=op(),n=a(t);if(p=arguments,d=this,m=t,n){if(g===it)return i(m);if(_)return g=Of(s,e),r(m)}return g===it&&(g=Of(s,e)),v}var p,d,h,v,g,m,y=0,b=!1,_=!1,w=!0;if("function"!=typeof t)throw new ll(st);return e=Tu(e)||0,iu(n)&&(b=!!n.leading,_="maxWait"in n,h=_?zl(Tu(n.maxWait)||0,e):h,w="trailing"in n?!!n.trailing:w),f.cancel=c,f.flush=l,f}function Os(t){return co(t,$t)}function js(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new ll(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(js.Cache||cn),n}function Ns(t){if("function"!=typeof t)throw new ll(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 Ds(t){return As(2,t)}function Is(t,e){if("function"!=typeof t)throw new ll(st);return e=e===it?e:xu(e),ni(t,e)}function Ls(t,e){if("function"!=typeof t)throw new ll(st);return e=null==e?0:zl(xu(e),0),ni(function(n){var r=n[e],i=Ti(n,0,e);return r&&g(i,r),s(t,this,i)})}function Rs(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new ll(st);return iu(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),Ss(t,e,{leading:r,maxWait:e,trailing:i})}function Ps(t){return $s(t,1)}function Fs(t,e){return fp(xi(e),t)}function Ms(){if(!arguments.length)return[];var t=arguments[0];return mp(t)?t:[t]}function qs(t){return rr(t,dt)}function Hs(t,e){return e="function"==typeof e?e:it,rr(t,dt,e)}function Bs(t){return rr(t,ft|dt)}function Us(t,e){return e="function"==typeof e?e:it,rr(t,ft|dt,e)}function Ws(t,e){return null==e||or(t,e,qu(e))}function zs(t,e){return t===e||t!==t&&e!==e}function Vs(t){return null!=t&&ru(t.length)&&!eu(t)}function Xs(t){return ou(t)&&Vs(t)}function Ks(t){return!0===t||!1===t||ou(t)&&yr(t)==Ut}function Js(t){return ou(t)&&1===t.nodeType&&!du(t)}function Qs(t){if(null==t)return!0;if(Vs(t)&&(mp(t)||"string"==typeof t||"function"==typeof t.splice||bp(t)||Tp(t)||gp(t)))return!t.length;var e=kf(t);if(e==Jt||e==ee)return!t.size;if(Ho(t))return!Fr(t).length;for(var n in t)if(gl.call(t,n))return!1;return!0}function Gs(t,e){return Sr(t,e)}function Zs(t,e,n){n="function"==typeof n?n:it;var r=n?n(t,e):it;return r===it?Sr(t,e,it,n):!!r}function Ys(t){if(!ou(t))return!1;var e=yr(t);return e==Vt||e==zt||"string"==typeof t.message&&"string"==typeof t.name&&!du(t)}function tu(t){return"number"==typeof t&&Bl(t)}function eu(t){if(!iu(t))return!1;var e=yr(t);return e==Xt||e==Kt||e==Bt||e==Yt}function nu(t){return"number"==typeof t&&t==xu(t)}function ru(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=Dt}function iu(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function ou(t){return null!=t&&"object"==typeof t}function au(t,e){return t===e||Nr(t,e,To(e))}function su(t,e,n){return n="function"==typeof n?n:it,Nr(t,e,To(e),n)}function uu(t){return pu(t)&&t!=+t}function cu(t){if(Ef(t))throw new il(at);return Dr(t)}function lu(t){return null===t}function fu(t){return null==t}function pu(t){return"number"==typeof t||ou(t)&&yr(t)==Qt}function du(t){if(!ou(t)||yr(t)!=Zt)return!1;var e=kl(t);if(null===e)return!0;var n=gl.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&vl.call(n)==_l}function hu(t){return nu(t)&&t>=-Dt&&t<=Dt}function vu(t){return"string"==typeof t||!mp(t)&&ou(t)&&yr(t)==ne}function gu(t){return"symbol"==typeof t||ou(t)&&yr(t)==re}function mu(t){return t===it}function yu(t){return ou(t)&&kf(t)==oe}function bu(t){return ou(t)&&yr(t)==ae}function _u(t){if(!t)return[];if(Vs(t))return vu(t)?tt(t):Pi(t);if(Nl&&t[Nl])return z(t[Nl]());var e=kf(t);return(e==Jt?V:e==ee?J:Yu)(t)}function wu(t){if(!t)return 0===t?t:0;if((t=Tu(t))===Nt||t===-Nt){return(t<0?-1:1)*It}return t===t?t:0}function xu(t){var e=wu(t),n=e%1;return e===e?n?e-n:e:0}function Cu(t){return t?nr(xu(t),0,Rt):0}function Tu(t){if("number"==typeof t)return t;if(gu(t))return Lt;if(iu(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=iu(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(Ie,"");var n=ze.test(t);return n||Xe.test(t)?On(t.slice(2),n?2:8):We.test(t)?Lt:+t}function $u(t){return Fi(t,Hu(t))}function Au(t){return t?nr(xu(t),-Dt,Dt):0===t?t:0}function ku(t){return null==t?"":di(t)}function Eu(t,e){var n=hf(t);return null==e?n:Zn(n,e)}function Su(t,e){return x(t,xo(e,3),dr)}function Ou(t,e){return x(t,xo(e,3),hr)}function ju(t,e){return null==t?t:mf(t,xo(e,3),Hu)}function Nu(t,e){return null==t?t:yf(t,xo(e,3),Hu)}function Du(t,e){return t&&dr(t,xo(e,3))}function Iu(t,e){return t&&hr(t,xo(e,3))}function Lu(t){return null==t?[]:vr(t,qu(t))}function Ru(t){return null==t?[]:vr(t,Hu(t))}function Pu(t,e,n){var r=null==t?it:gr(t,e);return r===it?n:r}function Fu(t,e){return null!=t&&So(t,e,_r)}function Mu(t,e){return null!=t&&So(t,e,wr)}function qu(t){return Vs(t)?Nn(t):Fr(t)}function Hu(t){return Vs(t)?Nn(t,!0):Mr(t)}function Bu(t,e){var n={};return e=xo(e,3),dr(t,function(t,r,i){tr(n,e(t,r,i),t)}),n}function Uu(t,e){var n={};return e=xo(e,3),dr(t,function(t,r,i){tr(n,r,e(t,r,i))}),n}function Wu(t,e){return zu(t,Ns(xo(e)))}function zu(t,e){if(null==t)return{};var n=v(bo(t),function(t){return[t]});return e=xo(e),Jr(t,n,function(t,n){return e(t,n[0])})}function Vu(t,e,n){e=Ci(e,t);var r=-1,i=e.length;for(i||(i=1,t=it);++re){var r=t;t=e,e=r}if(n||t%1||e%1){var i=Jl();return Vl(t+i*(e-t+Sn("1e-"+((i+"").length-1))),e)}return Yr(t,e)}function ic(t){return Qp(ku(t).toLowerCase())}function oc(t){return(t=ku(t))&&t.replace(Je,Vn).replace(gn,"")}function ac(t,e,n){t=ku(t),e=di(e);var r=t.length;n=n===it?r:nr(xu(n),0,r);var i=n;return(n-=e.length)>=0&&t.slice(n,i)==e}function sc(t){return t=ku(t),t&&Te.test(t)?t.replace(xe,Xn):t}function uc(t){return t=ku(t),t&&De.test(t)?t.replace(Ne,"\\$&"):t}function cc(t,e,n){t=ku(t),e=xu(e);var r=e?Y(t):0;if(!e||r>=e)return t;var i=(e-r)/2;return no(Ml(i),n)+t+no(Fl(i),n)}function lc(t,e,n){t=ku(t),e=xu(e);var r=e?Y(t):0;return e&&r>>0)?(t=ku(t),t&&("string"==typeof e||null!=e&&!xp(e))&&!(e=di(e))&&U(t)?Ti(tt(t),0,n):t.split(e,n)):[]}function gc(t,e,n){return t=ku(t),n=null==n?0:nr(xu(n),0,t.length),e=di(e),t.slice(n,n+e.length)==e}function mc(t,e,r){var i=n.templateSettings;r&&Ro(t,e,r)&&(e=it),t=ku(t),e=Sp({},e,i,lo);var o,a,s=Sp({},e.imports,i.imports,lo),u=qu(s),c=R(s,u),l=0,f=e.interpolate||Qe,p="__p += '",d=ul((e.escape||Qe).source+"|"+f.source+"|"+(f===ke?Be:Qe).source+"|"+(e.evaluate||Qe).source+"|$","g"),h="//# sourceURL="+("sourceURL"in e?e.sourceURL:"lodash.templateSources["+ ++xn+"]")+"\n";t.replace(d,function(e,n,r,i,s,u){return r||(r=i),p+=t.slice(l,u).replace(Ge,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=Gp(function(){return ol(u,h+"return "+p).apply(it,c)});if(g.source=p,Ys(g))throw g;return g}function yc(t){return ku(t).toLowerCase()}function bc(t){return ku(t).toUpperCase()}function _c(t,e,n){if((t=ku(t))&&(n||e===it))return t.replace(Ie,"");if(!t||!(e=di(e)))return t;var r=tt(t),i=tt(e);return Ti(r,F(r,i),M(r,i)+1).join("")}function wc(t,e,n){if((t=ku(t))&&(n||e===it))return t.replace(Re,"");if(!t||!(e=di(e)))return t;var r=tt(t);return Ti(r,0,M(r,tt(e))+1).join("")}function xc(t,e,n){if((t=ku(t))&&(n||e===it))return t.replace(Le,"");if(!t||!(e=di(e)))return t;var r=tt(t);return Ti(r,F(r,tt(e))).join("")}function Cc(t,e){var n=At,r=kt;if(iu(e)){var i="separator"in e?e.separator:i;n="length"in e?xu(e.length):n,r="omission"in e?di(e.omission):r}t=ku(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?Ti(a,0,s).join(""):t.slice(0,s);if(i===it)return u+r;if(a&&(s+=u.length-s),xp(i)){if(t.slice(s).search(i)){var c,l=u;for(i.global||(i=ul(i.source,ku(Ue.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(di(i),s)!=s){var p=u.lastIndexOf(i);p>-1&&(u=u.slice(0,p))}return u+r}function Tc(t){return t=ku(t),t&&Ce.test(t)?t.replace(we,Kn):t}function $c(t,e,n){return t=ku(t),e=n?it:e,e===it?W(t)?rt(t):w(t):t.match(e)||[]}function Ac(t){var e=null==t?0:t.length,n=xo();return t=e?v(t,function(t){if("function"!=typeof t[1])throw new ll(st);return[n(t[0]),t[1]]}):[],ni(function(n){for(var r=-1;++rDt)return[];var n=Rt,r=Vl(t,Rt);e=xo(e),t-=Rt;for(var i=D(r,e);++n1?t[e-1]:it;return n="function"==typeof n?(t.pop(),n):it,Xa(t,n)}),Qf=mo(function(t){var e=t.length,n=e?t[0]:0,r=this.__wrapped__,o=function(e){return er(e,t)};return!(e>1||this.__actions__.length)&&r instanceof _&&Lo(n)?(r=r.slice(n,+n+(e?1:0)),r.__actions__.push({func:Za,args:[o],thisArg:it}),new i(r,this.__chain__).thru(function(t){return e&&!t.length&&t.push(it),t})):this.thru(o)}),Gf=Hi(function(t,e,n){gl.call(t,n)?++t[n]:tr(t,n,1)}),Zf=Qi(fa),Yf=Qi(pa),tp=Hi(function(t,e,n){gl.call(t,n)?t[n].push(e):tr(t,n,[e])}),ep=ni(function(t,e,n){var r=-1,i="function"==typeof e,o=Vs(t)?nl(t.length):[];return vf(t,function(t){o[++r]=i?s(e,t,n):$r(t,e,n)}),o}),np=Hi(function(t,e,n){tr(t,n,e)}),rp=Hi(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]}),ip=ni(function(t,e){if(null==t)return[];var n=e.length;return n>1&&Ro(t,e[0],e[1])?e=[]:n>2&&Ro(e[0],e[1],e[2])&&(e=[e[0]]),Xr(t,pr(e,1),[])}),op=Rl||function(){return Dn.Date.now()},ap=ni(function(t,e,n){var r=gt;if(n.length){var i=K(n,wo(ap));r|=wt}return co(t,r,e,n,i)}),sp=ni(function(t,e,n){var r=gt|mt;if(n.length){var i=K(n,wo(sp));r|=wt}return co(e,r,t,n,i)}),up=ni(function(t,e){return ar(t,1,e)}),cp=ni(function(t,e,n){return ar(t,Tu(e)||0,n)});js.Cache=cn;var lp=wf(function(t,e){e=1==e.length&&mp(e[0])?v(e[0],L(xo())):v(pr(e,1),L(xo()));var n=e.length;return ni(function(r){for(var i=-1,o=Vl(r.length,n);++i=e}),gp=Ar(function(){return arguments}())?Ar:function(t){return ou(t)&&gl.call(t,"callee")&&!Sl.call(t,"callee")},mp=nl.isArray,yp=Mn?L(Mn):kr,bp=Hl||Hc,_p=qn?L(qn):Er,wp=Hn?L(Hn):jr,xp=Bn?L(Bn):Ir,Cp=Un?L(Un):Lr,Tp=Wn?L(Wn):Rr,$p=oo(qr),Ap=oo(function(t,e){return t<=e}),kp=Bi(function(t,e){if(Ho(e)||Vs(e))return void Fi(e,qu(e),t);for(var n in e)gl.call(e,n)&&zn(t,n,e[n])}),Ep=Bi(function(t,e){Fi(e,Hu(e),t)}),Sp=Bi(function(t,e,n,r){Fi(e,Hu(e),t,r)}),Op=Bi(function(t,e,n,r){Fi(e,qu(e),t,r)}),jp=mo(er),Np=ni(function(t){return t.push(it,lo),s(Sp,it,t)}),Dp=ni(function(t){return t.push(it,fo),s(Fp,it,t)}),Ip=Yi(function(t,e,n){t[e]=n},Ec(Oc)),Lp=Yi(function(t,e,n){gl.call(t,e)?t[e].push(n):t[e]=[n]},xo),Rp=ni($r),Pp=Bi(function(t,e,n){Wr(t,e,n)}),Fp=Bi(function(t,e,n,r){Wr(t,e,n,r)}),Mp=mo(function(t,e){var n={};if(null==t)return n;var r=!1;e=v(e,function(e){return e=Ci(e,t),r||(r=e.length>1),e}),Fi(t,bo(t),n),r&&(n=rr(n,ft|pt|dt,po));for(var i=e.length;i--;)vi(n,e[i]);return n}),qp=mo(function(t,e){return null==t?{}:Kr(t,e)}),Hp=uo(qu),Bp=uo(Hu),Up=Xi(function(t,e,n){return e=e.toLowerCase(),t+(n?ic(e):e)}),Wp=Xi(function(t,e,n){return t+(n?"-":"")+e.toLowerCase()}),zp=Xi(function(t,e,n){return t+(n?" ":"")+e.toLowerCase()}),Vp=Vi("toLowerCase"),Xp=Xi(function(t,e,n){return t+(n?"_":"")+e.toLowerCase()}),Kp=Xi(function(t,e,n){return t+(n?" ":"")+Qp(e)}),Jp=Xi(function(t,e,n){return t+(n?" ":"")+e.toUpperCase()}),Qp=Vi("toUpperCase"),Gp=ni(function(t,e){try{return s(t,it,e)}catch(t){return Ys(t)?t:new il(t)}}),Zp=mo(function(t,e){return c(e,function(e){e=Yo(e),tr(t,e,ap(t[e],t))}),t}),Yp=Gi(),td=Gi(!0),ed=ni(function(t,e){return function(n){return $r(n,t,e)}}),nd=ni(function(t,e){return function(n){return $r(t,n,e)}}),rd=eo(v),id=eo(f),od=eo(b),ad=io(),sd=io(!0),ud=to(function(t,e){return t+e},0),cd=so("ceil"),ld=to(function(t,e){return t/e},1),fd=so("floor"),pd=to(function(t,e){return t*e},1),dd=so("round"),hd=to(function(t,e){return t-e},0);return n.after=Ts,n.ary=$s,n.assign=kp,n.assignIn=Ep,n.assignInWith=Sp,n.assignWith=Op,n.at=jp,n.before=As,n.bind=ap,n.bindAll=Zp,n.bindKey=sp,n.castArray=Ms,n.chain=Qa,n.chunk=ra,n.compact=ia,n.concat=oa,n.cond=Ac,n.conforms=kc,n.constant=Ec,n.countBy=Gf,n.create=Eu,n.curry=ks,n.curryRight=Es,n.debounce=Ss,n.defaults=Np,n.defaultsDeep=Dp,n.defer=up,n.delay=cp,n.difference=Df,n.differenceBy=If,n.differenceWith=Lf,n.drop=aa,n.dropRight=sa,n.dropRightWhile=ua,n.dropWhile=ca,n.fill=la,n.filter=ss,n.flatMap=us,n.flatMapDeep=cs,n.flatMapDepth=ls,n.flatten=da,n.flattenDeep=ha,n.flattenDepth=va,n.flip=Os,n.flow=Yp,n.flowRight=td,n.fromPairs=ga,n.functions=Lu,n.functionsIn=Ru,n.groupBy=tp,n.initial=ba,n.intersection=Rf,n.intersectionBy=Pf,n.intersectionWith=Ff,n.invert=Ip,n.invertBy=Lp,n.invokeMap=ep,n.iteratee=jc,n.keyBy=np,n.keys=qu,n.keysIn=Hu,n.map=hs,n.mapKeys=Bu,n.mapValues=Uu,n.matches=Nc,n.matchesProperty=Dc,n.memoize=js,n.merge=Pp,n.mergeWith=Fp,n.method=ed,n.methodOf=nd,n.mixin=Ic,n.negate=Ns,n.nthArg=Pc,n.omit=Mp,n.omitBy=Wu,n.once=Ds,n.orderBy=vs,n.over=rd,n.overArgs=lp,n.overEvery=id,n.overSome=od,n.partial=fp,n.partialRight=pp,n.partition=rp,n.pick=qp,n.pickBy=zu,n.property=Fc,n.propertyOf=Mc,n.pull=Mf,n.pullAll=Ta,n.pullAllBy=$a,n.pullAllWith=Aa,n.pullAt=qf,n.range=ad,n.rangeRight=sd,n.rearg=dp,n.reject=ys,n.remove=ka,n.rest=Is,n.reverse=Ea,n.sampleSize=_s,n.set=Xu,n.setWith=Ku,n.shuffle=ws,n.slice=Sa,n.sortBy=ip,n.sortedUniq=Ra,n.sortedUniqBy=Pa,n.split=vc,n.spread=Ls,n.tail=Fa,n.take=Ma,n.takeRight=qa,n.takeRightWhile=Ha,n.takeWhile=Ba,n.tap=Ga,n.throttle=Rs,n.thru=Za,n.toArray=_u,n.toPairs=Hp,n.toPairsIn=Bp,n.toPath=Vc,n.toPlainObject=$u,n.transform=Ju,n.unary=Ps,n.union=Hf,n.unionBy=Bf,n.unionWith=Uf,n.uniq=Ua,n.uniqBy=Wa,n.uniqWith=za,n.unset=Qu,n.unzip=Va,n.unzipWith=Xa,n.update=Gu,n.updateWith=Zu,n.values=Yu,n.valuesIn=tc,n.without=Wf,n.words=$c,n.wrap=Fs,n.xor=zf,n.xorBy=Vf,n.xorWith=Xf,n.zip=Kf,n.zipObject=Ka,n.zipObjectDeep=Ja,n.zipWith=Jf,n.entries=Hp,n.entriesIn=Bp,n.extend=Ep,n.extendWith=Sp,Ic(n,n),n.add=ud,n.attempt=Gp,n.camelCase=Up,n.capitalize=ic,n.ceil=cd,n.clamp=ec,n.clone=qs,n.cloneDeep=Bs,n.cloneDeepWith=Us,n.cloneWith=Hs,n.conformsTo=Ws,n.deburr=oc,n.defaultTo=Sc,n.divide=ld,n.endsWith=ac,n.eq=zs,n.escape=sc,n.escapeRegExp=uc,n.every=as,n.find=Zf,n.findIndex=fa,n.findKey=Su,n.findLast=Yf,n.findLastIndex=pa,n.findLastKey=Ou,n.floor=fd,n.forEach=fs,n.forEachRight=ps,n.forIn=ju,n.forInRight=Nu,n.forOwn=Du,n.forOwnRight=Iu,n.get=Pu,n.gt=hp,n.gte=vp,n.has=Fu,n.hasIn=Mu,n.head=ma,n.identity=Oc,n.includes=ds,n.indexOf=ya,n.inRange=nc,n.invoke=Rp,n.isArguments=gp,n.isArray=mp,n.isArrayBuffer=yp,n.isArrayLike=Vs,n.isArrayLikeObject=Xs,n.isBoolean=Ks,n.isBuffer=bp,n.isDate=_p,n.isElement=Js,n.isEmpty=Qs,n.isEqual=Gs,n.isEqualWith=Zs,n.isError=Ys,n.isFinite=tu,n.isFunction=eu,n.isInteger=nu,n.isLength=ru,n.isMap=wp,n.isMatch=au,n.isMatchWith=su,n.isNaN=uu,n.isNative=cu,n.isNil=fu,n.isNull=lu,n.isNumber=pu,n.isObject=iu,n.isObjectLike=ou,n.isPlainObject=du,n.isRegExp=xp,n.isSafeInteger=hu,n.isSet=Cp,n.isString=vu,n.isSymbol=gu,n.isTypedArray=Tp,n.isUndefined=mu,n.isWeakMap=yu,n.isWeakSet=bu,n.join=_a,n.kebabCase=Wp,n.last=wa,n.lastIndexOf=xa,n.lowerCase=zp,n.lowerFirst=Vp,n.lt=$p,n.lte=Ap,n.max=Kc,n.maxBy=Jc,n.mean=Qc,n.meanBy=Gc,n.min=Zc,n.minBy=Yc,n.stubArray=qc,n.stubFalse=Hc,n.stubObject=Bc,n.stubString=Uc,n.stubTrue=Wc,n.multiply=pd,n.nth=Ca,n.noConflict=Lc,n.noop=Rc,n.now=op,n.pad=cc,n.padEnd=lc,n.padStart=fc,n.parseInt=pc,n.random=rc,n.reduce=gs,n.reduceRight=ms,n.repeat=dc,n.replace=hc,n.result=Vu,n.round=dd,n.runInContext=t,n.sample=bs,n.size=xs,n.snakeCase=Xp,n.some=Cs,n.sortedIndex=Oa,n.sortedIndexBy=ja,n.sortedIndexOf=Na,n.sortedLastIndex=Da,n.sortedLastIndexBy=Ia,n.sortedLastIndexOf=La,n.startCase=Kp,n.startsWith=gc,n.subtract=hd,n.sum=tl,n.sumBy=el,n.template=mc,n.times=zc,n.toFinite=wu,n.toInteger=xu,n.toLength=Cu,n.toLower=yc,n.toNumber=Tu,n.toSafeInteger=Au,n.toString=ku,n.toUpper=bc,n.trim=_c,n.trimEnd=wc,n.trimStart=xc,n.truncate=Cc,n.unescape=Tc,n.uniqueId=Xc,n.upperCase=Jp,n.upperFirst=Qp,n.each=fs,n.eachRight=ps,n.first=ma,Ic(n,function(){var t={};return dr(n,function(e,r){gl.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:zl(xu(n),0);var r=this.__filtered__&&!e?new _(this):this.clone();return r.__filtered__?r.__takeCount__=Vl(n,r.__takeCount__):r.__views__.push({size:Vl(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:xo(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(Oc)},_.prototype.find=function(t){return this.filter(t).head()},_.prototype.findLast=function(t){return this.reverse().find(t)},_.prototype.invokeMap=ni(function(t,e){return"function"==typeof t?new _(this):this.map(function(n){return $r(n,t,e)})}),_.prototype.reject=function(t){return this.filter(Ns(xo(t)))},_.prototype.slice=function(t,e){t=xu(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=xu(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)},dr(_.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||mp(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:Za,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=fl[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(mp(n)?n:[],t)}return this[r](function(n){return e.apply(mp(n)?n:[],t)})}}),dr(_.prototype,function(t,e){var r=n[e];if(r){var i=r.name+"";(of[i]||(of[i]=[])).push({name:e,func:r})}}),of[Zi(it,mt).name]=[{name:"wrapper",func:it}],_.prototype.clone=S,_.prototype.reverse=G,_.prototype.value=et,n.prototype.at=Qf,n.prototype.chain=Ya,n.prototype.commit=ts,n.prototype.next=es,n.prototype.plant=rs,n.prototype.reverse=is,n.prototype.toJSON=n.prototype.valueOf=n.prototype.value=os,n.prototype.first=n.prototype.head,Nl&&(n.prototype[Nl]=ns),n}();Dn._=Jn,(i=function(){return Jn}.call(e,n,e,r))!==it&&(r.exports=i)}).call(this)}).call(e,n(2),n(12)(t))},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){var r,i;!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}):Et.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(Dt)||[],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:qt.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(Ht,"-$&").toLowerCase(),"string"==typeof(n=t.getAttribute(r))){try{n=m(n)}catch(t){}Mt.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)&&Ut.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=Xt[r];return i||(e=n.body.appendChild(n.createElement(r)),i=yt.css(e,"display"),e.parentNode.removeChild(e),"none"===i&&(i="block"),Xt[r]=i,i)}function w(t,e){for(var n,r,i=[],o=0,a=t.length;o-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++];)Qt.test(o.type||"")&&n.push(o);return f}function $(){return!0}function A(){return!1}function k(){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=A;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=ae.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(Ft.hasData(t)&&(o=Ft.access(t),a=Ft.set(e,o),c=o.events)){delete a.handle,a.events={};for(i in c)for(n=0,r=c[i].length;n1&&"string"==typeof h&&!mt.checkClone&&oe.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=0&&nw.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="";e1?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-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!==k)||((e=n).nodeType?u(t,n,r):c(t,n,r));return e=null,i}];s1&&d(l),s>1&&f(t.slice(0,s-1).concat({value:" "===t[s-2].type?"*":""})).replace(ot,"$1"),n,s0,o=t.length>0,a=function(r,a,s,u,c){var l,f,p,d=0,h="0",g=r&&[],m=[],y=k,b=r||o&&w.find.TAG("*",c),_=q+=null==y?1:Math.random()||.1,x=b.length;for(c&&(k=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&&(q=_)}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&&(q=_,k=y),g};return i?r(a):a}var b,_,w,x,C,T,$,A,k,E,S,O,j,N,D,I,L,R,P,F="sizzle"+1*new Date,M=t.document,q=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+~]|"+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(M.childNodes),M.childNodes),X[M.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:M;return r!==j&&9===r.nodeType&&r.documentElement?(j=r,N=j.documentElement,D=!C(j),M!==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="",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="";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===M&&P(M,t)?-1:e===j||e.ownerDocument===M&&P(M,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]===M?-1:u[r]===M?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]===q&&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]=[q,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]===q&&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]=[q,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=0;)t.push(r);return t}),gt:u(function(t,e,n){for(var r=n<0?n+e:n;++r2&&"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="","#"===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="",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=Ct,yt.expr=Ct.selectors,yt.expr[":"]=yt.expr.pseudos,yt.uniqueSort=yt.unique=Ct.uniqueSort,yt.text=Ct.getText,yt.isXMLDoc=Ct.isXML,yt.contains=Ct.contains,yt.escapeSelector=Ct.escape;var Tt=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},$t=function(t,e){for(var n=[];t;t=t.nextSibling)1===t.nodeType&&t!==e&&n.push(t);return n},At=yt.expr.match.needsContext,kt=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,Et=/^.[^:#\[\.,]*$/;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;e1?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&&At.test(t)?yt(t):t||[],!1).length}});var St,Ot=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(yt.fn.init=function(t,e,n){var r,i;if(!t)return this;if(n=n||St,"string"==typeof t){if(!(r="<"===t[0]&&">"===t[t.length-1]&&t.length>=3?[null,t,null]:Ot.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)),kt.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,St=yt(at);var jt=/^(?:parents|prev(?:Until|All))/,Nt={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-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 Tt(t,"parentNode")},parentsUntil:function(t,e,n){return Tt(t,"parentNode",n)},next:function(t){return l(t,"nextSibling")},prev:function(t){return l(t,"previousSibling")},nextAll:function(t){return Tt(t,"nextSibling")},prevAll:function(t){return Tt(t,"previousSibling")},nextUntil:function(t,e,n){return Tt(t,"nextSibling",n)},prevUntil:function(t,e,n){return Tt(t,"previousSibling",n)},siblings:function(t){return $t((t.parentNode||{}).firstChild,t)},children:function(t){return $t(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&&(Nt[t]||yt.uniqueSort(i),jt.test(t)&&i.reverse()),this.pushStack(i)}});var Dt=/[^\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-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&&(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 It=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;yt.Deferred.exceptionHook=function(t,e){n.console&&n.console.warn&&t&&It.test(t.name)&&n.console.warn("jQuery.Deferred exception: "+t.message,t.stack,e)},yt.readyException=function(t){n.setTimeout(function(){throw t})};var Lt=yt.Deferred();yt.fn.ready=function(t){return Lt.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||Lt.resolveWith(at,[yt]))}}),yt.ready.then=Lt.then,"complete"===at.readyState||"loading"!==at.readyState&&!at.documentElement.doScroll?n.setTimeout(yt.ready):(at.addEventListener("DOMContentLoaded",v),n.addEventListener("load",v));var Rt=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)Rt(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(;s1,null,!0)},removeData:function(t){return this.each(function(){Mt.remove(this,t)})}}),yt.extend({queue:function(t,e,n){var r;if(t)return e=(e||"fx")+"queue",r=Ft.get(t,e),n&&(!r||Array.isArray(n)?r=Ft.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 Ft.get(t,n)||Ft.access(t,n,{empty:yt.Callbacks("once memory").add(function(){Ft.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\x20\t\r\n\f]+)/i,Qt=/^$|\/(?:java|ecma)script/i,Gt={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};Gt.optgroup=Gt.option,Gt.tbody=Gt.tfoot=Gt.colgroup=Gt.caption=Gt.thead,Gt.th=Gt.td;var Zt=/<|&#?\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="",mt.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var Yt=at.documentElement,te=/^key/,ee=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ne=/^([^.]*)(?:\.(.+)|)/;yt.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,c,l,f,p,d,h,v,g=Ft.get(t);if(g)for(n.handler&&(o=n,n=o.handler,i=o.selector),i&&yt.find.matchesSelector(Yt,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(Dt)||[""],c=e.length;c--;)s=ne.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=Ft.hasData(t)&&Ft.get(t);if(g&&(u=g.events)){for(e=(e||"").match(Dt)||[""],c=e.length;c--;)if(s=ne.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)&&Ft.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=(Ft.get(this,"events")||{})[s.type]||[],l=yt.event.special[s.type]||{};for(u[0]=s,e=1;e=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==t.type||!0!==c.disabled)){for(o=[],a={},n=0;n-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\x20\t\r\n\f]*)[^>]*)\/>/gi,ie=/\s*$/g;yt.extend({htmlPrefilter:function(t){return t.replace(re,"<$1>")},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;r0&&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(Pt(n)){if(e=n[Ft.expando]){if(e.events)for(r in e.events)i[r]?yt.event.remove(n,r):yt.removeEvent(n,r,e.handle);n[Ft.expando]=void 0}n[Mt.expando]&&(n[Mt.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 Rt(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 Rt(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&&!ie.test(t)&&!Gt[(Jt.exec(t)||["",""])[1].toLowerCase()]){t=yt.htmlPrefilter(t);try{for(;n1)}}),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 me,ye,be=/^(?:toggle|show|hide)$/,_e=/queueHooks$/;yt.Animation=yt.extend(Q,{tweeners:{"*":[function(t,e){var n=this.createTween(t,e);return b(n.elem,t,Ut.exec(e),n),n}]},tweener:function(t,e){yt.isFunction(t)?(e=t,t=["*"]):t=t.match(Dt);for(var n,r=0,i=t.length;r1)},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)?we: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(Dt);if(i&&1===t.nodeType)for(;n=i[r++];)t.removeAttribute(n)}}),we={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=xe[e]||yt.find.attr;xe[e]=function(t,e,r){var i,o,a=e.toLowerCase();return r||(o=xe[a],xe[a]=i,i=null!=n(t,e,r)?a:null,xe[a]=o),i}});var Ce=/^(?:input|select|textarea|button)$/i,Te=/^(?:a|area)$/i;yt.fn.extend({prop:function(t,e){return Rt(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):Ce.test(t.nodeName)||Te.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(Dt)||[];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(Dt)||[];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(Dt)||[];e=o[r++];)i.hasClass(e)?i.removeClass(e):i.addClass(e);else void 0!==t&&"boolean"!==n||(e=Z(this),e&&Ft.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===t?"":Ft.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}});var $e=/\r/g;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($e,""):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-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 Ae=/^(?: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&&!Ae.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,Ae.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=(Ft.get(a,"events")||{})[t.type]&&Ft.get(a,"handle"),l&&l.apply(a,e),(l=c&&a[c])&&l.apply&&Pt(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)||!Pt(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=Ft.access(r,e);i||r.addEventListener(t,n,!0),Ft.access(r,e,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=Ft.access(r,e)-1;i?Ft.access(r,e,i):(r.removeEventListener(t,n,!0),Ft.remove(r,e))}}});var ke=n.location,Ee=yt.now(),Se=/\?/;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 Oe=/\[\]$/,je=/\r?\n/g,Ne=/^(?:submit|button|image|reset|file)$/i,De=/^(?: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")&&De.test(this.nodeName)&&!Ne.test(t)&&(this.checked||!Kt.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(je,"\r\n")}}):{name:e.name,value:n.replace(je,"\r\n")}}).get()}});var Ie=/%20/g,Le=/#.*$/,Re=/([?&])_=[^&]*/,Pe=/^(.*?):[ \t]*([^\r\n]*)$/gm,Fe=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Me=/^(?:GET|HEAD)$/,qe=/^\/\//,He={},Be={},Ue="*/".concat("*"),We=at.createElement("a");We.href=ke.href,yt.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:ke.href,type:"GET",isLocal:Fe.test(ke.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Ue,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(He),ajaxTransport:tt(Be),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=Pe.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||ke.href)+"").replace(qe,ke.protocol+"//"),h.type=e.method||e.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(Dt)||[""],null==h.crossDomain){c=at.createElement("a");try{c.href=h.url,c.href=c.href,h.crossDomain=We.protocol+"//"+We.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(He,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=!Me.test(h.type),o=h.url.replace(Le,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(Ie,"+")):(d=h.url.slice(o.length),h.data&&(o+=(Se.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Re,"$1"),d=(Se.test(o)?"&":"?")+"_="+Ee+++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]?", "+Ue+"; 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(Be,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 ze={0:200,1223:204},Ve=yt.ajaxSettings.xhr();mt.cors=!!Ve&&"withCredentials"in Ve,mt.ajax=Ve=!!Ve,yt.ajaxTransport(function(t){var e,r;if(mt.cors||Ve&&!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(ze[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(" diff --git a/resources/views/components/quill-editor.blade.php b/resources/views/components/quill-editor.blade.php deleted file mode 100755 index ea6407081..000000000 --- a/resources/views/components/quill-editor.blade.php +++ /dev/null @@ -1,39 +0,0 @@ - -

-
- - - diff --git a/resources/views/components/uploaded-files-list.blade.php b/resources/views/components/uploaded-files-list.blade.php deleted file mode 100755 index 6bab4733a..000000000 --- a/resources/views/components/uploaded-files-list.blade.php +++ /dev/null @@ -1,49 +0,0 @@ -
- - - - - - @if($upload_type == 'syllabus' && $parent == 'class') - - @elseif($upload_type == 'routine' && $parent == 'section') - - @elseif($upload_type == 'certificate') - - @endif - - - - - - @foreach($files as $file) - - - - @if($upload_type == 'syllabus' && $parent == 'class') - - @elseif($upload_type == 'routine' && $parent == 'section') - - @elseif($upload_type == 'certificate') - @isset($file->student->name) - - @endisset - @empty($file->student) - - @endempty - @endif - - - - @endforeach - -
#@lang('File Name')@lang('Class')@lang('section')Certificates@lang('Is Active')@lang('Action')
{{($loop->index + 1)}}{{$file->title}}{{$file->myclass->class_number}}{{$file->section->section_number}}{{$file->student->name}}Student Code: {{$file->given_to}} does not exist{{($file->active === 1)?'Yes':'No'}} - delete @lang('Remove') - - -
-
diff --git a/resources/views/components/user-board-exam.blade.php b/resources/views/components/user-board-exam.blade.php deleted file mode 100755 index acf23dda2..000000000 --- a/resources/views/components/user-board-exam.blade.php +++ /dev/null @@ -1,49 +0,0 @@ -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@lang('Group'):{{$group}}
@lang('Roll'):{{$roll}}
@lang('Registration'):{{$registration}}
@lang('Session'):{{$session}}
@lang('Board'):{{$board}}
@lang('Passing Year'):{{$passing_year}}
@lang('Institution Name'):{{$institution_name}}
@lang('GPA'):{{$gpa}}
-
-
-
diff --git a/resources/views/components/user-profile.blade.php b/resources/views/components/user-profile.blade.php deleted file mode 100755 index c314b54e2..000000000 --- a/resources/views/components/user-profile.blade.php +++ /dev/null @@ -1,280 +0,0 @@ -
-
- @if(!empty($user->pic_path)) - Profile Picture - @else - @if(strtolower($user->gender) == trans('male')) - - @else - - @endif - @endif - @if(\Auth::user()->role == 'admin') -
- - - @component('components.file-uploader',['upload_type'=>'profile']) - @endcomponent -
- @endif -
-
-

{{$user->name}} {{ucfirst($user->role)}} {{ucfirst($user->gender)}} - @if ($user->role == 'teacher' && $user->section_id > 0) - @lang('Class Teacher of Section'): {{ucfirst($user->section->section_number)}} - @endif - - @if($user->role == "student") - -
-
-
-
-

{{$user->section->class->school->name}}

-
{{$user->section->class->school->about}}
-
-
-

@lang('Student Profile')

-
@lang('Printing Date'): {{Carbon\Carbon::now()->format('d/m/Y')}}
-
-
-
-
-
-
-

- @lang('Academic Information') -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
@lang('Student ID'):{{$user->student_code}}@lang('Student\'s Name'):{{$user->name}}
@lang('Class'):{{$user->section->class->class_number}}@lang('Section'):{{$user->section->section_number}}
@lang('Session'):@isset($user->studentInfo['session']){{$user->studentInfo['session']}}@endisset@lang('Version'):@isset($user->studentInfo['version']){{$user->studentInfo['version']}}@endisset
@lang('Group'):@isset($user->studentInfo['group']){{$user->studentInfo['group']}}@endisset
-
-
- @if(!empty($user->pic_path)) - @lang('Profile Picture') - @else - @if(strtolower($user->gender) == trans('male')) - @lang('Profile Picture') - @else - @lang('Profile Picture') - @endif - @endif -
-
-
-
-
-

- @lang('Personal details') -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@lang('Email'):{{$user->email}}@lang('Contact Number'){{$user->phone_number}}
@lang('Gender'):{{$user->gender}}@lang('Blood Group'):{{$user->blood_group}}
@lang('Nationality'):{{$user->nationality}}@lang('Birthday'):{{Carbon\Carbon::parse($user->birthday)->format('d/m/Y')}}
@lang('Religion'):@isset($user->studentInfo['religion']){{$user->studentInfo['religion']}}@endisset@lang('Father Name'):@isset($user->studentInfo['father_name']){{$user->studentInfo['father_name']}}@endisset
@lang('Mother Name'):@isset($user->studentInfo['mother_name']){{$user->studentInfo['mother_name']}}@endisset@lang('Address'):{{$user->address}}
@lang('Phone Number'):{{$user->phone_number}}@lang('Father\'s Phone Number'):@isset($user->studentInfo['father_phone_number']){{$user->studentInfo['father_phone_number']}}@endisset
@lang('Father\'s National ID'):@isset($user->studentInfo['father_national_id']){{$user->studentInfo['father_national_id']}}@endisset@lang('Father\'s Occupation'):@isset($user->studentInfo['father_occupation']){{$user->studentInfo['father_occupation']}}@endisset
@lang('Father\'s Designation'):@isset($user->studentInfo['father_designation']){{$user->studentInfo['father_designation']}}@endisset@lang('Father\'s Annual Income'):@isset($user->studentInfo['father_annual_income']){{$user->studentInfo['father_annual_income']}}@endisset
@lang('Mother\'s Phone Number'):@isset($user->studentInfo['mother_phone_number']){{$user->studentInfo['mother_phone_number']}}@endisset@lang('Mother\'s National ID'):@isset($user->studentInfo['mother_national_id']){{$user->studentInfo['mother_national_id']}}@endisset
@lang('Mother\'s Occupation'):@isset($user->studentInfo['mother_occupation']){{$user->studentInfo['mother_occupation']}}@endisset@lang('Mother\'s Designation'):@isset($user->studentInfo['mother_designation']){{$user->studentInfo['mother_designation']}}@endisset
@lang('Mother\'s Annual Income'):@isset($user->studentInfo['mother_annual_income']){{$user->studentInfo['mother_annual_income']}}@endisset@lang('About'):{{$user->about}}
-
-
-
-
- - @endif -

-
- - - - @if($user->role == "student") - - - - - @else - - - - - @endif - - @if($user->role == "student") - - - - - - - - - - - - - - - - - - - @endif - - - - - - - @if($user->role == "student") - - - - - - - @endif - - - - - - - @if($user->role == "student") - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @endif - -
@lang('Code'):{{$user->student_code}}@lang('Session'):@isset($user->studentInfo['session']){{$user->studentInfo['session']}}@endisset@lang('Code'):{{$user->student_code}}@lang('About'):{{$user->about}}
@lang('Class'):{{$user->section->class->class_number}}@lang('Section'):{{$user->section->section_number}}
@lang('Version'):@isset($user->studentInfo['version']){{$user->studentInfo['version']}}@endisset@lang('Blood Group'):{{$user->blood_group}}
@lang('Group'):@isset($user->studentInfo['group']){{$user->studentInfo['group']}}@endisset@lang('Birthday'):{{Carbon\Carbon::parse($user->birthday)->format('d/m/Y')}}
@lang('Nationality'):{{$user->nationality}}@lang('Religion'):@isset($user->studentInfo['religion']){{$user->studentInfo['religion']}}@endisset
@lang('Father Name'):@isset($user->studentInfo['father_name']){{$user->studentInfo['father_name']}}@endisset@lang('Mother Name'):@isset($user->studentInfo['mother_name']){{$user->studentInfo['mother_name']}}@endisset
@lang('Address'):{{$user->address}}@lang('Phone Number'):{{$user->phone_number}}
@lang('Father\'s Phone Number'):@isset($user->studentInfo['father_phone_number']){{$user->studentInfo['father_phone_number']}}@endisset@lang('Father\'s National ID'):@isset($user->studentInfo['father_national_id']){{$user->studentInfo['father_national_id']}}@endisset
@lang('Father\'s Occupation'):@isset($user->studentInfo['father_occupation']){{$user->studentInfo['father_occupation']}}@endisset@lang('Father\'s Designation'):@isset($user->studentInfo['father_designation']){{$user->studentInfo['father_designation']}}@endisset
@lang('Father\'s Annual Income'):@isset($user->studentInfo['father_annual_income']){{$user->studentInfo['father_annual_income']}}@endisset@lang('Mother\'s Phone Number'):@isset($user->studentInfo['mother_phone_number']){{$user->studentInfo['mother_phone_number']}}@endisset
@lang('Mother\'s National ID'):@isset($user->studentInfo['mother_national_id']){{$user->studentInfo['mother_national_id']}}@endisset@lang('Mother\'s Occupation'):@isset($user->studentInfo['mother_occupation']){{$user->studentInfo['mother_occupation']}}@endisset
@lang('Mother\'s Designation'):@isset($user->studentInfo['mother_designation']){{$user->studentInfo['mother_designation']}}@endisset@lang('Mother\'s Annual Income'):@isset($user->studentInfo['mother_annual_income']){{$user->studentInfo['mother_annual_income']}}@endisset
@lang('About'):{{$user->about}}
-
-
-
diff --git a/resources/views/components/user.blade.php b/resources/views/components/user.blade.php deleted file mode 100755 index 4ce1a0b16..000000000 --- a/resources/views/components/user.blade.php +++ /dev/null @@ -1,91 +0,0 @@ -@extends('layouts.app') - -@if(count($user) > 0) - @section('title', $user->name) -@endif - -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
-
- @if(count($user) > 0) -
- @if (session('status')) -
- {{ session('status') }} -
- @endif - - @component('components.user-profile',['user'=>$user]) - @endcomponent -
- @else -
- @lang('No Related Data Found.') -
- @endif -
-
- @if($user->role == "student") -

Board Exams

-
- @component('components.user-board-exam',[ - 'exam_name'=>'PSC', - 'group'=>$user->psc_group, - 'roll'=>$user->psc_roll, - 'registration'=>$user->psc_registration, - 'session'=>$user->psc_session, - 'board'=>$user->psc_board, - 'passing_year'=>$user->psc_passing_year, - 'institution_name'=>$user->psc_institution_name, - 'gpa'=>$user->psc_gpa, - ]) - @endcomponent - @component('components.user-board-exam',[ - 'exam_name'=>'JSC', - 'group'=>$user->jsc_group, - 'roll'=>$user->jsc_roll, - 'registration'=>$user->jsc_registration, - 'session'=>$user->jsc_session, - 'board'=>$user->jsc_board, - 'passing_year'=>$user->jsc_passing_year, - 'institution_name'=>$user->jsc_institution_name, - 'gpa'=>$user->jsc_gpa, - ]) - @endcomponent - @component('components.user-board-exam',[ - 'exam_name'=>'SSC', - 'group'=>$user->ssc_group, - 'roll'=>$user->ssc_roll, - 'registration'=>$user->ssc_registration, - 'session'=>$user->ssc_session, - 'board'=>$user->ssc_board, - 'passing_year'=>$user->ssc_passing_year, - 'institution_name'=>$user->ssc_institution_name, - 'gpa'=>$user->ssc_gpa, - ]) - @endcomponent - @component('components.user-board-exam',[ - 'exam_name'=>'HSC', - 'group'=>$user->hsc_group, - 'roll'=>$user->hsc_roll, - 'registration'=>$user->hsc_registration, - 'session'=>$user->hsc_session, - 'board'=>$user->hsc_board, - 'passing_year'=>$user->hsc_passing_year, - 'institution_name'=>$user->hsc_institution_name, - 'gpa'=>$user->hsc_gpa, - ]) - @endcomponent - @endif -
-
-
-
-
-
-@endsection diff --git a/resources/views/components/users-export.blade.php b/resources/views/components/users-export.blade.php deleted file mode 100755 index 1d0d74d8b..000000000 --- a/resources/views/components/users-export.blade.php +++ /dev/null @@ -1,22 +0,0 @@ -@if(Auth::user()->role == 'admin') -
-
-
- - - -
- -
-
- -@endif diff --git a/resources/views/components/users-list.blade.php b/resources/views/components/users-list.blade.php deleted file mode 100755 index 55a8af85b..000000000 --- a/resources/views/components/users-list.blade.php +++ /dev/null @@ -1,149 +0,0 @@ -{{$users->links()}} -
- - - - - @if(Auth::user()->role == 'admin') - @if (!Session::has('section-attendance')) - - @endif - @endif - - - @foreach ($users as $user) - @if($user->role == 'student') - @if(Auth::user()->role == 'student' || Auth::user()->role == 'teacher' || Auth::user()->role == 'admin') - - {{--@if (!Session::has('section-attendance')) - - @endif --}} - @endif - @if (!Session::has('section-attendance')) - - - - - - - @endif - @elseif($user->role == 'teacher') - @if (!Session::has('section-attendance')) - - @if(Auth::user()->role == 'student' || Auth::user()->role == 'teacher' || Auth::user()->role == 'admin') - - @endif - @endif - @elseif($user->role == 'accountant' || $user->role == 'librarian') - @if (!Session::has('section-attendance')) - - @endif - @endif - @break($loop->first) - @endforeach - @if (!Session::has('section-attendance')) - - - - - @endif - - - - @foreach ($users as $key=>$user) - - - @if(Auth::user()->role == 'admin') - @if (!Session::has('section-attendance')) - - @endif - @endif - - - @if($user->role == 'student') - @if(Auth::user()->role == 'student' || Auth::user()->role == 'teacher' || Auth::user()->role == 'admin') - - {{--@if (!Session::has('section-attendance')) - - @endif --}} - @endif - @if (!Session::has('section-attendance')) - - - - - - - @endif - @elseif($user->role == 'teacher') - @if (!Session::has('section-attendance')) - - @if(Auth::user()->role == 'student' || Auth::user()->role == 'teacher' || Auth::user()->role == 'admin') - - @endif - @endif - @elseif($user->role == 'accountant' || $user->role == 'librarian') - @if (!Session::has('section-attendance')) - - @endif - @endif - @if (!Session::has('section-attendance')) - - - - - @endif - - @endforeach - -
#@lang('Action')@lang('Code')@lang('Full Name')@lang('Attendance')@lang('Marks')@lang('Session')@lang('Version')@lang('Class')@lang('Section')@lang('Father')@lang('Mother')@lang('Email')@lang('Courses')@lang('Email')@lang('Gender')@lang('Blood')@lang('Phone')@lang('Address')
{{ ($current_page-1) * $per_page + $key + 1 }} - @lang('Edit') - {{$user->student_code}} - - @if(!empty($user->pic_path)) - - @else - @if(strtolower($user->gender) == trans('male')) -   - @else -   - @endif - @endif - - {{$user->name}} - @lang('View Attendance')@lang('View Marks') - - @isset($user->studentInfo['session']) - {{$user->studentInfo['session']}} - @if($user->studentInfo['session'] == now()->year || $user->studentInfo['session'] > now()->year) - @lang('Promoted/New') - @else - @lang('Not Promoted') - @endif - @endisset - - - @isset($user->studentInfo['version']) - {{ucfirst($user->studentInfo['version'])}} - @endisset{{$user->section->class->class_number}} {{!empty($user->group)? '- '.$user->group:''}}{{$user->section->section_number}} - {{-- @if(Auth::user()->role == 'student' || Auth::user()->role == 'teacher' || Auth::user()->role == 'admin') - - @lang('All Courses') - @endif --}} - - - @isset($user->studentInfo['father_name']) - {{$user->studentInfo['father_name']}} - @endisset - @isset($user->studentInfo['mother_name']) - {{$user->studentInfo['mother_name']}} - @endisset - {{$user->email}} - - - @lang('All Courses') - - - {{$user->email}} - {{ucfirst($user->gender)}}{{$user->blood_group}}{{$user->phone_number}}{{$user->address}}
-
-{{$users->links()}} diff --git a/resources/views/course/class-course.blade.php b/resources/views/course/class-course.blade.php deleted file mode 100755 index 099d55e0b..000000000 --- a/resources/views/course/class-course.blade.php +++ /dev/null @@ -1,44 +0,0 @@ -@extends('layouts.app') - -@section('title', __('Course')) - -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
- @if(Auth::user()->role != 'student') - - @endif -

@lang('Courses Related to Section')

-
- @if(count($courses) > 0) - @foreach ($courses as $course) -
@lang('Section') - {{$course->section->section_number}}  @lang('Class') - {{$course->section->class->class_number}}
- @break($loop->first) - @endforeach -
- @if (session('status')) -
- {{ session('status') }} -
- @endif - - @component('components.course-table',['courses'=>$courses, 'exams'=>$exams, 'student'=>(Auth::user()->role == 'student')?true:false]) - @endcomponent -
- @else -
- @lang('No Related Data Found.') -
- @endif -
-
-
-
-@endsection diff --git a/resources/views/course/edit.blade.php b/resources/views/course/edit.blade.php deleted file mode 100755 index 4decb7440..000000000 --- a/resources/views/course/edit.blade.php +++ /dev/null @@ -1,57 +0,0 @@ -@extends('layouts.app') - -@section('title', __('Course')) - -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
-

@lang('Edit Course Data')

- @if (session('status')) -
- {{ session('status') }} -
- @endif -
-
- {{ csrf_field() }} -
- - -
- - - @if ($errors->has('course_name')) - - {{ $errors->first('course_name') }} - - @endif -
-
-
- - -
- - - @if ($errors->has('course_time')) - - {{ $errors->first('course_time') }} - - @endif -
-
-
-
- -
-
-
-
-
-
-
-@endsection diff --git a/resources/views/course/students.blade.php b/resources/views/course/students.blade.php deleted file mode 100755 index a1ec1221e..000000000 --- a/resources/views/course/students.blade.php +++ /dev/null @@ -1,116 +0,0 @@ -@extends('layouts.app') - -@section('title', __('Course Students')) - -@section('content') - - -
-
-
- @include('layouts.leftside-menubar') -
-
- @if(count($students) > 0) - @foreach ($students as $student) -

@lang('Course Students of Class'): {{$student->student->section->class->class_number}} @lang('Section'): - {{$student->student->section->section_number}}

- @break - @endforeach -

@lang('Select Students to send message')

- @endif -
- @if(count($students) > 0) -
-
- - - - - - - @foreach ($students as $student) - - - - - - @endforeach -
-
- -
-
@lang('Student Code')@lang('Student Name')
-
- -
-
{{$student->student->student_code}}{{$student->student->name}} -
-
-
- @if (session('status')) -
- {{ session('status') }} -
- @endif - @if ($errors->any()) -
-
    - @foreach ($errors->all() as $error) -
  • {{ $error }}
  • - @endforeach -
-
- @endif -
- {{ csrf_field() }} - - -
- - -
- -
-
-
- - @else -
- @lang('No Related Data Found.') -
- @endif -
-
-
-
-@endsection diff --git a/resources/views/course/teacher-course.blade.php b/resources/views/course/teacher-course.blade.php deleted file mode 100755 index 53d397ea4..000000000 --- a/resources/views/course/teacher-course.blade.php +++ /dev/null @@ -1,38 +0,0 @@ -@extends('layouts.app') - -@section('title', __('Course')) - -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
-

@lang('Courses Taken by Teacher')

-
- @if(count($courses) > 0) - @foreach ($courses as $course) -
@lang('Teacher Code') - {{$course->teacher->student_code}}  @lang('Name') - {{$course->teacher->name}}
- @break($loop->first) - @endforeach -
- @if (session('status')) -
- {{ session('status') }} -
- @endif - - @component('components.course-table',['courses'=>$courses, 'exams'=>$exams, 'student'=>false]) - @endcomponent -
- @else -
- @lang('No Related Data Found.') -
- @endif -
-
-
-
-@endsection diff --git a/resources/views/email/user/welcome.blade.php b/resources/views/email/user/welcome.blade.php deleted file mode 100755 index 7ecb2f11b..000000000 --- a/resources/views/email/user/welcome.blade.php +++ /dev/null @@ -1,27 +0,0 @@ -@component('mail::message') - -# @lang('Welcome to') {{ config('app.name') }} - -@lang('Hi') {{ $name }}, - -@lang('We are glad to have you on board.') - -@if(!is_null($password)) -@lang('Your login details are as follows:') - -**@lang('Email')**: {{ $email }} - -**@lang('Password')**: {{ $password }} - -@lang('You can change your password once logged-in.') -@else -@lang('Please ask site administrator to know your login access.') -@endif - -@component('mail::button', ['url' => url('login')]) -@lang('Visit site') -@endcomponent - -@lang('Thanks'),
-{{ config('app.name') }} -@endcomponent \ No newline at end of file diff --git a/resources/views/events/create.blade.php b/resources/views/events/create.blade.php deleted file mode 100755 index 74c4d02d9..000000000 --- a/resources/views/events/create.blade.php +++ /dev/null @@ -1,30 +0,0 @@ -@extends('layouts.app') - -@section('title', __('Add Event')) - -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
-
-
@lang('Add Event') -
-
- @if (session('status')) -
- {{ session('status') }} -
- @endif - @component('components.file-uploader',['upload_type'=>'event']) - @endcomponent - @component('components.uploaded-files-list',['files'=>$files,'upload_type'=>'event']) - @endcomponent -
-
-
-
-
-@endsection diff --git a/resources/views/exams/active.blade.php b/resources/views/exams/active.blade.php deleted file mode 100755 index d5990efce..000000000 --- a/resources/views/exams/active.blade.php +++ /dev/null @@ -1,27 +0,0 @@ -@extends('layouts.app') -@section('title', __('All Active Examinations')) -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
-
-
@lang('All Active Examinations')
- -
-
- @if(count($exams) > 0) - @foreach($exams as $exam) - @component('components.active-exams',['exam'=>$exam,'courses'=>$courses]) - @endcomponent - @endforeach - @endif -
-
-
-
-
-
-@endsection diff --git a/resources/views/exams/add.blade.php b/resources/views/exams/add.blade.php deleted file mode 100755 index ebca24536..000000000 --- a/resources/views/exams/add.blade.php +++ /dev/null @@ -1,27 +0,0 @@ -@extends('layouts.app') -@section('title', __('Add Examination')) -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
-
-
@lang('Add Examination')
- -
- @if (session('status')) -
- {{ session('status') }} -
- @endif - - @component('components.add-exam-form',['classes'=>$classes,'assigned_classes'=>$already_assigned_classes,]) - @endcomponent -
-
-
-
-
-@endsection diff --git a/resources/views/exams/all.blade.php b/resources/views/exams/all.blade.php deleted file mode 100755 index 206e1beb6..000000000 --- a/resources/views/exams/all.blade.php +++ /dev/null @@ -1,27 +0,0 @@ -@extends('layouts.app') -@section('title', __('All Examinations')) -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
-
-
@lang('All Examinations')
- -
- @if (session('status')) -
- {{ session('status') }} -
- @endif - - @component('components.exams-list',['exams'=>$exams]) - @endcomponent -
-
-
-
-
-@endsection diff --git a/resources/views/fees/all.blade.php b/resources/views/fees/all.blade.php deleted file mode 100755 index f1c53821e..000000000 --- a/resources/views/fees/all.blade.php +++ /dev/null @@ -1,82 +0,0 @@ -@extends('layouts.app') - -@section('title', __('All Fees')) - -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
-
-
@lang('All Fees') - -
-
- @if (session('status')) -
- {{ session('status') }} -
- @endif - @component('components.fees-list',['fees'=>$fees]) - @endcomponent -
-
-
-
-
- -@endsection diff --git a/resources/views/fees/create.blade.php b/resources/views/fees/create.blade.php deleted file mode 100755 index f9e42276a..000000000 --- a/resources/views/fees/create.blade.php +++ /dev/null @@ -1,47 +0,0 @@ -@extends('layouts.app') - -@section('title', __('Add Form Field')) - -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
-
-
@lang('Add Form Field') -
-
- @if (session('status')) -
- {{ session('status') }} -
- @endif -
- {{ csrf_field() }} -
- - -
- - - @if ($errors->has('fee_name')) - - {{ $errors->first('fee_name') }} - - @endif -
-
-
-
- -
-
-
-
-
-
-
-
-@endsection diff --git a/resources/views/gpa/all.blade.php b/resources/views/gpa/all.blade.php deleted file mode 100755 index e33a00e09..000000000 --- a/resources/views/gpa/all.blade.php +++ /dev/null @@ -1,72 +0,0 @@ -@extends('layouts.app') -@section('title', __('All GPA Systems')) -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
-
-
@lang('All GPA Systems')
- -
- @if (session('status')) -
- {{ session('status') }} -
- @endif - - @foreach($gpas as $g) - grade_system_name != $gpaName){ - $gpaName = $g->grade_system_name; - } else { - continue; - } - ?> -

{{$g->grade_system_name}}

-
- - - - - - - - - - - - @foreach($gpas as $gpa) - @if($gpa->grade_system_name != $gpaName) - @continue - @endif - - - - - - - {{-- - --}} - - @endforeach - -
#@lang('Grade')@lang('Point')@lang('From Mark')@lang('To Mark')
{{($loop->index + 1)}}{{$gpa->grade}}{{$gpa->point}}{{$gpa->from_mark}}{{$gpa->to_mark}} -
- {{csrf_field()}} - - -
-
-
- @endforeach -
-
-
-
-
-@endsection diff --git a/resources/views/gpa/create.blade.php b/resources/views/gpa/create.blade.php deleted file mode 100755 index e9b5ac517..000000000 --- a/resources/views/gpa/create.blade.php +++ /dev/null @@ -1,98 +0,0 @@ -@extends('layouts.app') -@section('title', __('Add GPA System')) -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
-
-
@lang('Add GPA System')
- -
- @if (session('status')) -
- {{ session('status') }} -
- @endif - -
- {{ csrf_field() }} -
- - -
- - - @if ($errors->has('grade_system_name')) - - {{ $errors->first('grade_system_name') }} - - @endif -
-
-
- - -
- - - @if ($errors->has('grade')) - - {{ $errors->first('grade') }} - - @endif -
-
-
- - -
- - - @if ($errors->has('point')) - - {{ $errors->first('point') }} - - @endif -
-
-
- - -
- - - @if ($errors->has('from_mark')) - - {{ $errors->first('from_mark') }} - - @endif -
-
-
- - -
- - - @if ($errors->has('to_mark')) - - {{ $errors->first('to_mark') }} - - @endif -
-
-
-
- -
-
-
-
-
-
-
-
-@endsection diff --git a/resources/views/grade/all-exams-grade.blade.php b/resources/views/grade/all-exams-grade.blade.php deleted file mode 100755 index c2924114b..000000000 --- a/resources/views/grade/all-exams-grade.blade.php +++ /dev/null @@ -1,74 +0,0 @@ -@extends('layouts.app') - -@section('title', __('Grade')) - -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
-

@lang('Marks and Grades of All Classes')

-
- @if(count($classes) > 0) -
- @if (session('status')) -
- {{ session('status') }} -
- @endif -
- @foreach($classes as $class) -
- -
-
- - - - - - - - - - @foreach($sections as $section) - @if($class->id == $section->class_id) - - - - - - @endif - @endforeach - -
@lang('Section Name')@lang('View Each Student\'s Grade History')@lang('View all Students Marks under this Section')
- {{$section->section_number}} - - visibility @lang('View Each Student\'s Grade History') - - visibility @lang('View all Students Marks under this Section') -
-
-
-
- @endforeach -
-
- @else -
- @lang('No Related Data Found.') -
- @endif -
-
-
-
-@endsection diff --git a/resources/views/grade/class-result.blade.php b/resources/views/grade/class-result.blade.php deleted file mode 100755 index 8b22209cf..000000000 --- a/resources/views/grade/class-result.blade.php +++ /dev/null @@ -1,66 +0,0 @@ -@extends('layouts.app') - -@section('title', __('Grade')) - -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
- @if(Auth::user()->role != 'student') - - @endif -

@lang('Marks and Grades')

-
- @if(count($grades) > 0) -
- @if (session('status')) -
- {{ session('status') }} -
- @endif - @foreach($grades as $grade) - @lang('Class'): {{$grade->course->class->class_number}}   - @lang('Section'): {{$grade->student->section->section_number}} - @break - @endforeach - - - - - - - - - - - - - @foreach($grades as $grade) - - - - - - - - - @endforeach - -
@lang('Exam Name')@lang('Course Name')@lang('Student Code')@lang('Student Name')@lang('Total Mark')@lang('GPA')
{{$grade->exam->exam_name}}{{$grade->course->course_name}}{{$grade->student->student_code}}{{$grade->student->name}}{{$grade->marks}}{{$grade->gpa}}
-
- @else -
- @lang('No Related Data Found.') -
- @endif -
-
-
-
-@endsection diff --git a/resources/views/grade/course-grade.blade.php b/resources/views/grade/course-grade.blade.php deleted file mode 100755 index 31a09e4e5..000000000 --- a/resources/views/grade/course-grade.blade.php +++ /dev/null @@ -1,200 +0,0 @@ -@extends('layouts.app') - -@section('title', __('Grade')) - -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
- @if (session('status')) -
- {{ session('status') }} -
- @endif - @if ($errors->any()) -
-
    - @foreach ($errors->all() as $error) -
  • {{ $error }}
  • - @endforeach -
-
- @endif -
- {{csrf_field()}} - -
- @if(count($grades) > 0) - @foreach ($grades as $grade) -
@lang('Course') - {{$grade->course->course_name}}   @lang('Class') - {{$grade->course->section->class->class_number}}  @lang('Section') - {{$grade->course->section->section_number}}  @lang('Exam') - {{$grade->exam->exam_name}} - -
- @break($loop->first) - @endforeach -
-
- -
    -
  • - @lang('Select which Grade System you want to use.') -
  • -
  • - @lang('Count Example'): @lang('If you take 3 Quizes and want to count best 2, then Quiz Count is 2.') -
  • -
  • - @lang('Percentage Example'): @lang('Total percentage must be 100%. You can put 100% to a field or distribute it according to your need. Full mark is also needed for Percentage to work'). -
  • -
  • - @lang('Full Mark Example'): @lang('If you take a Class Test where full mark is 15, then Full mark for Class Test is 15'). -
  • -
-
- - - - - - - - - - - - - - - @foreach ($grades as $grade) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - course->section->id; - ?> - @break($loop->first) - @endforeach -
@lang('Select Grade System')@lang('Quiz Count')@lang('Assignment Count')@lang('Class Test Count')@lang('Attendance %')@lang('Assignment ')%@lang('Quiz %')@lang('Class Test %')
- - - - - - - - - - - - - - - -
@lang('Final Exam %')@lang('Practical %') - @lang('Quiz Full Marks') - - @lang('Assignment Full Marks') - - @lang('CT Full Marks') - - @lang('Final Exam Full Marks') - - @lang('Practical Full Marks') - - @lang('Attendance Full Marks') -
- - - - - - - - - - - - - - - -
-
- @else -
- @lang('No Related Data Found.') -
- @endif -
-
-
- @if(count($grades) > 0) -
-
- {{csrf_field()}} - @lang('Give Marks to Students') - - - - @foreach($gradesystems as $gs) - - @endforeach - - - -
-
-
- @include('layouts.teacher.grade-form') -
- @else -
- @lang('No Related Data Found.') -
- @endif -
-
-
-
-@endsection diff --git a/resources/views/grade/student-grade.blade.php b/resources/views/grade/student-grade.blade.php deleted file mode 100755 index 61d3dfe79..000000000 --- a/resources/views/grade/student-grade.blade.php +++ /dev/null @@ -1,49 +0,0 @@ -@extends('layouts.app') - -@section('title', __('Grade')) - -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
- @if(Auth::user()->role != 'student') - - @endif -

@lang('Marks and Grades History')

-
- @if(count($grades) > 0) - @foreach ($grades as $grade) - student->name; - $classNumber = $grade->student->section->class->class_number; - $sectionNumber = $grade->student->section->section_number; - ?> -
@lang('Student Code') - {{$grade->student->student_code}}  @lang('Name') - {{$grade->student->name}}  @lang('Class') - {{$grade->student->section->class->class_number}}  @lang('Section') - {{$grade->student->section->section_number}}
- @break($loop->first) - @endforeach -
- @if (session('status')) -
- {{ session('status') }} -
- @endif - - @include('layouts.student.grade-table') -
- @else -
- @lang('No Related Data Found.') -
- @endif -
-
-
-
-@endsection diff --git a/resources/views/grade/teacher-grade.blade.php b/resources/views/grade/teacher-grade.blade.php deleted file mode 100755 index 0a929e92d..000000000 --- a/resources/views/grade/teacher-grade.blade.php +++ /dev/null @@ -1,266 +0,0 @@ -@extends('layouts.app') - -@section('title', __('Grade')) - -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
-
- @if(count($grades) > 0) -
- @if (session('status')) -
- {{ session('status') }} -
- @endif - @foreach ($grades as $grade) -

- @lang('Marks Given by') - @if(count($grades) > 0) - @foreach ($grades as $grade) - @lang('Teacher Code') - {{$grade->teacher->student_code}}  @lang('Name') - {{$grade->teacher->name}} - @break($loop->first) - @endforeach - @else - @lang('No Related Data Found.') - @endif -

-
-
-
- @lang('Course') - {{$grade->course->course_name}} - @lang('Class') - {{$grade->course->section->class->class_number}} @lang('Section') - {{$grade->course->section->section_number}} - @lang('Exam') - {{$grade->exam->exam_name}} -
-
-
- @if($grade->course->quiz_count > 0) -
- -
- @endif - @if($grade->course->assignment_count > 0) -
- -
- @endif - @if($grade->course->ct_count > 0) -
- -
- @endif -
- @break($loop->first) - @endforeach -
- @else -
- @lang('No Related Data Found.') -
- @endif -
- @if(count($grades) > 0) - @include('layouts.teacher.grade-table') - @else - @lang('No Related Data Found.') - @endif -
-
-
- - - - -@endsection diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php deleted file mode 100755 index 16404deae..000000000 --- a/resources/views/home.blade.php +++ /dev/null @@ -1,187 +0,0 @@ -@extends('layouts.app') - -@section('content') - -
-
-
- @include('layouts.leftside-menubar') -
-
-
-
- @if (session('status')) -
- {{ session('status') }} -
- @endif -
-
@lang('Dashboard')
-
-
-
@lang('Students') - {{$totalStudents}}
-
-
-
-
-
@lang('Teachers') - {{$totalTeachers}}
-
-
-
-
-
@lang('Types of Books In Library') - {{$totalBooks}}
-
-
-
-
-
@lang('Classes') - {{$totalClasses}}
-
-
-
-
-
@lang('Sections') - {{$totalSections}}
-
-
-
-

-
-
-
-
-

@lang('Welcome to') {{Auth::user()->school->name}}

- @lang('Your presence and cooperation will help us to improve the education system of our organization.') -
-
-
-
@lang('Active Exams')
-
- @if(count($exams) > 0) - - - - - - - @foreach($exams as $exam) - - - - - - @endforeach -
@lang('Exam Name')@lang('Notice Published')@lang('Result Published')
{{$exam->exam_name}}{{($exam->notice_published === 1)?__('Yes'):__('No')}}{{($exam->result_published === 1)?__('Yes'):__('No')}}
- @else - @lang('No Active Examination') - @endif -
-
-
-
-
-
@lang('Notices')
-
- @if(count($notices) > 0) - - @else - @lang('No New Notice') - @endif -
-
-
-
-
-
-
-
@lang('Events')
-
- @if(count($events) > 0) - - @else - @lang('No New Event') - @endif -
-
-
-
-
-
@lang('Routines')
-
- @if(count($routines) > 0) - - @else - @lang('No New Routine') - @endif -
-
-
-
-
-
@lang('Syllabus')
-
- @if(count($syllabuses) > 0) - - @else - @lang('No New Syllabus') - @endif -
-
-
-
-
-
-
-
-
-@endsection diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php deleted file mode 100755 index 5052946da..000000000 --- a/resources/views/layouts/app.blade.php +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - @yield('title') - {{ (Auth::check() && (Auth::user()->role == 'student' || Auth::user()->role == 'teacher' - || Auth::user()->role == 'admin' || Auth::user()->role == 'accountant' || Auth::user()->role == - 'librarian'))?Auth::user()->school->name:config('app.name') }} - - - - - - - - @yield('after_scripts') - - - - @include('components.loader') -
- @include('components.navbar-top') - @yield('content') -
- - - - - - - diff --git a/resources/views/layouts/leftside-menubar.blade.php b/resources/views/layouts/leftside-menubar.blade.php deleted file mode 100755 index fcfed20bd..000000000 --- a/resources/views/layouts/leftside-menubar.blade.php +++ /dev/null @@ -1,245 +0,0 @@ - - -{{--@if(Auth::user()->role != 'master') - -@endif--}} - diff --git a/resources/views/layouts/master/add-class-form.blade.php b/resources/views/layouts/master/add-class-form.blade.php deleted file mode 100755 index b59a4c4af..000000000 --- a/resources/views/layouts/master/add-class-form.blade.php +++ /dev/null @@ -1,48 +0,0 @@ - - - - diff --git a/resources/views/layouts/master/add-course-form.blade.php b/resources/views/layouts/master/add-course-form.blade.php deleted file mode 100755 index 92b0d063d..000000000 --- a/resources/views/layouts/master/add-course-form.blade.php +++ /dev/null @@ -1,82 +0,0 @@ - -
-
-
-
- {{csrf_field()}} - - -
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
- -
- - @lang('Example: 12:50PM-01:40PM Sunday') -
-
-
-
- -
-
-
-
-
-
- diff --git a/resources/views/layouts/master/create-section-form.blade.php b/resources/views/layouts/master/create-section-form.blade.php deleted file mode 100755 index 8c3862565..000000000 --- a/resources/views/layouts/master/create-section-form.blade.php +++ /dev/null @@ -1,32 +0,0 @@ - -
- - diff --git a/resources/views/layouts/master/theme-form.blade.php b/resources/views/layouts/master/theme-form.blade.php deleted file mode 100755 index d505ae058..000000000 --- a/resources/views/layouts/master/theme-form.blade.php +++ /dev/null @@ -1,8 +0,0 @@ -
- {{csrf_field()}} - -
- @include('layouts.theme-select') - -
-
diff --git a/resources/views/layouts/master/theme-select.blade.php b/resources/views/layouts/master/theme-select.blade.php deleted file mode 100755 index 4d5041e81..000000000 --- a/resources/views/layouts/master/theme-select.blade.php +++ /dev/null @@ -1,27 +0,0 @@ - - - \ No newline at end of file diff --git a/resources/views/layouts/student/attendances-table.blade.php b/resources/views/layouts/student/attendances-table.blade.php deleted file mode 100755 index 06b7f2400..000000000 --- a/resources/views/layouts/student/attendances-table.blade.php +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - 0){ - $events = array(); - foreach ($attendances as $attendance){ - if($attendance->present == 1){ - $events[] = ['title'=> "Present", 'start' => $attendance->created_at, 'end' => $attendance->updated_at, 'color'=>'green']; - } else if($attendance->present == 2){ - $events[] = ['title'=> "Escaped", 'start' => $attendance->created_at, 'end' => $attendance->updated_at, 'color'=>'orange']; - } else { - $events[] = ['title'=> "Absent", 'start' => $attendance->created_at, 'end' => $attendance->updated_at, 'color'=>'red']; - } - } - } ?> - -
-
@lang('Attendance List of Full Semester')
-
-
- diff --git a/resources/views/layouts/student/grade-table.blade.php b/resources/views/layouts/student/grade-table.blade.php deleted file mode 100755 index d687ef234..000000000 --- a/resources/views/layouts/student/grade-table.blade.php +++ /dev/null @@ -1,177 +0,0 @@ -@if(count($exams) > 0) -@foreach($exams as $exam) -

{{$exam->exam_name}}

-
- - - - - - - @for($i=1;$i<=5;$i++) - - @endfor - @for($i=1;$i<=3;$i++) - - @endfor - @for($i=1;$i<=5;$i++) - - @endfor - @if($grade->course->final_exam_percent > 0) - - - @endif - @if($grade->course->practical_percent > 0) - - @endif - - - - - - - @foreach ($grades as $grade) - - - - - @for($i=1;$i<=5;$i++) - - @endfor - @for($i=1;$i<=3;$i++) - - @endfor - @for($i=1;$i<=5;$i++) - - @endfor - @if($grade->course->final_exam_percent > 0) - - - @endif - @if($grade->course->practical_percent > 0) - - @endif - - - - - @endforeach - -
#@lang('Course')@lang('Attendance')@lang('Quiz') {{$i}}@lang('Assignment') {{$i}}@lang('CT') {{$i}}@lang('Written')@lang('Mcq')@lang('Practical')@lang('Total Marks')@lang('Grade')@lang('Course Teacher')
{{($loop->index + 1)}}{{$grade->course->course_name}}{{$grade->attendance}}{{$grade['quiz'.$i]}}{{$grade['assignment'.$i]}}{{$grade['ct'.$i]}}{{$grade->written}}{{$grade->mcq}}{{$grade->practical}}{{$grade->marks}} - @foreach($gradesystems as $gs) - @if($grade->marks >= $gs->from_mark && $grade->marks <= $gs->to_mark) - {{$gs->grade}} - @break - @endif - @endforeach - {{$grade->teacher->name}}
-
-
- - - - - - - - - - - - - @foreach ($grades as $grade) - @if($grade->exam->id == $exam->id) - - - - - - - - - - - @endif - @endforeach - -
#@lang('Course')@lang('Total Marks')@lang('Grade')@lang('Course Teacher')
{{($loop->index + 1)}}{{$grade->course->course_name}}{{$grade->marks}} - - - @foreach($gradesystems as $gs) - @if($grade->marks >= $gs->from_mark && $grade->marks <= $gs->to_mark) - {{$gs->grade}} - @break - @endif - @endforeach - - {{$grade->teacher->name}} -
-
- -@endforeach -@else - @lang('No related data') -@endif diff --git a/resources/views/layouts/teacher/attendance-form.blade.php b/resources/views/layouts/teacher/attendance-form.blade.php deleted file mode 100755 index ef0ea744b..000000000 --- a/resources/views/layouts/teacher/attendance-form.blade.php +++ /dev/null @@ -1,134 +0,0 @@ - -@if ($errors->any()) -
-
    - @foreach ($errors->all() as $error) -
  • {{ $error }}
  • - @endforeach -
-
-@endif -
- {{ csrf_field() }} - - -
- - - - - - - - - - - - - - - @if (count($attendances) > 0) - - - @foreach ($students as $student) - - @endforeach - @foreach ($attendances as $attendance) - - - - - - @if(count($attCount) > 0) - @foreach ($attCount as $at) - @if($at->student_id == $attendance->student->id) - - - - @else - @continue - @endif - @endforeach - @else - - - - @endif - - - @endforeach - @else - - - @foreach ($students as $student) - - - - - - - @if(count($attCount) > 0) - @foreach ($attCount as $at) - @if($at->student_id == $student->id) - - - - @else - @continue - @endif - @endforeach - @else - - - - @endif - - - @endforeach - @endif - -
#@lang('Student_Code')@lang('Name')@lang('Present')@lang('Total Attended')@lang('Total Missed')@lang('Total Escaped')@lang('Adjust Missed Attendance')
{{($loop->index + 1)}}{{$attendance->student->student_code}} - @if($attendance->present === 1) - @lang('Present') - @elseif($attendance->present === 2) - @lang('Escaped') - @else - @lang('Absent') - @endif - {{$attendance->student->name}} - - - @if($attendance->present === 1) -
- -
- @else -
- -
- @endif -
{{$at->totalPresent}}{{$at->totalAbsent}}{{$at->totalEscaped}}000@lang('Adjust Missing Attendances')
{{($loop->index + 1)}}{{$student->student_code}}@lang('Present') {{$student->name}} -
- -
-
{{$at->totalPresent}}{{$at->totalAbsent}}{{$at->totalEscaped}}000@lang('Adjust Missing Attendances')
-
-
- @lang('Cancel') - @if (count($attendances) > 0) - - @else - - @endif -
-
- \ No newline at end of file diff --git a/resources/views/layouts/teacher/grade-form.blade.php b/resources/views/layouts/teacher/grade-form.blade.php deleted file mode 100755 index 320631dee..000000000 --- a/resources/views/layouts/teacher/grade-form.blade.php +++ /dev/null @@ -1,180 +0,0 @@ -{{--
@lang('Choose Field to Display')
--}} - -
- - @lang('Attendance') - - - @lang('Quiz') 1 - - - @lang('Quiz') 2 - - - @lang('Quiz') 3 - - - @lang('Quiz') 4 - - - @lang('Quiz') 5 - - - @lang('Assignment') 1 - - - @lang('Assignment') 2 - - - @lang('Assignment') 3 - - - @lang('Class Test') 1 - - - @lang('Class Test') 2 - - - @lang('Class Test') 3 - - - @lang('Class Test') 4 - - - @lang('Class Test') 5 - - - @lang('Final Exam Written') - - - @lang('Final Exam MCQ') - - - @lang('Practical') - -
-
-
-
- {{csrf_field()}} - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - @foreach ($grades as $grade) - - - - - - - - - - - - - - - - - - - - - - - - @endforeach - -
#@lang('Code')@lang('Name')@lang('Attendance')@lang('Quiz') 1@lang('Quiz') 2@lang('Quiz') 3@lang('Quiz') 4@lang('Quiz') 5@lang('Assignment') 1@lang('Assignment') 2@lang('Assignment') 3@lang('CT') 1@lang('CT') 2@lang('CT') 3@lang('CT') 4@lang('CT') 5@lang('Written')@lang('MCQ')@lang('Practical')
{{($loop->index + 1)}}{{$grade->student->student_code}}{{$grade->student->name}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- -
-
- - \ No newline at end of file diff --git a/resources/views/layouts/teacher/grade-table.blade.php b/resources/views/layouts/teacher/grade-table.blade.php deleted file mode 100755 index 2627ab995..000000000 --- a/resources/views/layouts/teacher/grade-table.blade.php +++ /dev/null @@ -1,67 +0,0 @@ -
- - - - - - - - @for($i=1;$i<=5;$i++) - - @endfor - @for($i=1;$i<=3;$i++) - - @endfor - @for($i=1;$i<=5;$i++) - - @endfor - @if($grade->course->final_exam_percent > 0) - - - @endif - @if($grade->course->practical_percent > 0) - - @endif - - - - - - - @foreach ($grades as $grade) - - - - - - @for($i=1;$i<=5;$i++) - - @endfor - @for($i=1;$i<=3;$i++) - - @endfor - @for($i=1;$i<=5;$i++) - - @endfor - @if($grade->course->final_exam_percent > 0) - - - @endif - @if($grade->course->practical_percent > 0) - - @endif - - - - - @endforeach - -
#@lang('Student Code')@lang('Student Name')@lang('Attendance')@lang('Quiz') {{$i}}@lang('Assignment') {{$i}}@lang('CT') {{$i}}@lang('Written')@lang('Mcq')@lang('Practical')@lang('Total Marks')@lang('GPA')@lang('Grade')
{{($loop->index + 1)}}{{$grade->student->student_code}}{{$grade->student->name}}{{$grade->attendance}}{{$grade['quiz'.$i]}}{{$grade['assignment'.$i]}}{{$grade['ct'.$i]}}{{$grade->written}}{{$grade->mcq}}{{$grade->practical}}{{$grade->marks}}{{$grade->gpa}} - @foreach($gradesystems as $gs) - @if($gs->point == $grade->gpa) - {{$gs->grade}} - @break - @endif - @endforeach -
-
diff --git a/resources/views/layouts/user.blade.php b/resources/views/layouts/user.blade.php deleted file mode 100755 index 837ad60a2..000000000 --- a/resources/views/layouts/user.blade.php +++ /dev/null @@ -1,35 +0,0 @@ -@extends('layouts.app') - -@if(count($user) > 0) - @section('title', $user->name) -@endif - -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
-
- @if(count($user) > 0) -
- @if (session('status')) -
- {{ session('status') }} -
- @endif - - @component('components.user-profile',['user'=>$user]) - @endcomponent -
- @else -
- @lang('No Related Data Found.') -
- @endif -
-
-
-
-@endsection diff --git a/resources/views/library/books/create-form.blade.php b/resources/views/library/books/create-form.blade.php deleted file mode 100755 index 18c03b2d7..000000000 --- a/resources/views/library/books/create-form.blade.php +++ /dev/null @@ -1,165 +0,0 @@ -
- - -
- - - @if ($errors->has('title')) - - {{ $errors->first('title') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('about')) - - {{ $errors->first('about') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('book_code')) - - {{ $errors->first('book_code') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('author')) - - {{ $errors->first('author') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('price')) - - {{ $errors->first('price') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('quantity')) - - {{ $errors->first('quantity') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('rackNo')) - - {{ $errors->first('rackNo') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('rowNo')) - - {{ $errors->first('rowNo') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('img_path')) - - {{ $errors->first('img_path') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('type')) - - {{ $errors->first('type') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('class_id')) - - {{ $errors->first('class_id') }} - - @endif -
-
diff --git a/resources/views/library/books/create.blade.php b/resources/views/library/books/create.blade.php deleted file mode 100755 index d9a888d6c..000000000 --- a/resources/views/library/books/create.blade.php +++ /dev/null @@ -1,37 +0,0 @@ -@extends('layouts.app') - -@section('title', __('Add New Book')) - -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
-
-
@lang('Add New Book')
- -
- @if (session('status')) -
- {{ session('status') }} -
- @endif - -
- {{ csrf_field() }} - @include('library.books.create-form') - -
-
- -
-
-
-
-
-
-
-
-@endsection diff --git a/resources/views/library/books/edit.blade.php b/resources/views/library/books/edit.blade.php deleted file mode 100755 index 9b92a74f9..000000000 --- a/resources/views/library/books/edit.blade.php +++ /dev/null @@ -1,40 +0,0 @@ -@extends('layouts.app') - -@section('title', __('Edit Book')) - -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
-
-
@lang('Edit Book Info')
- -
- @if (session('status')) -
- {{ session('status') }} -
- @endif - -
- - {{ method_field('PATCH') }} - {{ csrf_field() }} - - @include('library.books.form', $book) - -
-
- -
-
-
-
-
-
-
-
-@endsection diff --git a/resources/views/library/books/form.blade.php b/resources/views/library/books/form.blade.php deleted file mode 100755 index 0c2c98177..000000000 --- a/resources/views/library/books/form.blade.php +++ /dev/null @@ -1,165 +0,0 @@ -
- - -
- - - @if ($errors->has('title')) - - {{ $errors->first('title') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('about')) - - {{ $errors->first('about') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('book_code')) - - {{ $errors->first('book_code') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('author')) - - {{ $errors->first('author') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('price')) - - {{ $errors->first('price') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('quantity')) - - {{ $errors->first('quantity') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('rackNo')) - - {{ $errors->first('rackNo') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('rowNo')) - - {{ $errors->first('rowNo') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('img_path')) - - {{ $errors->first('img_path') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('type')) - - {{ $errors->first('type') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('class_id')) - - {{ $errors->first('class_id') }} - - @endif -
-
diff --git a/resources/views/library/books/index.blade.php b/resources/views/library/books/index.blade.php deleted file mode 100755 index bbbd4ae8c..000000000 --- a/resources/views/library/books/index.blade.php +++ /dev/null @@ -1,68 +0,0 @@ -@extends('layouts.app') - -@section('title', __('All Books')) - -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
-
-
@lang('Books')
- -
- @if (session('status')) -
- {{ session('status') }} -
- @endif - - {{ $books->links() }} -
- - - - - - - - - - - - - - @foreach($books as $book) - - - - - - - - - - @endforeach - -
#@lang('Title')@lang('Code')@lang('Author')@lang('Type')@lang('Quantity')@lang('Actions')
{{ ($loop->index + 1) }}{{ $book->title }}{{ $book->book_code }}{{ $book->author }}{{ $book->type }}{{ $book->quantity }} - - -
-
- {{ $books->links() }} -
-
-
-
-
-@endsection diff --git a/resources/views/library/books/show.blade.php b/resources/views/library/books/show.blade.php deleted file mode 100755 index 6fcc02019..000000000 --- a/resources/views/library/books/show.blade.php +++ /dev/null @@ -1,75 +0,0 @@ -@extends('layouts.app') - -@section('title', __('All Books')) - -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
-
-
@lang('Book Details')
- -
- @if (session('status')) -
- {{ session('status') }} -
- @endif - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@lang('Book Code'){{ $book->book_code }}@lang('Book Title'){{ $book->title }}@lang('Author'){{ $book->author }}@lang('About'){{ $book->about }}
@lang('Quantity'){{ $book->quantity }}@lang('Rack No'){{ $book->rackNo }}@lang('row No'){{ $book->rowNo }}@lang('Type'){{ $book->type }}
@lang('Image') - {{ $book->title }} - @lang('Price'){{ $book->price }}@lang('Class'){{ $book->class->class_number }}@lang('School'){{ $book->school->name }}
@lang('Created At'){{ $book->created_at }}@lang('Updated At'){{ $book->updated_at }}@lang('Registered By'){{ $book->user->name }}
- -
- -
-
-
-
-@endsection diff --git a/resources/views/library/issuebooks.blade.php b/resources/views/library/issuebooks.blade.php deleted file mode 100755 index 9df89aedb..000000000 --- a/resources/views/library/issuebooks.blade.php +++ /dev/null @@ -1,27 +0,0 @@ -@extends('layouts.app') -@section('title', __('Issue Book')) -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
-
-
@lang('Issue books')
- -
- @if (session('status')) -
- {{ session('status') }} -
- @endif - - @component('components.book-issue-form',['books'=>$books]) - @endcomponent -
-
-
-
-
-@endsection diff --git a/resources/views/library/issued-books.blade.php b/resources/views/library/issued-books.blade.php deleted file mode 100755 index dea90afee..000000000 --- a/resources/views/library/issued-books.blade.php +++ /dev/null @@ -1,27 +0,0 @@ -@extends('layouts.app') -@section('title', __('All Issued Book')) -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
-
-
@lang('All Issued Book')
- -
- @if (session('status')) -
- {{ session('status') }} -
- @endif - - @component('components.issued-books-list',['books'=>$issued_books]) - @endcomponent -
-
-
-
-
-@endsection diff --git a/resources/views/library/librarian-list.blade.php b/resources/views/library/librarian-list.blade.php deleted file mode 100755 index 7b92e6cf9..000000000 --- a/resources/views/library/librarian-list.blade.php +++ /dev/null @@ -1,37 +0,0 @@ -@extends('layouts.app') - -@section('title', __('Librarians')) - -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
-
- @if(count($users) > 0) - @foreach ($users as $user) -
@lang('List of all') {{__(ucfirst($user->role))}}s
- @break($loop->first) - @endforeach -
- @if (session('status')) -
- {{ session('status') }} -
- @endif - - @component('components.users-list',['users'=>$users,'current_page'=>$current_page,'per_page'=>$per_page]) - @endcomponent -
- @else -
- @lang('No Related Data Found.') -
- @endif -
-
-
-
-@endsection diff --git a/resources/views/list/student-list.blade.php b/resources/views/list/student-list.blade.php deleted file mode 100755 index 8fa248299..000000000 --- a/resources/views/list/student-list.blade.php +++ /dev/null @@ -1,45 +0,0 @@ -@extends('layouts.app') - -@section('title', __('Students')) - -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
-
- @if(count($users) > 0) - @foreach ($users as $user) - @if (Session::has('section-attendance')) - - @endif -
@lang('List of all') {{ucfirst($user->role)}}s
- @break($loop->first) - @endforeach -
- @if (session('status')) -
- {{ session('status') }} -
- @endif - @component('components.users-export',['type'=>'student']) - - @endcomponent - @component('components.users-list',['users'=>$users,'current_page'=>$current_page,'per_page'=>$per_page]) - @endcomponent -
- @else -
- @lang('No Related Data Found.') -
- @endif -
-
-
-
-@endsection diff --git a/resources/views/list/teacher-list.blade.php b/resources/views/list/teacher-list.blade.php deleted file mode 100755 index 53cf61e80..000000000 --- a/resources/views/list/teacher-list.blade.php +++ /dev/null @@ -1,39 +0,0 @@ -@extends('layouts.app') - -@section('title', __('Teachers')) - -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
-
- @if(count($users) > 0) - @foreach ($users as $user) -
@lang('List of all') {{ucfirst($user->role)}}s
- @break($loop->first) - @endforeach -
- @if (session('status')) -
- {{ session('status') }} -
- @endif - @component('components.users-export',['type'=>'teacher']) - - @endcomponent - @component('components.users-list',['users'=>$users,'current_page'=>$current_page,'per_page'=>$per_page]) - @endcomponent -
- @else -
- @lang('No Related Data Found.') -
- @endif -
-
-
-
-@endsection diff --git a/resources/views/masters/index.blade.php b/resources/views/masters/index.blade.php deleted file mode 100755 index 864a81390..000000000 --- a/resources/views/masters/index.blade.php +++ /dev/null @@ -1,19 +0,0 @@ -@extends('layouts.app') - -@section('content') -
-
-
-
-
@lang('Dashboard')
- - -
-
-
-
-@endsection diff --git a/resources/views/message/all.blade.php b/resources/views/message/all.blade.php deleted file mode 100755 index b0946d61c..000000000 --- a/resources/views/message/all.blade.php +++ /dev/null @@ -1,79 +0,0 @@ -@extends('layouts.app') - -@section('title', __('Messages')) -@section('content') - -
-
-
- @include('layouts.leftside-menubar') -
-
-
-
@lang('Messages')
-
- @if (session('status')) -
- {{ session('status') }} -
- @endif - @if ($errors->any()) -
-
    - @foreach ($errors->all() as $error) -
  • {{ $error }}
  • - @endforeach -
-
- @endif - @if(count($messages) > 0) -
    - @foreach ($messages as $message) -
  • -
    -
    -
    - @if(!empty($message->teacher->pic_path)) - - @else - @if(strtolower($message->teacher->gender) == trans('male')) - - @else - - @endif - @endif -
    -
    -
    - {{$message->teacher->name}} . {{$message->teacher->department->department_name ?? null}} - @if($message->active == 1) - @lang('New') - @else - @lang('Seen') - @endif -

    {!!Purify::clean($message->message)!!}

    - -
    - {{$message->created_at}} -
    -
    -
    -
  • - @endforeach -
- {{$messages->links()}} - @else - @lang('No message found') - @endif -
-
-
-
-
-@endsection diff --git a/resources/views/notices/create.blade.php b/resources/views/notices/create.blade.php deleted file mode 100755 index 57567e04b..000000000 --- a/resources/views/notices/create.blade.php +++ /dev/null @@ -1,28 +0,0 @@ -@extends('layouts.app') - -@section('title', __('Add Notice')) -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
-
-
@lang('Add Notice')
-
- @if (session('status')) -
- {{ session('status') }} -
- @endif - @component('components.file-uploader',['upload_type'=>'notice']) - @endcomponent - @component('components.uploaded-files-list',['files'=>$files,'upload_type'=>'notice']) - @endcomponent -
-
-
-
-
-@endsection diff --git a/resources/views/pdf/profile-pdf.blade.php b/resources/views/pdf/profile-pdf.blade.php deleted file mode 100755 index cdf993c0c..000000000 --- a/resources/views/pdf/profile-pdf.blade.php +++ /dev/null @@ -1,148 +0,0 @@ - - - - {{$user->name}} - - - - - -
-
-
-

{{$user->section->class->school->name}}

-
{{$user->section->class->school->about}}
-
-
-

@lang('Student Profile')

-
@lang('Printing Date'): {{Carbon\Carbon::now()->format('d/m/Y')}}
-
-
-
-
-
-
-

- @lang('Academic Information') -

-
- - - - - - - - - - - - - - - - - - - - - - - - -
@lang('Student ID'):{{$user->student_code}}@lang('Student's Name'):{{$user->name}}
@lang('Class'):{{$user->section->class->class_number}}@lang('Section'):{{$user->section->section_number}}
@lang('Session'):{{$user->session}}@lang('Version'):{{$user->version}}
@lang('Group'):{{$user->group}}
-
-
- -
-
-
-
-
-

- @lang('Personal details') -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@lang('Email'):{{$user->email}}@lang('Contact Number'){{$user->phone_number}}
@lang('Gender'):{{$user->gender}}@lang('Blood Group'):{{$user->blood_group}}
@lang('Nationality'):{{$user->nationality}}@lang('Birthday'):{{Carbon\Carbon::parse($user->birthday)->format('d/m/Y')}}
@lang('Religion'):{{$user->religion}}@lang('Father Name'):{{$user->father_name}}
@lang('Mother Name'):{{$user->mother_name}}@lang('Address'):{{$user->address}}
@lang('Phone Number'):{{$user->phone_number}}@lang('Father's Phone Number'):{{$user->father_phone_number}}
@lang('Father's National ID'):{{$user->father_national_id}}@lang('Father's Occupation'):{{$user->father_occupation}}
@lang('Father's Designation'):{{$user->father_designation}}@lang('Father's Annual Income'):{{$user->father_annual_income}}
@lang('Mother's Phone Number'):{{$user->mother_phone_number}}@lang('Mother's National ID'):{{$user->mother_national_id}}
@lang('Mother's Occupation'):{{$user->mother_occupation}}@lang('Mother's Designation'):{{$user->mother_designation}}
@lang('Mother's Annual Income'):{{$user->mother_annual_income}}@lang('About'):{{$user->about}}
-
-
-
- - diff --git a/resources/views/pdf/result-pdf.blade.php b/resources/views/pdf/result-pdf.blade.php deleted file mode 100755 index e1b415534..000000000 --- a/resources/views/pdf/result-pdf.blade.php +++ /dev/null @@ -1,324 +0,0 @@ - - - - - - - - -
-
-

{{$user->section->class->school->name}} @lang('School')

-
{{$user->section->class->school->about}}
-
-
-
-
-
-

- @lang('REPORT CARD') -

-
- - - - - - - - - - - - - - - - - - - - - - - -
@lang('Student ID'){{$user->student_code}}
@lang('Student's Name'){{$user->name}}
@lang('Class'){{$user->section->class->class_number}}
@lang('Section'){{$user->section->section_number}}
@lang('Session')2019-20
-
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@lang('Letter Grade')@lang('Marks Interval')@lang('Grade Point')
A+80-1005.0
A70-794.0
A-60-693.5
B50-593.0
C40-492.0
D33-391.0
F0-320.0
-
-
-
-
-
-
- @foreach ($grades as $grade) -

- {{$grade->exam->exam_name}} -

- @break($loop->first) - @endforeach -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@lang('Srl.')@lang('Subjects')@lang('Full Marks')@lang('AT')@lang('CT+Q')@lang('Examination')@lang('Total Marks')@lang('Highest Marks')@lang('Letter Grade')@lang('Grade Point')
@lang('OB')@lang('SB')@lang('Total')75%
1@lang('Bangla 1st Paper')100511.89163453.4533.606889A-3.5
2@lang('Bangla 2nd Paper')100511.89163453.4533.606889A-3.5
3@lang('English 1st Paper')100511.89163453.4533.606889A-3.5
4@lang('English 2nd Paper')100511.89163453.4533.606889A-3.5
5@lang('Math')100511.89163453.4533.606889A-3.5
6@lang('Physics')100511.89163453.4533.606889A-3.5
7@lang('Chemistry')100511.89163453.4533.606889A-3.5
8@lang('Biology')100511.89163453.4533.606889A-3.5
@lang('Total Marks & Total GP')35315.50
- - - - - -
@lang('Grade Point Average')2.58
-
@lang('Point in Merit List')@lang('Attendance')
- - - - - -
@lang('Letter Grade')C
-
- - - - - -
@lang('Section')36 @lang('out of') 99
-
- - - - - - - -
@lang('Present Days')70@lang('Missing')2
-
@lang('Remarks'):
-
-
-
- - - - - - - - -
@lang('Signature')@lang('Parents/Guardian')@lang('Principal')
-
-
-
- - diff --git a/resources/views/profile/change-password.blade.php b/resources/views/profile/change-password.blade.php deleted file mode 100755 index 23a1c7a5e..000000000 --- a/resources/views/profile/change-password.blade.php +++ /dev/null @@ -1,78 +0,0 @@ -@extends('layouts.app') - -@section('title', __('Change Password')) - -@section('content') -
-
- @if(Auth::user()->role !== 'master') -
- @include('layouts.leftside-menubar') -
- @else - - @endif -
-
-
- @lang('Change Password') -
-
- @if (session('status')) -
- {{ session('status') }} -
- @endif - @if (session('error-status')) -
- {{ session('error-status') }} -
- @endif - -
- {{ csrf_field() }} -
- - -
- - - @if ($errors->has('old_password')) - - {{ $errors->first('old_password') }} - - @endif -
-
-
- - -
- - - @if ($errors->has('new_password')) - - {{ $errors->first('new_password') }} - - @endif -
-
-
-
- -
-
-
- -
-
-
-
-
-@endsection diff --git a/resources/views/profile/edit.blade.php b/resources/views/profile/edit.blade.php deleted file mode 100755 index effca832c..000000000 --- a/resources/views/profile/edit.blade.php +++ /dev/null @@ -1,419 +0,0 @@ -@extends('layouts.app') - -@section('title', __('Edit')) - -@section('content') -
-
- @if(\Auth::user()->role != 'master') -
- @include('layouts.leftside-menubar') -
- @endif -
- @if ($errors->any()) -
-
    - @foreach ($errors->all() as $error) -
  • {{ $error }}
  • - @endforeach -
-
- @endif - @if (session('status')) -
- {{ session('status') }} -
- @endif -
-
@lang('Edit')
- -
-
- {{ csrf_field() }} - - -
- - -
- - - @if ($errors->has('name')) - - {{ $errors->first('name') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('email')) - - {{ $errors->first('email') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('phone_number')) - - {{ $errors->first('phone_number') }} - - @endif -
-
- - @if($user->role == 'teacher') -
- - -
- - - @if ($errors->has('department')) - - {{ $errors->first('department') }} - - @endif -
-
-
- - -
- - - @if ($errors->has('class_teacher')) - - {{ $errors->first('class_teacher') }} - - @endif -
-
- @endif - -
- - -
- - - @if ($errors->has('address')) - - {{ $errors->first('address') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('about')) - - {{ $errors->first('about') }} - - @endif -
-
- - @if($user->role == 'student') - -
- - -
- - - @if ($errors->has('birthday')) - - {{ $errors->first('birthday') }} - - @endif -
-
-
- - -
- - - @if ($errors->has('session')) - - {{ $errors->first('session') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('group')) - - {{ $errors->first('group') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('father_name')) - - {{ $errors->first('father_name') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('father_phone_number')) - - {{ $errors->first('father_phone_number') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('father_national_id')) - - {{ $errors->first('father_national_id') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('father_occupation')) - - {{ $errors->first('father_occupation') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('father_designation')) - - {{ $errors->first('father_designation') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('father_annual_income')) - - {{ $errors->first('father_annual_income') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('mother_name')) - - {{ $errors->first('mother_name') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('mother_phone_number')) - - {{ $errors->first('mother_phone_number') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('mother_national_id')) - - {{ $errors->first('mother_national_id') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('mother_occupation')) - - {{ $errors->first('mother_occupation') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('mother_designation')) - - {{ $errors->first('mother_designation') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('mother_annual_income')) - - {{ $errors->first('mother_annual_income') }} - - @endif -
-
- @endif - -
- -
-
-
-
-
-
-
- - - - -@endsection \ No newline at end of file diff --git a/resources/views/profile/impersonate.blade.php b/resources/views/profile/impersonate.blade.php deleted file mode 100755 index b42f00f33..000000000 --- a/resources/views/profile/impersonate.blade.php +++ /dev/null @@ -1,36 +0,0 @@ -@extends('layouts.app') - -@section('title', __('Impersonate')) - -@section('content') -
-
- - - - - - - - - - - @foreach ($other_users as $other_user) - - {{ csrf_field() }} - - - - - - - - @endforeach - -
@lang('ID')@lang('Name')@lang('Role')
{{ $other_user->id }}{{ $other_user->name }}{{ $other_user->role }} - - -
-
-
-@endsection diff --git a/resources/views/profile/section-students.blade.php b/resources/views/profile/section-students.blade.php deleted file mode 100755 index 089fc37f7..000000000 --- a/resources/views/profile/section-students.blade.php +++ /dev/null @@ -1,62 +0,0 @@ -@extends('layouts.app') - -@section('title', __('Course Students')) - -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
- -

@lang('Section Students')

-
- @if(count($students) > 0) -
- - - - - - - - - - - - @foreach ($students as $student) - - - - - - - - @endforeach - -
@lang('Sl.')@lang('Student Code')@lang('Student Name')@lang('Status')@lang('Grade History')
{{($loop->index+1)}}{{$student->student_code}}{{$student->name}} - @if(isset($student->studentInfo['session']) && ($student->studentInfo['session'] == now()->year || $student->studentInfo['session'] > now()->year)) - @lang('Promoted/New') - @else - @lang('Not Promoted') - @endif - @lang('View Grade History')
-
- @else -
- @lang('No Related Data Found.') -
- @endif -
-
-
-
-@endsection diff --git a/resources/views/profile/user.blade.php b/resources/views/profile/user.blade.php deleted file mode 100755 index 46fe79e6f..000000000 --- a/resources/views/profile/user.blade.php +++ /dev/null @@ -1,35 +0,0 @@ -@extends('layouts.app') - -@if(count(array($user)) > 0) - @section('title', $user->name) -@endif - -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
-
- @if(count(array($user)) > 0) -
- @if (session('status')) -
- {{ session('status') }} -
- @endif - - @component('components.user-profile',['user'=>$user]) - @endcomponent -
- @else -
- @lang('No Related Data Found.') -
- @endif -
-
-
-
-@endsection diff --git a/resources/views/routines/create.blade.php b/resources/views/routines/create.blade.php deleted file mode 100755 index 06284486f..000000000 --- a/resources/views/routines/create.blade.php +++ /dev/null @@ -1,30 +0,0 @@ -@extends('layouts.app') - -@section('title', __('Add Routine')) - -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
-
-
@lang('Add Routine') -
-
- @if (session('status')) -
- {{ session('status') }} -
- @endif - @component('components.file-uploader',['upload_type'=>'routine','classes'=>$classes,'sections'=>$sections]) - @endcomponent - @component('components.uploaded-files-list',['files'=>$files,'parent'=>($section_id !== 0)?'section':'','upload_type'=>'routine']) - @endcomponent -
-
-
-
-
-@endsection diff --git a/resources/views/school/admin-list.blade.php b/resources/views/school/admin-list.blade.php deleted file mode 100755 index 309b12b7e..000000000 --- a/resources/views/school/admin-list.blade.php +++ /dev/null @@ -1,90 +0,0 @@ -@extends('layouts.app') - -@section('title', __('Admins')) - -@section('content') -
-
-
- @if (session('status')) -
- {{ session('status') }} -
- @endif - -
-
-

Admins

-
- @if(count($admins) > 0) -
- - - - - - - - - - - - @foreach ($admins as $admin) - - - - - - - - - - - @endforeach -
@lang('Action')@lang('Action')@lang('Name')@lang('Code')@lang('Email')@lang('Phone Number')@lang('Address')@lang('About')
- @if($admin->active == 0) - - done - @lang('Activate') - - - @else - - clear - @lang('Deactivate') - - - @endif - - - edit - @lang('Edit') - - {{$admin->name}} - {{$admin->student_code}}{{$admin->email}}{{$admin->phone_number}}{{$admin->address}}{{$admin->about}}
-
- @else -
- @lang('No Related Data Found.') -
- @endif -
-
-
-
-@endsection diff --git a/resources/views/school/promote-students.blade.php b/resources/views/school/promote-students.blade.php deleted file mode 100755 index 015c1ce23..000000000 --- a/resources/views/school/promote-students.blade.php +++ /dev/null @@ -1,40 +0,0 @@ -@extends('layouts.app') - -@section('title', __('Promote Section Students')) - -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
-

@lang('Promote Students of')

-
- @if(count($students) > 0) - @foreach ($students as $student) -
- @lang('Section') - {{ $student->section->section_number}}   @lang('Class') - {{$student->section->class->class_number}} - @lang('Current Date Time'):  {{ Carbon\Carbon::now()->format('h:i A d/m/Y')}} -
- @break($loop->first) - @endforeach -
- @if (session('status')) -
- {{ session('status') }} -
- @endif - @component('components.promote-students',['students'=>$students,'classes'=>$classes,'section_id'=>$section_id]) - @endcomponent -
- @else -
- @lang('No Related Data Found.') -
- @endif -
-
-
-
-@endsection diff --git a/resources/views/school/sections.blade.php b/resources/views/school/sections.blade.php deleted file mode 100755 index 8c591bcd7..000000000 --- a/resources/views/school/sections.blade.php +++ /dev/null @@ -1,119 +0,0 @@ -@extends('layouts.app') - -@section('title', __('All Classes and Sections')) - -@section('content') - -
-
-
- @include('layouts.leftside-menubar') -
-
-

@lang('All Classes and Sections')

-
- @if(count($classes) > 0) - @foreach ($classes as $class) -
- -
-
- - - - - @if(isset($_GET['att']) && $_GET['att'] == 1) - - - - @endif - @if(isset($_GET['course']) && $_GET['course'] == 1) - - - - @endif - - - - @foreach($sections as $section) - @if($class->id == $section->class_id) - - - @if(isset($_GET['att']) && $_GET['att'] == 1) - @foreach ($exams as $ex) - @if ($ex->class_id == $class->id) - - @endif - @endforeach - - - @endif - @if(isset($_GET['course']) && $_GET['course'] == 1) - - - - @endif - - @endif - @endforeach - -
@lang('Section Name')@lang('View Today\'s Attendance')@lang('View Each Student\'s Attendance')@lang('Give Attendance')@lang('View Courses')@lang('View Students')@lang('View Routines')
- {{$section->section_number}} - - visibility @lang('View Today\'s Attendance') - - visibility @lang('View Each Student\'s Attendance') - - - @foreach ($exams as $ex) - @if ($ex->class_id == $class->id) - - spellcheck @lang('Take Attendance') - @endif - @endforeach - @if($ce == 0) - @lang('Assign Class Under Exam') - @endif - - visibility @lang('View Courses under this section') - - visibility @lang('View Students of this section') - - visibility @lang('View Routines for this section') -
-
-
-
- @endforeach - @else -
- @lang('No Related Data Found.') -
- @endif -
-
-
-
-@endsection diff --git a/resources/views/schools/edit.blade.php b/resources/views/schools/edit.blade.php deleted file mode 100755 index 343f43d9e..000000000 --- a/resources/views/schools/edit.blade.php +++ /dev/null @@ -1,51 +0,0 @@ -@extends('layouts.app') - -@section('title', __('Edit School')) - -@section('content') -
-
-

@lang('Edit') {{$school->name}}

- -
- - {{ csrf_field() }} -
- - -
- - - @if ($errors->has('name')) - - {{ $errors->first('name') }} - - @endif -
-
- -
- - -
- - - @if ($errors->has('about')) - - {{ $errors->first('about') }} - - @endif -
-
- -
-
- @lang('Back') - -
-
-
-
-
-@endsection diff --git a/resources/views/schools/form.blade.php b/resources/views/schools/form.blade.php deleted file mode 100755 index 3021f0110..000000000 --- a/resources/views/schools/form.blade.php +++ /dev/null @@ -1,86 +0,0 @@ - - - - diff --git a/resources/views/schools/index.blade.php b/resources/views/schools/index.blade.php deleted file mode 100755 index 00c6b6649..000000000 --- a/resources/views/schools/index.blade.php +++ /dev/null @@ -1,56 +0,0 @@ -@extends('layouts.app') - -@section('title', __('Manage Schools')) - -@section('content') -
-
-
-
- @include('schools.form') -

@lang('School List')

-

@lang('Manage Departments, Classs, Sections, Student Promotion, Course')

- - - - - - - - - - - - - - @foreach ($schools as $school) - - - - - - - - - - @endforeach - -
#@lang('Name')@lang('Code')@lang('About')@lang('Edit')+@lang('Admin')@lang('View Admins')
{{($loop->index + 1)}}{{$school->name}}{{$school->code}}{{$school->about}} - - @lang('Edit School') - - - - + @lang('Create Admin') - - - - @lang('View Admins') - -
- {{ $schools->links() }} -
-
-
-
-@endsection diff --git a/resources/views/settings/index.blade.php b/resources/views/settings/index.blade.php deleted file mode 100755 index 1fb5ef3eb..000000000 --- a/resources/views/settings/index.blade.php +++ /dev/null @@ -1,212 +0,0 @@ -@extends('layouts.app') - -@section('title', __('Academic Settings')) - -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
-
-
@lang('Academic Settings')
-
- - - - - - - - - - - - - - - - - - - - - - -
@lang('Name')@lang('Code')
{{ $school->name }}{{ $school->code }}
@lang('Department')@lang('Classes')
- - - - - -
- -

@lang('Add Users')

- - - - - - - - - - - - - - - - - -
+@lang('Student')+@lang('Teacher')+@lang('Accountant')+@lang('Librarian')
- + @lang('Add Student') -
-
@lang('Or, Mass upload Excel')
- @component('components.excel-upload-form', ['type'=>'student']) - @endcomponent -
- + @lang('Add Teacher') -
-
@lang('Or, Mass upload Excel')
- @component('components.excel-upload-form', ['type'=>'teacher']) - @endcomponent -
- + @lang('Add Accountant') - - + @lang('Add Librarian') -
- -

@lang('Upload')

- - - - - - - - - - - - - -
+@lang('Notice')+@lang('Event')
- - developer_board @lang('Upload Notice') - - - - developer_board @lang('Upload Event') - -
-
-
-
-
-
- -@endsection diff --git a/resources/views/stripe/payment.blade.php b/resources/views/stripe/payment.blade.php deleted file mode 100755 index e05fed88a..000000000 --- a/resources/views/stripe/payment.blade.php +++ /dev/null @@ -1,163 +0,0 @@ -@extends('layouts.app') -@section('title', __('Stripe Payment')) -@section('content') - -
-
-
- @include('layouts.leftside-menubar') -
-
-
-
@lang('Payment') -
-
- @if (session('status')) -
- {{ session('status') }} -
- @endif -
- {{ csrf_field() }} - -
-
-

@lang('Enter your credit card information')

-
-
-
- - -
-
- -
-
$
- -
-
- -
- -
-
- -
- -
-
-
-
-
- - -@endsection \ No newline at end of file diff --git a/resources/views/stripe/receipts.blade.php b/resources/views/stripe/receipts.blade.php deleted file mode 100755 index 21dcd169e..000000000 --- a/resources/views/stripe/receipts.blade.php +++ /dev/null @@ -1,42 +0,0 @@ -@extends('layouts.app') - -@section('title', __('Receipts')) - -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
-
-
@lang('Invoices') -
-
- @if (session('status')) -
- {{ session('status') }} -
- @endif - - - - - - - - @foreach ($receipts as $receipt) - - - - - - - @endforeach -
@lang('Charged For')@lang('Payment Date')@lang('Amount')@lang('Payment Status')
{{$receipt->charge_for}}{{$receipt->created_at}}{{ $receipt->amount }}{{($receipt->payment_status)?'Paid':'Unpaid'}}
-
-
-
-
-
-@endsection diff --git a/resources/views/syllabus/course-syllabus.blade.php b/resources/views/syllabus/course-syllabus.blade.php deleted file mode 100755 index 8f4e92c89..000000000 --- a/resources/views/syllabus/course-syllabus.blade.php +++ /dev/null @@ -1,33 +0,0 @@ -@extends('layouts.app') - -@section('title', __('Add Syllabus')) - -{{----}} - - -{{----}} - -@section('content') -
-
-
- @include('layouts.leftside-menubar') -
-
-
-
- @if (session('status')) -
- {{ session('status') }} -
- @endif - @component('components.file-uploader',['upload_type'=>'syllabus','classes'=>$classes]) - @endcomponent - @component('components.uploaded-files-list',['files'=>$files,'parent'=>($class_id !== 0)?'class':'','upload_type'=>'syllabus']) - @endcomponent -
-
-
-
-
-@endsection diff --git a/resources/views/welcome.blade.php b/resources/views/welcome.blade.php deleted file mode 100755 index fe27f0b9e..000000000 --- a/resources/views/welcome.blade.php +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - - {{config('app.name')}} - - - - - - - - - -
-
-
- - -
- - -
-
- - - - diff --git a/routes/api.php b/routes/api.php deleted file mode 100755 index 1ae15e950..000000000 --- a/routes/api.php +++ /dev/null @@ -1,162 +0,0 @@ - 'auth:api'], function(){ -// Route::get('attendances/{section_id}/{student_id}', 'AttendanceController@index'); -// Route::post('attendance', 'AttendanceController@store'); -// Route::get('attendance/{id}', 'AttendanceController@show'); -// Route::put('attendance/{id}', 'AttendanceController@update'); -// //Route::delete('attendance/{id}', 'AttendanceController@destroy') -// }); - -// Route::group(['middleware' => 'auth:api'], function(){ -// Route::get('books/{class_id}', 'BookController@index'); -// Route::post('book', 'BookController@store'); -// Route::get('book/{id}', 'BookController@show'); -// Route::put('book/{id}', 'BookController@update'); -// //Route::delete('book/{id}', 'BookController@destroy') -// }); - -// Route::group(['middleware' => 'auth:api'], function(){ -// Route::get('courses/{teacher_id}', 'CourseController@index'); -// Route::post('course', 'CourseController@store'); -// Route::get('course/{id}', 'CourseController@show'); -// Route::put('course/{id}', 'CourseController@update'); -// //Route::delete('course/{id}', 'CourseController@destroy') -// }); - -// Route::group(['middleware' => 'auth:api'], function(){ -// Route::get('events/{class_id}', 'EventController@index'); -// Route::post('event', 'EventController@store'); -// Route::get('event/{id}', 'EventController@show'); -// Route::put('event/{id}', 'EventController@update'); -// //Route::delete('event/{id}', 'EventController@destroy') -// }); - -// Route::group(['middleware' => 'auth:api'], function(){ -// Route::get('faqs', 'FaqController@index'); -// Route::post('faq', 'FaqController@store'); -// Route::get('faq/{id}', 'FaqController@show'); -// Route::put('faq/{id}', 'FaqController@update'); -// //Route::delete('faq/{id}', 'FaqController@destroy') -// }); - -// Route::group(['middleware' => 'auth:api'], function(){ -// Route::get('feedbacks/{student_id}', 'FeedbackController@index'); -// Route::post('feedback', 'FeedbackController@store'); -// Route::get('feedback/{id}', 'FeedbackController@show'); -// Route::put('feedback/{id}', 'FeedbackController@update'); -// //Route::delete('feedback/{id}', 'FeedbackController@destroy') -// }); - -// Route::group(['middleware' => 'auth:api'], function(){ -// Route::get('forms/{school_id}', 'FormController@index'); -// Route::post('form', 'FormController@store'); -// Route::get('form/{id}', 'FormController@show'); -// Route::put('form/{id}', 'FormController@update'); -// //Route::delete('form/{id}', 'FormController@destroy') -// }); - -// Route::group(['middleware' => 'auth:api'], function(){ -// Route::get('grades/{student_id}/{teacher_id}/{course_id}', 'GradeController@index'); -// Route::post('grade', 'GradeController@store'); -// Route::get('grade/{id}', 'GradeController@show'); -// Route::put('grade/{id}', 'GradeController@update'); -// //Route::delete('grade/{id}', 'GradeController@destroy') -// }); - -// Route::group(['middleware' => 'auth:api'], function(){ -// Route::get('homeworks/{section_id}/{teacher_id}', 'HomeworkController@index'); -// Route::post('homework', 'HomeworkController@store'); -// Route::get('homework/{id}', 'HomeworkController@show'); -// Route::put('homework/{id}', 'HomeworkController@update'); -// //Route::delete('homework/{id}', 'HomeworkController@destroy') -// }); - -// Route::group(['middleware' => 'auth:api'], function(){ -// Route::get('messages/{school_id}', 'MessageController@index'); -// Route::post('message', 'MessageController@store'); -// Route::get('message/{id}', 'MessageController@show'); -// Route::put('message/{id}', 'MessageController@update'); -// //Route::delete('message/{id}', 'MessageController@destroy') -// }); - -// Route::group(['middleware' => 'auth:api'], function(){ -// Route::get('classes/{school_id}', 'MyclassController@index'); -// Route::post('class', 'MyclassController@store'); -// Route::get('class/{id}', 'MyclassController@show'); -// Route::put('class/{id}', 'MyclassController@update'); -// //Route::delete('class/{id}', 'MyclassController@destroy') -// }); - -// Route::group(['middleware' => 'auth:api'], function(){ -// Route::get('notices/{school_id}', 'NoticeController@index'); -// Route::post('notice', 'NoticeController@store'); -// Route::get('notice/{id}', 'NoticeController@show'); -// Route::put('notice/{id}', 'NoticeController@update'); -// //Route::delete('notice/{id}', 'NoticeController@destroy') -// }); - -// Route::group(['middleware' => 'auth:api'], function(){ -// Route::get('notifications/{student_id}', 'NotificationController@index'); -// Route::post('notification', 'NotificationController@store'); -// Route::get('notification/{id}', 'NotificationController@show'); -// Route::put('notification/{id}', 'NotificationController@update'); -// //Route::delete('notification/{id}', 'NotificationController@destroy') -// }); - -// Route::group(['middleware' => 'auth:api'], function(){ -// Route::get('routines/{class_id}', 'RoutineController@index'); -// Route::post('routine', 'RoutineController@store'); -// Route::get('routine/{id}', 'RoutineController@show'); -// Route::put('routine/{id}', 'RoutineController@update'); -// //Route::delete('routine/{id}', 'RoutineController@destroy') -// }); - -// Route::group(['middleware' => 'auth:api'], function(){ -// Route::get('schools/{code}', 'SchoolController@index'); -// Route::post('school', 'SchoolController@store'); -// Route::get('school/{id}', 'SchoolController@show'); -// Route::put('school/{id}', 'SchoolController@update'); -// //Route::delete('school/{id}', 'SchoolController@destroy') -// }); - -// Route::group(['middleware' => 'auth:api'], function(){ -// Route::get('sections/{class_id}', 'SectionController@index'); -// Route::post('section', 'SectionController@store'); -// Route::get('section/{id}', 'SectionController@show'); -// Route::put('section/{id}', 'SectionController@update'); -// //Route::delete('section/{id}', 'SectionController@destroy') -// }); - -// Route::group(['middleware' => 'auth:api'], function(){ -// Route::get('syllabuses/{class_id}', 'SyllabusController@index'); -// Route::post('syllabus', 'SyllabusController@store'); -// Route::get('syllabus/{id}', 'SyllabusController@show'); -// Route::put('syllabus/{id}', 'SyllabusController@update'); -// //Route::delete('syllabus/{id}', 'SyllabusController@destroy') -// }); - -// Route::group(['middleware' => 'auth:api'], function(){ -// Route::get('users/{code}', 'UserController@index'); -// Route::post('user', 'UserController@store'); -// Route::get('user/{id}', 'UserController@show'); -// Route::put('user/{id}', 'UserController@update'); -// //Route::delete('user/{id}', 'UserController@destroy') -// }); - -// Route::middleware('auth:api')->get('/user', function (Request $request) { -// return $request->user(); -// }); diff --git a/routes/channels.php b/routes/channels.php deleted file mode 100755 index f16a20b9b..000000000 --- a/routes/channels.php +++ /dev/null @@ -1,16 +0,0 @@ -id === (int) $id; -}); diff --git a/routes/console.php b/routes/console.php deleted file mode 100755 index 75dd0cded..000000000 --- a/routes/console.php +++ /dev/null @@ -1,18 +0,0 @@ -comment(Inspiring::quote()); -})->describe('Display an inspiring quote'); diff --git a/routes/web.php b/routes/web.php deleted file mode 100755 index 7397b8d96..000000000 --- a/routes/web.php +++ /dev/null @@ -1,272 +0,0 @@ -group(function () { - Route::get('/masters', 'MasterController@index')->name('masters.index'); - Route::resource('/schools', 'SchoolController')->only(['index', 'edit', 'store', 'update']); -}); - -Route::get('/home', 'HomeController@index')->name('home'); - -Route::middleware(['auth'])->group(function () { - Route::get('logs', '\Rap2hpoutre\LaravelLogViewer\LogViewerController@index'); - // Route::get('/view-attendance/section/{section_id}',function($section_id){ - // if($section_id > 0){ - // $attendances = App\Attendance::with(['student'])->where('section_id', $section_id)->get(); - // } - // }); - Route::get('attendances/students/{teacher_id}/{course_id}/{exam_id}/{section_id}', 'AttendanceController@addStudentsToCourseBeforeAtt')->middleware(['teacher']); - Route::get('attendances/{section_id}/{student_id}/{exam_id}', 'AttendanceController@index'); - Route::get('attendances/{section_id}', 'AttendanceController@sectionIndex')->middleware(['teacher']); - Route::post('attendance/take-attendance', 'AttendanceController@store')->middleware(['teacher']); - Route::get('attendance/adjust/{student_id}', 'AttendanceController@adjust')->middleware(['teacher']); - Route::post('attendance/adjust', 'AttendanceController@adjustPost')->middleware(['teacher']); -}); - -Route::middleware(['auth', 'teacher'])->prefix('grades')->group(function () { - Route::get('all-exams-grade', 'GradeController@allExamsGrade'); - Route::get('section/{section_id}', 'GradeController@gradesOfSection'); - Route::get('t/{teacher_id}/{course_id}/{exam_id}/{section_id}', 'GradeController@tindex')->name('teacher-grade'); - Route::get('c/{teacher_id}/{course_id}/{exam_id}/{section_id}', 'GradeController@cindex'); - Route::post('calculate-marks', 'GradeController@calculateMarks'); - Route::post('save-grade', 'GradeController@update'); -}); - -Route::get('grades/{student_id}', 'GradeController@index')->middleware(['auth', 'teacher.student']); - -Route::middleware(['auth', 'accountant'])->prefix('fees')->name('fees.')->group(function () { - Route::get('all', 'FeeController@index'); - Route::get('create', 'FeeController@create'); - Route::post('create', 'FeeController@store'); -}); - -Route::middleware(['auth', 'admin'])->group(function () { - Route::get('/settings', 'SettingController@index')->name('settings.index'); - Route::get('gpa/create-gpa', 'GradesystemController@create'); - Route::post('create-gpa', 'GradesystemController@store'); - Route::post('gpa/delete', 'GradesystemController@destroy'); -}); - -Route::middleware(['auth', 'teacher'])->group(function () { - Route::get('gpa/all-gpa', 'GradesystemController@index'); -}); - -Route::middleware(['auth'])->group(function () { - if ('production' != config('app.env')) { - Route::get('user/config/impersonate', 'UserController@impersonateGet'); - Route::post('user/config/impersonate', 'UserController@impersonate'); - } - - Route::get('users/{school_code}/{student_code}/{teacher_code}', 'UserController@index'); - Route::get('users/{school_code}/{role}', 'UserController@indexOther'); - Route::get('user/{user_code}', 'UserController@show'); - Route::get('user/config/change_password', 'UserController@changePasswordGet'); - Route::post('user/config/change_password', 'UserController@changePasswordPost'); - Route::get('section/students/{section_id}', 'UserController@sectionStudents'); - - Route::get('courses/{teacher_id}/{section_id}', 'CourseController@index'); -}); - -Route::middleware(['auth', 'teacher'])->group(function () { - Route::get('course/students/{teacher_id}/{course_id}/{exam_id}/{section_id}', 'CourseController@course'); - Route::post('courses/create', 'CourseController@create'); - // Route::post('courses/save-under-exam', 'CourseController@update'); - Route::post('courses/store', 'CourseController@store'); - Route::post('courses/save-configuration', 'CourseController@saveConfiguration'); -}); - -Route::middleware(['auth', 'admin'])->prefix('academic')->name('academic.')->group(function () { - Route::get('syllabus', 'SyllabusController@index'); - Route::get('syllabus/{class_id}', 'SyllabusController@create'); - Route::get('notice', 'NoticeController@create'); - Route::get('event', 'EventController@create'); - Route::get('certificate', 'CertificateController@create'); - Route::get('routine', 'RoutineController@index'); - Route::get('routine/{section_id}', 'RoutineController@create'); - Route::prefix('remove')->name('remove.')->group(function () { - Route::post('syllabus', 'SyllabusController@update'); - Route::post('notice', 'NoticeController@update'); - Route::post('event', 'EventController@update'); - Route::post('certificate', 'CertificateController@update'); - Route::post('routine', 'RoutineController@update'); - }); -}); - -Route::middleware(['auth', 'student'])->group(function () { - Route::get('user/{id}/notifications', 'NotificationController@index'); - Route::get('academic/student/certificates', 'CertificateController@index'); -}); - -Route::middleware(['auth', 'admin'])->prefix('exams')->name('exams.')->group(function () { - Route::get('/', 'ExamController@index'); - Route::get('create', 'ExamController@create'); - Route::post('create', 'ExamController@store'); - Route::post('activate-exam', 'ExamController@update'); -}); - -Route::middleware(['auth', 'teacher'])->group(function () { - Route::get('exams/active', 'ExamController@indexActive'); - Route::get('school/sections', 'SectionController@index'); -}); - -Route::middleware(['auth', 'librarian'])->namespace('Library')->group(function () { - Route::prefix('library')->name('library.')->group(function () { - Route::resource('books', 'BookController'); - }); -}); - -Route::middleware(['auth', 'librarian'])->prefix('library')->name('library.issued-books.')->group(function () { - Route::get('issue-books', 'IssuedbookController@create')->name('create'); - Route::post('issue-books', 'IssuedbookController@store')->name('store'); - Route::get('issued-books', 'IssuedbookController@index')->name('index'); - Route::post('save_as_returned', 'IssuedbookController@update'); -}); - -Route::middleware(['auth', 'accountant'])->prefix('accounts')->name('accounts.')->group(function () { - Route::get('sectors', 'AccountController@sectors')->name('sectors.index'); - Route::post('create-sector', 'AccountController@storeSector')->name('sectors.create'); - Route::get('edit-sector/{sector}', 'AccountController@editSector')->name('sectors.edit'); - Route::patch('update-sector/{sector}', 'AccountController@updateSector')->name('sectors.update'); - //Route::get('delete-sector/{sector}','AccountController@deleteSector')->name('sectors.delete'); - - Route::get('income', 'AccountController@income'); - Route::post('create-income', 'AccountController@storeIncome'); - Route::get('income-list', 'AccountController@listIncome'); - Route::post('list-income', 'AccountController@postIncome'); - Route::get('edit-income/{id}', 'AccountController@editIncome'); - Route::post('update-income', 'AccountController@updateIncome'); - Route::get('delete-income/{id}', 'AccountController@deleteIncome'); - - Route::get('expense', 'AccountController@expense'); - Route::post('create-expense', 'AccountController@storeExpense'); - Route::get('expense-list', 'AccountController@listExpense'); - Route::post('list-expense', 'AccountController@postExpense'); - Route::get('edit-expense/{id}', 'AccountController@editExpense'); - Route::post('update-expense', 'AccountController@updateExpense'); - Route::get('delete-expense/{id}', 'AccountController@deleteExpense'); -}); - -Route::middleware(['auth', 'master'])->group(function () { - Route::get('register/admin/{id}/{code}', function ($id, $code) { - session([ - 'register_role' => 'admin', - 'register_school_id' => $id, - 'register_school_code' => $code, - ]); - - return redirect()->route('register'); - }); - Route::post('register/admin', 'UserController@storeAdmin'); - Route::post('master/activate-admin', 'UserController@activateAdmin')->name('master.activate.admin'); - Route::post('master/deactivate-admin', 'UserController@deactivateAdmin')->name('master.deactivate.admin'); - Route::get('school/admin-list/{school_id}', 'SchoolController@show'); -}); - -Route::middleware(['auth', 'admin'])->group(function () { - Route::prefix('school')->name('school.')->group(function () { - Route::post('add-class', 'MyclassController@store'); - Route::post('add-section', 'SectionController@store'); - Route::post('add-department', 'SchoolController@addDepartment'); - Route::get('promote-students/{section_id}', 'UserController@promoteSectionStudents'); - Route::post('promote-students', 'UserController@promoteSectionStudentsPost'); - Route::post('theme', 'SchoolController@changeTheme'); - Route::post('set-ignore-sessions', 'SchoolController@setIgnoreSessions'); - }); - - Route::prefix('register')->name('register.')->group(function () { - Route::get('student', 'UserController@redirectToRegisterStudent'); - Route::get('teacher', function () { - $departments = \App\Department::where('school_id', \Auth::user()->school_id)->get(); - $classes = \App\Myclass::where('school_id', \Auth::user()->school->id)->pluck('id'); - $sections = \App\Section::with('class')->whereIn('class_id', $classes)->get(); - session([ - 'register_role' => 'teacher', - 'departments' => $departments, - 'register_sections' => $sections, - ]); - - return redirect()->route('register'); - }); - Route::get('accountant', function () { - session(['register_role' => 'accountant']); - - return redirect()->route('register'); - }); - Route::get('librarian', function () { - session(['register_role' => 'librarian']); - - return redirect()->route('register'); - }); - Route::post('student', 'UserController@store'); - Route::post('teacher', 'UserController@storeTeacher'); - Route::post('accountant', 'UserController@storeAccountant'); - Route::post('librarian', 'UserController@storeLibrarian'); - }); - Route::get('edit/course/{id}', 'CourseController@edit'); - Route::post('edit/course/{id}', 'CourseController@updateNameAndTime'); -}); - -//use PDF; -Route::middleware(['auth', 'master.admin'])->group(function () { - Route::get('edit/user/{id}', 'UserController@edit'); - Route::post('edit/user', 'UserController@update'); - Route::post('upload/file', 'UploadController@upload'); - Route::post('users/import/user-xlsx', 'UploadController@import'); - Route::get('users/export/students-xlsx', 'UploadController@export'); - // Route::get('pdf/profile/{user_id}',function($user_id){ -// $data = App\User::find($user_id); -// PDF::setOptions(['defaultFont' => 'sans-serif', 'isHtml5ParserEnabled' => true]); -// $pdf = PDF::loadView('pdf.profile-pdf', ['user' => $data]); -// return $pdf->stream('profile.pdf'); -// }); -// Route::get('pdf/result/{user_id}/{exam_id}',function($user_id, $exam_id){ -// $data = App\User::find($user_id); -// $grades = App\Grade::with('exam')->where('student_id', $user_id)->where('exam_id',$exam_id)->latest()->get(); -// PDF::setOptions(['defaultFont' => 'sans-serif', 'isHtml5ParserEnabled' => true]); -// $pdf = PDF::loadView('pdf.result-pdf', ['grades' => $grades, 'user'=>$data]); -// return $pdf->stream('result.pdf'); -// }); -}); -Route::middleware(['auth', 'teacher'])->group(function () { - Route::post('calculate-marks', 'GradeController@calculateMarks'); - Route::post('message/students', 'NotificationController@store'); -}); -// Route::middleware(['auth'])->group(function (){ -// Route::get('download/pdf', function(){ -// $pathToFile = public_path('storage/Bano-EducationandAspiration.pdf'); -// return response()->download($pathToFile); -// }); -// }); - -// View Emails - in browser -Route::prefix('emails')->group(function () { - // Welcome Email - Route::get('/welcome', function () { - $user = App\User::find(1); - $password = 'ABCXYZ'; - - return new App\Mail\SendWelcomeEmailToUser($user, $password); - }); -}); - -Route::middleware(['auth', 'student'])->prefix('stripe')->group(function () { - Route::get('charge', 'CashierController@index'); - Route::post('charge', 'CashierController@store'); - Route::get('receipts', 'PaymentController@index'); -}); diff --git a/server.php b/server.php deleted file mode 100755 index 5fb6379e7..000000000 --- a/server.php +++ /dev/null @@ -1,21 +0,0 @@ - - */ - -$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/storage/app/.gitignore b/storage/app/.gitignore deleted file mode 100755 index 8f4803c05..000000000 --- a/storage/app/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -* -!public/ -!.gitignore diff --git a/storage/app/public/.gitignore b/storage/app/public/.gitignore deleted file mode 100755 index d6b7ef32c..000000000 --- a/storage/app/public/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/storage/debugbar/.gitignore b/storage/debugbar/.gitignore deleted file mode 100755 index d6b7ef32c..000000000 --- a/storage/debugbar/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/storage/framework/.gitignore b/storage/framework/.gitignore deleted file mode 100755 index b02b700f1..000000000 --- a/storage/framework/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -config.php -routes.php -schedule-* -compiled.php -services.json -events.scanned.php -routes.scanned.php -down diff --git a/storage/framework/cache/.gitignore b/storage/framework/cache/.gitignore deleted file mode 100755 index d6b7ef32c..000000000 --- a/storage/framework/cache/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/storage/framework/sessions/.gitignore b/storage/framework/sessions/.gitignore deleted file mode 100755 index d6b7ef32c..000000000 --- a/storage/framework/sessions/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/storage/framework/testing/.gitignore b/storage/framework/testing/.gitignore deleted file mode 100755 index d6b7ef32c..000000000 --- a/storage/framework/testing/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/storage/framework/views/.gitignore b/storage/framework/views/.gitignore deleted file mode 100755 index c96a04f00..000000000 --- a/storage/framework/views/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore \ No newline at end of file diff --git a/storage/logs/.gitignore b/storage/logs/.gitignore deleted file mode 100755 index d6b7ef32c..000000000 --- a/storage/logs/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/tests/Browser/AdminUserManagesAcademicSettingsTest.php b/tests/Browser/AdminUserManagesAcademicSettingsTest.php deleted file mode 100755 index 2c45e2194..000000000 --- a/tests/Browser/AdminUserManagesAcademicSettingsTest.php +++ /dev/null @@ -1,27 +0,0 @@ -admin = factory(User::class)->states('admin')->create(); - } - - /** @test */ - public function admin_user_can_see_academic_settings() { - $this->browse(function (Browser $browser) { - $browser->loginAs($this->admin) - ->visit(new SettingPage); - }); - } -} diff --git a/tests/Browser/ExampleTest.php b/tests/Browser/ExampleTest.php deleted file mode 100755 index 52813f6ea..000000000 --- a/tests/Browser/ExampleTest.php +++ /dev/null @@ -1,18 +0,0 @@ -browse(function (Browser $browser) { - $browser->visit('/') - ->assertSee('UnifiedTransform'); - }); - } -} diff --git a/tests/Browser/LoginTest.php b/tests/Browser/LoginTest.php deleted file mode 100755 index f3e4b624b..000000000 --- a/tests/Browser/LoginTest.php +++ /dev/null @@ -1,27 +0,0 @@ -states('master')->create(); - - $this->browse(function ($browser) use ($user) { - $browser->visit('/login') - ->waitForText('Login') - ->type('email', $user->email) - ->type('password', 'secret') - ->press('Login') - ->assertPathIs('/masters'); - }); - } -} diff --git a/tests/Browser/MasterUserManagesSchoolsTest.php b/tests/Browser/MasterUserManagesSchoolsTest.php deleted file mode 100755 index c3de06f09..000000000 --- a/tests/Browser/MasterUserManagesSchoolsTest.php +++ /dev/null @@ -1,56 +0,0 @@ -master = factory(User::class)->states('master')->create(); - } - - /** @test */ - public function master_user_can_see_list_schools() { - $this->browse(function (Browser $browser) { - $browser->loginAs($this->master) - ->visit(new MasterPage) - ->clickLink('Manage Schools') - ->assertSee('School List'); - }); - } - - /** @test */ - public function master_user_creates_school() { - $this->browse(function (Browser $browser) { - $browser->loginAs($this->master) - ->visit(new SchoolPage) - ->pause(1000) - ->click('@create-school-button') - ->pause(1000) - ->createSchool('Benito Juárez') - ->assertSee('Benito Juárez'); - }); - } - - /** @test */ - public function master_user_updates_school() { - $this->browse(function (Browser $browser) { - $browser->loginAs($this->master) - ->visit(new SchoolPage) - ->pause(1000) - ->click('@edit-school-link') - ->pause(1000) - ->updateSchool($this->master->school_id, 'New name') - ->assertSee('New name'); - }); - } -} diff --git a/tests/Browser/Pages/HomePage.php b/tests/Browser/Pages/HomePage.php deleted file mode 100755 index 4f5a87f4c..000000000 --- a/tests/Browser/Pages/HomePage.php +++ /dev/null @@ -1,41 +0,0 @@ - '#selector', - ]; - } -} diff --git a/tests/Browser/Pages/MasterPage.php b/tests/Browser/Pages/MasterPage.php deleted file mode 100755 index 5c82fab3e..000000000 --- a/tests/Browser/Pages/MasterPage.php +++ /dev/null @@ -1,42 +0,0 @@ -assertPathIs($this->url()) - ->assertSee('Dashboard'); - } - - /** - * Get the element shortcuts for the page. - * - * @return array - */ - public function elements() - { - return [ - '@element' => '#selector', - ]; - } -} diff --git a/tests/Browser/Pages/Page.php b/tests/Browser/Pages/Page.php deleted file mode 100755 index f8d76222c..000000000 --- a/tests/Browser/Pages/Page.php +++ /dev/null @@ -1,20 +0,0 @@ - '#selector', - ]; - } -} diff --git a/tests/Browser/Pages/SchoolPage.php b/tests/Browser/Pages/SchoolPage.php deleted file mode 100755 index b18354fdf..000000000 --- a/tests/Browser/Pages/SchoolPage.php +++ /dev/null @@ -1,76 +0,0 @@ -assertPathIs($this->url()) - ->assertSee('School List'); - } - - /** - * Create a new school. - * - * @param \Laravel\Dusk\Browser $browser - * @param string $name - * @return void - */ - public function createSchool(Browser $browser, $name) - { - $browser->assertSee('Create School') - ->type('name', $name) - ->select('medium', 'Bangla') - ->type('established', 'established') - ->type('about', 'about') - ->assertSelected('medium', 'Bangla') - ->press('Save changes'); - } - - /** - * Update a school. - * - * @param \Laravel\Dusk\Browser $browser - * @param int $id - * @param string $name - * @return void - */ - public function updateSchool(Browser $browser, $id, $name) - { - $browser->assertPathIs("/schools/{$id}/edit") - ->type('name', $name) - ->type('about', 'about') - ->press('Save'); - } - - /** - * Get the element shortcuts for the page. - * - * @return array - */ - public function elements() - { - return [ - '@element' => '#selector', - ]; - } -} diff --git a/tests/Browser/Pages/SettingPage.php b/tests/Browser/Pages/SettingPage.php deleted file mode 100755 index e884883fa..000000000 --- a/tests/Browser/Pages/SettingPage.php +++ /dev/null @@ -1,50 +0,0 @@ -assertPathIs($this->url()) - ->assertSee('Academic Settings') - ->assertSee('Create Department') - ->assertSee('Manage Class, Section') - ->assertSee('+ Add Student') - ->assertSee('+ Add Teacher') - ->assertSee('+ Add Accountant') - ->assertSee('+ Add Librarian') - ->assertSee('Upload Notice') - ->assertSee('Upload Event'); - } - - /** - * Get the element shortcuts for the page. - * - * @return array - */ - public function elements() - { - return [ - '@element' => '#selector', - ]; - } -} diff --git a/tests/Browser/console/.gitignore b/tests/Browser/console/.gitignore deleted file mode 100755 index d6b7ef32c..000000000 --- a/tests/Browser/console/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/tests/Browser/screenshots/.gitignore b/tests/Browser/screenshots/.gitignore deleted file mode 100755 index d6b7ef32c..000000000 --- a/tests/Browser/screenshots/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/tests/CreatesApplication.php b/tests/CreatesApplication.php deleted file mode 100755 index 547152f6a..000000000 --- a/tests/CreatesApplication.php +++ /dev/null @@ -1,22 +0,0 @@ -make(Kernel::class)->bootstrap(); - - return $app; - } -} diff --git a/tests/DuskTestCase.php b/tests/DuskTestCase.php deleted file mode 100755 index 5cc6b2fa9..000000000 --- a/tests/DuskTestCase.php +++ /dev/null @@ -1,44 +0,0 @@ -addArguments([ - '--disable-gpu', - '--headless', - '--no-sandbox' - ]); - - return RemoteWebDriver::create( - 'http://localhost:9515', DesiredCapabilities::chrome()->setCapability( - ChromeOptions::CAPABILITY, $options - ) - ); - } -} diff --git a/tests/Feature/AccountingModuleTest.php b/tests/Feature/AccountingModuleTest.php deleted file mode 100755 index 1d3495168..000000000 --- a/tests/Feature/AccountingModuleTest.php +++ /dev/null @@ -1,112 +0,0 @@ -states('accountant')->create(); - $this->actingAs($accountant); - $this->withoutExceptionHandling(); - } - - /** @test */ - public function view_is() - { - $this->get(route('accounts.sectors.index')) - ->assertViewIs('accounts.sector'); - } - - /** @test */ - public function accountant_can_create_sector() - { - $account_sector = factory(AccountSector::class)->raw(); - $this->followingRedirects()->post(route('accounts.sectors.create'), $account_sector) - ->assertStatus(200); - } - - /** @test */ - public function accountant_can_view_edit_sector_form() - { - $account_sector = factory(AccountSector::class)->create(); - $this->get(route('accounts.sectors.edit', $account_sector->id)) - ->assertViewIs('accounts.edit_sector') - ->assertViewHas(['sector']); - } - - /** @test */ - public function accountant_can_edit_sector() - { - $account_sector = factory(AccountSector::class)->create(); - $attributes = [ - 'name' => $account_sector->name.'_change', - ]; - $this->followingRedirects() - ->patch(route('accounts.sectors.update', $account_sector->id), $attributes) - ->assertStatus(200); - $this->assertDatabaseHas('account_sectors', $attributes); - } - - /** @test */ - public function accountant_can_view_income_list() - { - $account = factory(Account::class, 10)->create(); - $response = $this->get('accounts/income'); - $response->assertViewIs('accounts.income'); - $response->assertViewHas([ - 'sectors', - //'sections','students' - ]); - } - - /** @test */ - public function accountant_can_add_income() - { - $request = factory(Account::class)->make(); - $this->followingRedirects() - ->post('accounts/create-income', $request->toArray()) - ->assertStatus(200); - $this->assertDatabaseHas('accounts', [ - 'name' => $request->name, - 'amount' => $request->amount, - ]); - } - - /** @test */ - public function accountant_can_view_expense_list() - { - $account = factory(Account::class, 10)->create(); - $response = $this->get('accounts/expense'); - $response->assertViewIs('accounts.expense'); - $response->assertViewHas([ - 'sectors', - //'sections','students' - ]); - } - - /** @test */ - public function accountant_can_add_expense() - { - $request = factory(Account::class)->make(); - $this->followingRedirects() - ->post('accounts/create-expense', $request->toArray()) - ->assertStatus(200); - $this->assertDatabaseHas('accounts', [ - 'name' => $request->name, - 'amount' => $request->amount, - ]); - } -} diff --git a/tests/Feature/AttendanceModuleTest.php b/tests/Feature/AttendanceModuleTest.php deleted file mode 100755 index 2d8b02965..000000000 --- a/tests/Feature/AttendanceModuleTest.php +++ /dev/null @@ -1,120 +0,0 @@ -states('admin')->create(); - $this->actingAs($admin); - $this->withoutExceptionHandling(); - } - /** @test */ - public function can_view_student_attendance_by_section(){ - $section = factory(Section::class)->create(); - $exam = factory(Exam::class)->create(); - $response = $this->get('attendances/'.$section->id.'/0/'.$exam->id); - $response->assertStatus(200); - $response->assertViewIs('attendance.attendance'); - $response->assertViewHas('attendances'); - } - /** @test */ - public function can_view_students_by_section(){ - $section = factory(Section::class)->create(); - $response = $this->get('attendances/'.$section->id); - $response->assertStatus(200); - $response->assertViewIs('list.student-list'); - $response->assertViewHas('users'); - } - /** @test */ - public function students_are_added_to_a_section_before_taking_attendance(){ - $teacher = factory(User::class)->states('teacher')->create(); - $section = factory(Section::class)->create(); - $exam = factory(Exam::class)->create(); - $course = factory(Course::class)->create(); - $response = $this->get('attendances/students/'.$teacher->id.'/'.$course->id.'/'.$exam->id.'/'.$section->id); - $response->assertStatus(200); - $response->assertViewIs('attendance.attendance'); - $response->assertViewHas([ - 'students', - 'attendances', - 'attCount', - 'section_id', - 'exam_id', - ]); - } - /** @test */ - public function view_student_attendance_by_student_id(){ - $student = factory(User::class)->states('student')->create(); - $response = $this->get('attendances/0/'.$student->id.'/0'); - $response->assertStatus(200); - $response->assertViewIs('attendance.student-attendances'); - $response->assertViewHas('attendances'); - } - /** @test */ - public function admin_or_teacher_can_view_adjust_student_attendance_form(){ - $student = factory(User::class)->states('student')->create(); - $response = $this->get('attendance/adjust/'.$student->id); - $response->assertStatus(200); - $response->assertViewIs('attendance.adjust'); - $response->assertViewHas('attendances'); - } - /** @test */ - public function admin_or_teacher_can_adjust_student_attendance(){ - $request = [ - 'att_id' => [1,3,5], - 'isPresent' => [1,0,1], - ]; - factory(Attendance::class, 5)->create(); - $response = $this->followingRedirects()->post('attendance/adjust',$request); - $response->assertStatus(200); - } - /** @test */ - public function admin_or_teacher_can_take_students_attendance(){ - $attendances = factory(Attendance::class, 5)->create(); - $request = [ - 'students' => [ - $attendances[0]->student_id, - $attendances[1]->student_id, - $attendances[2]->student_id, - ], - 'attendances' => [0], - 'section_id' => $attendances[0]->section_id, - 'exam_id' => $attendances[0]->exam_id, - 'update' => 0, - ]; - - $response = $this->followingRedirects()->post('attendance/take-attendance',$request); - $response->assertStatus(200); - } - /** @test */ - public function admin_or_teacher_can_update_students_attendance(){ - $attendances = factory(Attendance::class, 5)->create(); - $request = [ - 'students' => [ - $attendances[0]->student_id, - $attendances[1]->student_id, - $attendances[2]->student_id, - ], - 'attendances' => [1,2,3], - 'section_id' => $attendances[0]->section_id, - 'exam_id' => $attendances[0]->exam_id, - 'update' => 1, - ]; - - $response = $this->followingRedirects()->post('attendance/take-attendance',$request); - $response->assertStatus(200); - } -} diff --git a/tests/Feature/Auth/RegisterLoginTest.php b/tests/Feature/Auth/RegisterLoginTest.php deleted file mode 100755 index 5e8b56eef..000000000 --- a/tests/Feature/Auth/RegisterLoginTest.php +++ /dev/null @@ -1,83 +0,0 @@ -get('/register') - ->assertStatus(302); - } - /** - * User account can be created. - * - * @return void - */ - public function test_user_can_be_created(){ - $master = factory(User::class)->states('master')->create(); - $this->actingAs($master); - - $this->assertDatabaseHas('users', [ - 'email' => $master->email, - 'role' => 'master', - ]); - - // $this->assertDatabaseHas('users', $master->toArray()); - - $admin = factory(User::class)->states('admin')->make(); - $this->followingRedirects() - ->post('register/admin', $admin->toArray()) - ->assertStatus(200); - } - /** - * User can view a login form. - * - * @return void - */ - public function test_user_can_view_a_login_form(){ - $response = $this->get('/login'); - $response->assertSuccessful(); - $response->assertViewIs('auth.login'); - } - /** - * User can log in. - * - * @return void - */ - public function test_user_can_log_in(){ - $user = factory(User::class)->states('admin')->create([ - 'password' => bcrypt('secret'), - ]); - - $this->assertDatabaseHas('users', [ - 'email' => $user->email, - 'role' => 'admin', - ]); - - // $this->assertDatabaseHas('users', $user->toArray()); - - $response = $this->from('/login')->post('/login', [ - 'email' => $user->email, - 'password' => 'secret', - ]); - - $response->assertRedirect('/home'); - $this->assertAuthenticatedAs($user); - } -} diff --git a/tests/Feature/CertificateTest.php b/tests/Feature/CertificateTest.php deleted file mode 100755 index e7fe2b8be..000000000 --- a/tests/Feature/CertificateTest.php +++ /dev/null @@ -1,41 +0,0 @@ -states('admin')->create(); - $this->actingAs($admin); - $this->withoutExceptionHandling(); - } - - /** @test */ - public function admin_can_view_upload_certificate_page(){ - factory(User::class)->states('student')->create(); - $certificates = factory(Certificate::class, 50)->create(); - $response = $this->get('academic/certificate'); - $response->assertStatus(200) - ->assertViewIs('certificates.create') - ->assertViewHas('certificates'); - } - - /** @test */ - public function student_can_view_certificates(){ - factory(User::class)->states('student')->create(); - $certificates = factory(Certificate::class, 50)->create(); - $response = $this->get('academic/student/certificates'); - $response->assertStatus(200) - ->assertViewIs('certificates.index') - ->assertViewHas('certificates'); - } -} diff --git a/tests/Feature/CourseModuleTest.php b/tests/Feature/CourseModuleTest.php deleted file mode 100755 index 5a8c96b1d..000000000 --- a/tests/Feature/CourseModuleTest.php +++ /dev/null @@ -1,63 +0,0 @@ -states('admin')->create(); - $this->actingAs($admin); - $this->withoutExceptionHandling(); - } - /** @test */ - public function admin_or_teacher_can_view_courses_by_teacher_id(){ - $teacher = factory(User::class)->states('teacher')->create(); - $response = $this->get('courses/'.$teacher->id.'/0'); - $response->assertStatus(200); - $response->assertViewIs('course.teacher-course'); - $response->assertViewHas(['courses','exams']); - } - /** @test */ - public function admin_or_teacher_can_view_courses_by_section_id(){ - $section = factory(Section::class)->create(); - $response = $this->get('courses/0/'.$section->id); - $response->assertStatus(200); - $response->assertViewIs('course.class-course'); - $response->assertViewHas(['courses','exams']); - } - /** @test */ - public function can_view_students_from_grade_table_by_course_and_exam(){ - $teacher = factory(User::class)->states('teacher')->create(); - $section = factory(Section::class)->create(); - $course = factory(Course::class)->create(); - $exam = factory(Exam::class)->create(); - $response = $this->get('course/students/'.$teacher->id.'/'.$course->id.'/'.$exam->id.'/'.$section->id); - $response->assertStatus(200); - $response->assertViewIs('course.students'); - $response->assertViewHas(['students','teacher_id','section_id']); - } - /** @test */ - public function admin_can_add_course(){ - $course = factory(Course::class)->make(); - $response = $this->followingRedirects()->post('courses/store',$course->toArray()); - $response->assertStatus(200); - } - /** @test */ - public function admin_can_save_course_configuration(){ - $course = factory(Course::class)->create(); - $response = $this->followingRedirects()->post('courses/save-configuration',$course->toArray()); - $response->assertStatus(200); - } -} diff --git a/tests/Feature/ExampleTest.php b/tests/Feature/ExampleTest.php deleted file mode 100755 index f31e495ca..000000000 --- a/tests/Feature/ExampleTest.php +++ /dev/null @@ -1,21 +0,0 @@ -get('/'); - - $response->assertStatus(200); - } -} diff --git a/tests/Feature/GradeModuleTest.php b/tests/Feature/GradeModuleTest.php deleted file mode 100755 index 542a4f398..000000000 --- a/tests/Feature/GradeModuleTest.php +++ /dev/null @@ -1,125 +0,0 @@ -states('teacher')->create(); - $this->actingAs($teacher); - $this->withoutExceptionHandling(); - } - /** @test */ - public function can_view_classes_sections_for_students_grade(){ - $response = $this->get('grades/all-exams-grade'); - $response->assertStatus(200); - $response->assertViewIs('grade.all-exams-grade'); - $response->assertViewHas(['classes','sections']); - } - /** @test */ - public function can_view_all_students_marks_under_a_section(){ - $section = factory(Section::class)->create(); - $response = $this->get('grades/section/'.$section->id); - $response->assertStatus(200); - $response->assertViewIs('grade.class-result'); - $response->assertViewHas('grades'); - } - /** @test */ - public function can_view_grade_of_a_student(){ - $student = factory(User::class)->states('student')->create(); - $response = $this->get('grades/'.$student->id); - $response->assertStatus(200); - $response->assertViewIs('grade.student-grade'); - $response->assertViewHas(['grades','gradesystems','exams']); - } - /** @test */ - public function teacher_can_view_students_grades_of_a_section_of_his_course(){ - $teacher = factory(User::class)->states('teacher')->create(); - $course = factory(Course::class)->create(); - $exam = factory(Exam::class)->create(); - $section = factory(Section::class)->create(); - - $response = $this->get('grades/t/'.$teacher->id.'/'.$course->id.'/'.$exam->id.'/'.$section->id); - $response->assertStatus(200); - $response->assertViewIs('grade.teacher-grade'); - $response->assertViewHas(['grades','gradesystems']); - } - /** @test */ - public function teacher_can_submit_students_grades_of_a_section_of_his_course(){ - $teacher = factory(User::class)->states('teacher')->create(); - $course = factory(Course::class)->create(); - $exam = factory(Exam::class)->create(); - $section = factory(Section::class)->create(); - - $response = $this->get('grades/c/'.$teacher->id.'/'.$course->id.'/'.$exam->id.'/'.$section->id); - $response->assertStatus(200); - $response->assertViewIs('grade.course-grade'); - $response->assertViewHas(['grades','gradesystems','course_id','exam_id','teacher_id']); - } - /** @test */ - public function teacher_can_get_total_calculated_marks_of_each_student_of_a_section_of_his_course(){ - $teacher = factory(User::class)->states('teacher')->create(); - $gradeSystem = factory(Gradesystem::class)->create(); - $course = factory(Course::class)->create(); - $exam = factory(Exam::class)->create(); - $section = factory(Section::class)->create(); - factory(Grade::class, 20)->create([ - 'exam_id' => $exam->id, - 'course_id' => $course->id, - ]); - $request = [ - 'teacher_id' => $teacher->id, - 'grade_system_name' => $gradeSystem->grade_system_name, - 'exam_id' => $exam->id, - 'course_id' => $course->id, - 'section_id' => $section->id, - ]; - - $response = $this->post('grades/calculate-marks',$request); - $response->assertRedirect(route('teacher-grade',[ - 'teacher_id' => $teacher->id, - 'course_id' => $course->id, - 'exam_id' => $exam->id, - 'section_id' => $section->id, - ])); - } - /** @test */ - public function teacher_can_save_grade_for_a_section_of_his_course(){ - factory(Grade::class, 3)->create(); - $request = [ - 'grade_ids' => [1,2,3], - 'attendance' => [5,4,4], - 'quiz1' => [5,6,9], - 'quiz2' => [6,7,7], - 'quiz3' => [4,6,8], - 'quiz4' => [7,6,9], - 'quiz5' => [5,6,8], - 'assign1' => [5,6,9], - 'assign2' => [6,7,8], - 'assign3' => [9,8,7], - 'ct1' => [5,6,9], - 'ct2' => [6,7,7], - 'ct3' => [4,6,8], - 'ct4' => [7,6,9], - 'ct5' => [5,6,8], - 'written' => [38,56,68], - 'mcq' => [34,56,23], - 'practical' => [12,23,14], - ]; - $response = $this->followingRedirects()->post('grades/save-grade',$request); - $response->assertStatus(200); - } -} diff --git a/tests/Feature/GradeSystemModuleTest.php b/tests/Feature/GradeSystemModuleTest.php deleted file mode 100755 index dea4bf51c..000000000 --- a/tests/Feature/GradeSystemModuleTest.php +++ /dev/null @@ -1,49 +0,0 @@ -states('admin')->create(); - $this->actingAs($admin); - $this->withoutExceptionHandling(); - } - /** @test */ - public function view_is(){ - $response = $this->get('gpa/all-gpa'); - $response->assertStatus(200); - $response->assertViewIs('gpa.all'); - $response->assertViewHas('gpas'); - } - /** @test */ - public function admin_can_view_grade_system_create_form(){ - $response = $this->get('gpa/create-gpa'); - $response->assertStatus(200); - } - /** @test */ - public function admin_can_create_grade_system(){ - $gradesystem = factory(Gradesystem::class)->make(); - $this->followingRedirects()->post('create-gpa', $gradesystem->toArray()) - ->assertStatus(200); - - $this->assertDatabaseHas('grade_systems', $gradesystem->toArray()); - } - /** @test */ - public function admin_can_delete_grade_system(){ - $gradesystem = factory(Gradesystem::class)->create(); - $this->followingRedirects() - ->post('gpa/delete', [ - 'gpa_id' => $gradesystem->id - ]) - ->assertStatus(200); - } -} diff --git a/tests/Feature/LibrarianTest.php b/tests/Feature/LibrarianTest.php deleted file mode 100755 index 9a490974b..000000000 --- a/tests/Feature/LibrarianTest.php +++ /dev/null @@ -1,168 +0,0 @@ -librarian = factory(User::class)->states('librarian')->create(); - $this->actingAs($this->librarian); - $this->withoutExceptionHandling(); - } - - /** - * @test - */ - public function can_see_dashboard_as_a_home_page_after_login(){ - $response = $this->get('/home'); - - $response->assertStatus(200) - ->assertSeeText('Dashboard'); - } - - /** - * @test - */ - public function can_see_list_of_students(){ - - $student = factory(User::class)->states('student')->create(); - $response = $this->get(url('/users', [$this->librarian->school_id, '1/0'])); - - $response->assertStatus(200) - ->assertViewHas('users') - ->assertSeeText(e($student->student_code)); - } - - /** - * @test - */ - public function can_see_some_personal_student_information(){ - $student = factory(User::class)->states('student')->create(); - $response = $this->get(url('/user', [$student->student_code])); - - $response->assertStatus(200) - ->assertSeeText(e($student->student_code)) - ->assertSeeText(e($student->blood_group)); - } - - /** - * @test - */ - public function can_see_list_of_teachers(){ - $teacher = factory(User::class)->states('teacher')->create(); - $response = $this->get(url('/users', [$this->librarian->school_id, '0/1'])); - - $response->assertStatus(200) - ->assertViewHas('users') - ->assertSeeText(e($teacher->student_code)); - } - - /** - * @test - */ - public function can_see_some_personal_teacher_information(){ - $teacher = factory(User::class)->states('teacher')->create(); - $response = $this->get(url('/user', [$teacher->student_code])); - - $response->assertStatus(200) - ->assertSeeText(e($teacher->student_code)) - ->assertSeeText(e($teacher->nationality)) - ->assertDontSeeText('Blood'); - } - - /** - * @test - */ - public function can_see_list_of_librarians(){ - $librarian1 = factory(User::class)->states('librarian')->create(); - $librarian2 = factory(User::class)->states('librarian')->create(); - $response = $this->get(url('/users', [$this->librarian->school_id, 'librarian'])); - - $response->assertStatus(200) - ->assertViewHas('users') - ->assertSeeText(e($librarian1->student_code)) - ->assertSeeText(e($librarian2->student_code)); - } - - /** - * @test - */ - public function can_see_some_personal_librarian_information(){ - $librarian1 = factory(User::class)->states('librarian')->create(); - $response = $this->get(url('/user', [$librarian1->student_code])); - - $response->assertStatus(200) - ->assertSeeText(e($librarian1->name)) - ->assertSeeText(e($librarian1->nationality)) - ->assertDontSeeText('Blood'); - } - - /** - * @test - */ - public function can_see_all_books(){ - $books = factory(Book::class, 4)->create(); - $response = $this->get(route('library.books.index')); - - $response->assertStatus(200) - ->assertViewHas('books'); - - $books->each(function($book) use ($response){ - $response->assertSeeText(e($book->title)); - }); - } - - /** - * @test - */ - public function can_see_book_details(){ - $book = factory(Book::class)->create(); - - $this->get(route('library.books.show', $book)) - ->assertViewHas('book') - ->assertSeeText(e($book->title)); - } - - /** - * @test - */ - public function can_edit_book_details(){ - $book = factory(Book::class)->create(['title' => 'Foo Bar']); - - $this->get(route('library.books.edit', $book)) - ->assertViewHas('book') - ->assertSeeText('Update Book Info'); - } - - /** - * @test - */ - public function can_see_issued_books(){ - $issuedBook = factory(Issuedbook::class)->create(); - - $response = $this->get(route('library.issued-books.index')) - ->assertViewHas('issued_books') - ->assertSeeText((string) $issuedBook->book_id); - } - - /** - * @test - */ - public function can_add_a_new_book(){ - $this->get(route('library.books.create')) - ->assertStatus(200) - ->assertSeeText('Save'); - } -} diff --git a/tests/Feature/Library/BookModuleTest.php b/tests/Feature/Library/BookModuleTest.php deleted file mode 100755 index e818e7cdd..000000000 --- a/tests/Feature/Library/BookModuleTest.php +++ /dev/null @@ -1,132 +0,0 @@ -librarian = factory(User::class)->states('librarian')->create(); - $this->actingAs($this->librarian); - } - - /** @test */ - public function it_shows_the_books_list() { - $book = create(Book::class, [], 2); - - $this->get(route('library.books.index')) - ->assertStatus(200) - ->assertViewHas('books'); - } - - /** @test */ - public function it_displays_the_books_details() { - $book = create(Book::class); - - $this->get(route('library.books.show', $book->id)) - ->assertStatus(200) - ->assertSee($book->title); - } - - /** @test */ - public function it_loads_the_new_book_page() { - $this->get(route('library.books.create')) - ->assertStatus(200); - } - - /** @test */ - public function it_creates_a_new_book() { - $book = make(Book::class); - - $this->post(route('library.books.store'), $book->toArray()) - ->assertRedirect(route('library.books.show', Book::first()->id)); - - $this->assertEquals(1, Book::count()); - $this->assertDatabaseHas('books', $book->toArray()); - } - - /** @test */ - public function the_book_attributes_must_be_required() { - $this->from(route('library.books.create')) - ->post(route('library.books.store'), [ - 'title' => '', - 'book_code' => '', - 'author' => '', - 'quantity' => null, - 'rackNo' => '', - 'rowNo' => '', - 'type' => '', - 'about' => '', - 'price' => null, - 'img_path' => '', - 'class_id' => null, - 'school_id' => $this->librarian->school_id, - 'user_id' => $this->librarian->id - ]) - ->assertRedirect(route('library.books.create')) - ->assertSessionHasErrors([ - 'title', 'book_code', 'author', 'quantity', 'rackNo', 'rowNo', - 'type', 'about', 'price', 'img_path', 'class_id' - ]); - - $this->assertEquals(0, Book::count()); - } - - /** @test */ - public function the_book_code_must_be_unique() { - $existent_book = create(Book::class, ['book_code' => 'code_1']); - - $this->from(route('library.books.create')) - ->post(route('library.books.store'), [ - 'title' => 'title', - 'book_code' => 'code_1', - 'author' => 'author', - 'quantity' => 10, - 'rackNo' => '1', - 'rowNo' => '2', - 'type' => 'Dev', - 'about' => 'about', - 'price' => 10, - 'img_path' => 'https://lorempixel.com/150/150/cats/?88202', - 'class_id' => $existent_book->class_id, - 'school_id' => $this->librarian->school_id, - 'user_id' => $this->librarian->id - ]) - ->assertRedirect(route('library.books.create')) - ->assertSessionHasErrors(['book_code']); - - $this->assertEquals(1, Book::count()); - } - - /** @test */ - public function it_loads_the_edit_book_page() { - $book = create(Book::class); - - $this->get(route('library.books.edit', $book)) - ->assertStatus(200); - } - - /** @test */ - public function a_book_can_be_edited() - { - $book = create(Book::class, ['title' => 'Original title']); - - $book->title = 'New title'; - - $this->from(route('library.books.edit', $book->id)) - ->put(route('library.books.update', $book->id), $book->toArray()) - ->assertRedirect(route('library.books.index')); - - $this->assertDatabaseHas('books', $book->toArray()); - } -} diff --git a/tests/Feature/Library/IssuedBookModuleTest.php b/tests/Feature/Library/IssuedBookModuleTest.php deleted file mode 100755 index 9a9d9f353..000000000 --- a/tests/Feature/Library/IssuedBookModuleTest.php +++ /dev/null @@ -1,33 +0,0 @@ -librarian = factory(User::class)->states('librarian')->create(); - $this->actingAs($this->librarian); - $this->withoutExceptionHandling(); - } - /** @test */ - public function librarian_can_issue_books(){ - $request = factory(Issuedbook::class)->make([ - 'book_id' => [1,2,3,4,5] - ]); - $this->followingRedirects()->post('library/issue-books', $request->toArray()) - ->assertStatus(200); - $this->assertEquals(Issuedbook::count(),count((array)$request->book_id)); - } -} diff --git a/tests/Feature/Manage/ClassModuleTest.php b/tests/Feature/Manage/ClassModuleTest.php deleted file mode 100755 index 4b64c1470..000000000 --- a/tests/Feature/Manage/ClassModuleTest.php +++ /dev/null @@ -1,47 +0,0 @@ -states('admin')->create(); - $this->actingAs($admin); - $this->withoutExceptionHandling(); - } - - /** @test */ - public function view_is(){ - $this->get('school/sections') - ->assertViewIs('school.sections'); - } - - /** @test */ - public function it_shows_the_class_list() { - $this->get('school/sections') - ->assertStatus(200) - ->assertViewHas('classes'); - } - - /** @test */ - public function admin_can_create_class() { - $class = factory(Myclass::class)->make(); - $this->followingRedirects() - ->post('school/add-class', $class->toArray()) - ->assertStatus(200); - - $this->assertDatabaseHas('classes', $class->toArray()); - - $this->get('settings') - ->assertSee('Manage '.$class['class_number']); - } -} diff --git a/tests/Feature/Manage/CourseModuleTest.php b/tests/Feature/Manage/CourseModuleTest.php deleted file mode 100755 index 7ec8698c9..000000000 --- a/tests/Feature/Manage/CourseModuleTest.php +++ /dev/null @@ -1,54 +0,0 @@ -states('admin')->create(); - $this->actingAs($admin); - $this->withoutExceptionHandling(); - $this->section = factory(Section::class)->create(); - } - /** @test */ - public function view_is(){ - $this->get('courses/0/'.$this->section->id) - ->assertViewIs('course.class-course'); - } - /** @test */ - public function it_shows_the_course_list() { - $this->get('courses/0/'.$this->section->id) - ->assertStatus(200) - ->assertViewHas('courses'); - } - /** @test */ - public function admin_can_create_course() { - $teacher = factory(User::class)->states('teacher')->create(); - $course = [ - 'course_name' => $this->faker->sentence, - 'class_id' => $this->section->class->id, - 'course_type' => $this->faker->name, - 'course_time' => $this->faker->sentence, - 'section_id' => $this->section->id, - 'teacher_id' => $teacher->id - ]; - $this->followingRedirects() - ->post('courses/store', $course) - ->assertStatus(200); - - $this->assertDatabaseHas('courses', $course); - - $this->get('courses/0/'.$this->section->id) - ->assertSee($course['course_name']); - } -} diff --git a/tests/Feature/Manage/ExamModuleTest.php b/tests/Feature/Manage/ExamModuleTest.php deleted file mode 100755 index f4b8d51b8..000000000 --- a/tests/Feature/Manage/ExamModuleTest.php +++ /dev/null @@ -1,93 +0,0 @@ -states('admin')->create(); - $this->actingAs($admin); - $this->withoutExceptionHandling(); - } - /** @test */ - public function it_shows_the_exam_list() { - $response = $this->get('exams'); - $response->assertStatus(200); - $response->assertViewIs('exams.all'); - $response->assertViewHas('exams'); - } - /** @test */ - public function can_view_active_exams_of_a_school(){ - $response = $this->get('exams/active'); - $response->assertStatus(200); - $response->assertViewIs('exams.active'); - $response->assertViewHas(['exams', 'courses']); - } - /** @test */ - public function admin_can_view_exam_creation_form() { - $response = $this->get('exams/create'); - $response->assertStatus(200); - $response->assertViewHas('classes'); - } - /** @test */ - public function admin_can_create_exam() { - $exam = [ - 'exam_name' => $this->faker->words(3, true), - 'term' => $this->faker->sentence, - 'start_date' => $this->faker->dateTime()->format('Y-m-d H:i:s'), - 'end_date' => $this->faker->dateTime()->format('Y-m-d H:i:s'), - ]; - $classes = [ - 'classes' => [1,2,3]//id - ]; - $request = array_merge($exam, $classes); - $response = $this->followingRedirects() - ->post('exams/create', $request); - $response->assertStatus(200); - - $this->assertDatabaseHas('exams', $exam); - - $response = $this->get('exams'); - $response->assertSee($exam['exam_name']); - } - /** @test */ - public function admin_can_activate_exam() { - $exam = factory(Exam::class)->create(); - $request = [ - 'exam_id' => $exam->id, - 'active' => 1, - 'notice_published' => 1, - ]; - $this->followingRedirects() - ->post('exams/activate-exam', $request) - ->assertStatus(200); - $this->assertDatabaseHas('exams', [ - 'active' => 1, - ]); - } - /** @test */ - public function admin_can_deactivate_exam() { - $exam = factory(Exam::class)->create(); - $request = [ - 'exam_id' => $exam->id, - 'notice_published' => 1, - 'result_published' => 1, - ]; - $this->followingRedirects() - ->post('exams/activate-exam', $request) - ->assertStatus(200); - $this->assertDatabaseHas('exams', [ - 'id' => $exam->id, - 'active' => 0, - ]); - } -} diff --git a/tests/Feature/Manage/SchoolModuleTest.php b/tests/Feature/Manage/SchoolModuleTest.php deleted file mode 100755 index 35e7084b9..000000000 --- a/tests/Feature/Manage/SchoolModuleTest.php +++ /dev/null @@ -1,60 +0,0 @@ -states('master')->create(); - $this->actingAs($master); - $this->withoutExceptionHandling(); - } - - /** @test */ - public function it_shows_schools_list() { - $this->get(route('schools.index')) - ->assertStatus(200) - ->assertViewIs('schools.index'); - } - - /** @test */ - public function it_creates_a_new_school() { - $school = make(School::class); - - $this->post(route('schools.store'), $school->toArray()) - ->assertRedirect(route('schools.index')); - } - - /** @test */ - public function it_shows_edit_school() { - $school = create(School::class); - - $this->get(route('schools.edit', $school)) - ->assertStatus(200) - ->assertViewIs('schools.edit'); - } - - /** @test */ - public function a_school_can_being_edited() { - $school = create(School::class, ['name' => 'Benito Juárez']); - - $school->name = 'New name'; - - $this->from(route('schools.edit', $school->id)) - ->put(route('schools.update', $school->id), $school->toArray()) - ->assertRedirect(route('schools.index')); - } - -} diff --git a/tests/Feature/Manage/SectionModuleTest.php b/tests/Feature/Manage/SectionModuleTest.php deleted file mode 100755 index 8cf819bb1..000000000 --- a/tests/Feature/Manage/SectionModuleTest.php +++ /dev/null @@ -1,44 +0,0 @@ -states('admin')->create(); - $this->actingAs($admin); - $this->withoutExceptionHandling(); - } - /** @test */ - public function view_is(){ - $this->get('school/sections') - ->assertViewIs('school.sections'); - } - /** @test */ - public function it_shows_the_section_list() { - $this->get('school/sections') - ->assertStatus(200) - ->assertViewHas('sections'); - } - /** @test */ - public function admin_can_create_section() { - $section = factory(Section::class)->make(); - $this->followingRedirects() - ->post('school/add-section', $section->toArray()) - ->assertStatus(200); - - $this->assertDatabaseHas('sections', $section->toArray()); - - $this->get('settings') - ->assertSee('Section '.$section['section_number']); - } -} diff --git a/tests/Feature/Manage/SettingModuleTest.php b/tests/Feature/Manage/SettingModuleTest.php deleted file mode 100755 index eac7aad47..000000000 --- a/tests/Feature/Manage/SettingModuleTest.php +++ /dev/null @@ -1,61 +0,0 @@ -states('admin')->create(); - $this->actingAs($admin); - $this->withoutExceptionHandling(); - } - - /** @test */ - public function it_shows_the_teachers_list() { - $this->get(route('settings.index')) - ->assertStatus(200) - ->assertViewHas('teachers'); - } - - /** @test */ - public function it_shows_the_departments_list() { - $this->get(route('settings.index')) - ->assertStatus(200) - ->assertViewHas('departments'); - } - - /** @test */ - public function it_shows_the_classes_list() { - $this->get(route('settings.index')) - ->assertStatus(200) - ->assertViewHas('classes'); - } - - /** @test */ - public function it_shows_the_sections_list() { - $this->get(route('settings.index')) - ->assertStatus(200) - ->assertViewHas('sections'); - } - - /** @test */ - public function admin_can_create_new_department() { - $department = factory(Department::class)->make(); - $this->followingRedirects() - ->post('school/add-department',$department->toArray()) - ->assertStatus(200); - - $this->assertDatabaseHas('departments',$department->toArray()); - - $this->get(route('settings.index')) - ->assertSee($department['department_name']); - } -} diff --git a/tests/Feature/PaymentModuleTest.php b/tests/Feature/PaymentModuleTest.php deleted file mode 100755 index 246234aa8..000000000 --- a/tests/Feature/PaymentModuleTest.php +++ /dev/null @@ -1,70 +0,0 @@ -states('student')->create(); - $this->actingAs($student); - $this->withoutExceptionHandling(); - Stripe::setApiKey(env('STRIPE_KEY')); - } - /** - * @test - * @return void - */ - public function student_can_view_payment_page() - { - $this->get('stripe/charge') - ->assertStatus(200) - ->assertViewIs('stripe.payment') - ->assertViewHas('fees_fields'); - } - /** - * @test - * @return void - */ - // Uncomment after setting Stripe key in .env file - // public function student_can_pay_amount(){ - // $stripe_token = Token::create([ - // 'card' => [ - // 'number' => '4242424242424242', - // 'exp_month' => 5, - // 'exp_year' => date('Y', strtotime('+1 year')), - // 'cvc' => '314' - // ] - // ]); - // $amount = 10.50; - // $request = [ - // 'stripeToken' => $stripe_token->id, - // 'amount' => $amount, - // 'charge_field' => 'Exam Fee', - // ]; - // $this->followingRedirects()->post('stripe/charge', $request) - // ->assertStatus(200); - // $this->assertDatabaseHas('payments',[ - // 'amount' => $amount, - // ]); - // } - /** - * @test - * @return void - */ - public function student_can_view_receipts_page(){ - $this->get('stripe/receipts') - ->assertStatus(200) - ->assertViewIs('stripe.receipts') - ->assertViewHas('receipts'); - } -} diff --git a/tests/Feature/UserModuleTest.php b/tests/Feature/UserModuleTest.php deleted file mode 100755 index bada1227a..000000000 --- a/tests/Feature/UserModuleTest.php +++ /dev/null @@ -1,98 +0,0 @@ -states('admin')->create(); - $this->actingAs($admin); - $this->withoutExceptionHandling(); - } - /** @test */ - public function can_view_students_of_a_school(){ - $school = factory(School::class)->create(); - $response = $this->get('users/'.$school->code.'/1/0'); - $response->assertStatus(200); - $response->assertViewIs('list.student-list'); - $response->assertViewHas('users'); - } - /** @test */ - public function can_view_teachers_of_a_school(){ - $school = factory(School::class)->create(); - $response = $this->get('users/'.$school->code.'/0/1'); - $response->assertStatus(200); - $response->assertViewIs('list.teacher-list'); - $response->assertViewHas('users'); - } - /** @test */ - public function can_view_accountants_of_a_school(){ - $school = factory(School::class)->create(); - $response = $this->get('users/'.$school->code.'/accountant'); - $response->assertStatus(200); - $response->assertViewIs('accounts.accountant-list'); - $response->assertViewHas('users'); - } - /** @test */ - public function can_view_librarians_of_a_school(){ - $school = factory(School::class)->create(); - $response = $this->get('users/'.$school->code.'/librarian'); - $response->assertStatus(200); - $response->assertViewIs('library.librarian-list'); - $response->assertViewHas('users'); - } - /** @test */ - public function can_view_students_of_a_section(){ - $section = factory(Section::class)->create(); - $response = $this->get('section/students/'.$section->id); - $response->assertStatus(200); - $response->assertViewIs('profile.section-students'); - $response->assertViewHas('students'); - } - /** @test */ - public function can_view_promote_section_students_form(){ - $section = factory(Section::class)->create(); - $response = $this->get('school/promote-students/'.$section->id); - $response->assertStatus(200); - $response->assertViewIs('school.promote-students'); - $response->assertViewHas(['students','classes','section_id',]); - } - /** @test */ - public function can_promote_section_students(){ - $section = factory(Section::class)->create(); - $response = $this->get('school/promote-students/'.$section->id); - $response->assertStatus(200); - $response->assertViewIs('school.promote-students'); - $response->assertViewHas(['students','classes','section_id',]); - } - /** @test */ - public function admin_redirected_to_register_with_register_role_student(){ - $section = factory(Section::class)->create(); - factory(User::class, 5)->states('student')->create([ - 'section_id' => $section->id, - ]); - $request = [ - 'section_id' => $section->id, - 'to_section' => [6,1,3,7,5], - 'to_session' => [2019, 2019, 2019, 2019, 2019], - 'left_school0' => 0, - 'left_school1' => 1, - 'left_school2' => 0, - 'left_school3' => 0, - 'left_school4' => 0, - ]; - $response = $this->followingRedirects() - ->post('school/promote-students', $request); - $response->assertStatus(200); - } -} diff --git a/tests/Feature/UsersExcelExportTest.php b/tests/Feature/UsersExcelExportTest.php deleted file mode 100755 index b2ed87997..000000000 --- a/tests/Feature/UsersExcelExportTest.php +++ /dev/null @@ -1,54 +0,0 @@ -states('admin')->create(); - $this->actingAs($admin); - $this->withoutExceptionHandling(); - } - /** - * @test - * - * @return void - */ - public function admin_can_download_students_list() - { - $year = now()->year; - - $this->get('users/export/students-xlsx',['year'=>$year,'type'=>'student']) - ->assertStatus(200); - } - /** - * @test - * - * @return void - */ - public function admin_can_download_teachers_list() - { - $year = now()->year; - - $this->get('users/export/students-xlsx',['year'=>$year,'type'=>'teacher']) - ->assertStatus(200); - } - - /** - * @test - */ - public function non_admin_users_can_not_see_export_users_forms(){ - $librarian = factory(User::class)->states('librarian')->create(); - $this->actingAs($librarian); - - $response = $this->get(url('/users', [$librarian->school_id, '1/0'])); - $response->assertDontSee('Export in Excel by Year'); - } -} diff --git a/tests/TestCase.php b/tests/TestCase.php deleted file mode 100755 index 2932d4a69..000000000 --- a/tests/TestCase.php +++ /dev/null @@ -1,10 +0,0 @@ - $school->id], 2); - - $other_school = create(School::class); - $other_accounts = create(Account::class, ['school_id' => $other_school->id], 4); - - $this->assertEquals(Account::bySchool($school->id)->count(), $accounts->count()); - } -} diff --git a/tests/Unit/App/AttendanceTest.php b/tests/Unit/App/AttendanceTest.php deleted file mode 100755 index 2de06cb5b..000000000 --- a/tests/Unit/App/AttendanceTest.php +++ /dev/null @@ -1,40 +0,0 @@ -attendance = create(Attendance::class); - } - - /** @test */ - public function an_attendance_is_an_instance_of_Attendance() { - $this->assertInstanceOf('App\Attendance', $this->attendance); - } - - /** @test */ - public function an_attendance_belongs_to_student() { - $this->assertInstanceOf('App\User', $this->attendance->student); - } - - /** @test */ - public function an_attendance_belongs_to_section() { - $this->assertInstanceOf('App\Section', $this->attendance->section); - } - - /** @test */ - public function an_attendance_belongs_to_exam() { - $this->assertInstanceOf('App\Exam', $this->attendance->exam); - } -} diff --git a/tests/Unit/App/BookTest.php b/tests/Unit/App/BookTest.php deleted file mode 100755 index 7eacf2c23..000000000 --- a/tests/Unit/App/BookTest.php +++ /dev/null @@ -1,52 +0,0 @@ -book = create(Book::class); - } - - /** @test */ - public function a_class_is_an_instance_of_Book() { - $this->assertInstanceOf('App\Book', $this->book); - } - - /** @test */ - public function a_book_belongs_to_school() { - $this->assertInstanceOf('App\School', $this->book->school); - } - - /** @test */ - public function a_book_belongs_to_class() { - $this->assertInstanceOf('App\Myclass', $this->book->class); - } - - /** @test */ - public function a_book_belongs_to_user() { - $this->assertInstanceOf('App\User', $this->book->user); - } - - /** @test */ - public function the_books_are_filter_by_school() { - $school = create(School::class); - $books = create(Book::class, ['school_id' => $school->id], 2); - - $other_school = create(School::class); - $other_books = create(Book::class, ['school_id' => $other_school->id], 4); - - $this->assertEquals(Book::bySchool($school->id)->count(), $books->count()); - } -} diff --git a/tests/Unit/App/DepartmentTest.php b/tests/Unit/App/DepartmentTest.php deleted file mode 100755 index 1bb36dc69..000000000 --- a/tests/Unit/App/DepartmentTest.php +++ /dev/null @@ -1,24 +0,0 @@ - $school->id], 2); - - $other_school = create(School::class); - $other_departments = create(Department::class, ['school_id' => $other_school->id], 4); - - $this->assertEquals(Department::bySchool($school->id)->count(), $departments->count()); - } -} diff --git a/tests/Unit/App/EventTest.php b/tests/Unit/App/EventTest.php deleted file mode 100755 index 3f9ad3314..000000000 --- a/tests/Unit/App/EventTest.php +++ /dev/null @@ -1,24 +0,0 @@ - $school->id], 2); - - $other_school = create(School::class); - $other_events = create(Event::class, ['school_id' => $other_school->id], 4); - - $this->assertEquals(Event::bySchool($school->id)->count(), $events->count()); - } -} diff --git a/tests/Unit/App/ExamTest.php b/tests/Unit/App/ExamTest.php deleted file mode 100755 index 71bfb2508..000000000 --- a/tests/Unit/App/ExamTest.php +++ /dev/null @@ -1,24 +0,0 @@ - $school->id], 2); - - $other_school = create(School::class); - $other_exams = create(Exam::class, ['school_id' => $other_school->id], 4); - - $this->assertEquals(Exam::bySchool($school->id)->count(), $exams->count()); - } -} diff --git a/tests/Unit/App/FeeTest.php b/tests/Unit/App/FeeTest.php deleted file mode 100755 index aebc9c2c0..000000000 --- a/tests/Unit/App/FeeTest.php +++ /dev/null @@ -1,24 +0,0 @@ - $school->id], 2); - - $other_school = create(School::class); - $other_fees = create(Fee::class, ['school_id' => $other_school->id], 4); - - $this->assertEquals(Fee::bySchool($school->id)->count(), $fees->count()); - } -} diff --git a/tests/Unit/App/FormTest.php b/tests/Unit/App/FormTest.php deleted file mode 100755 index 327bcef55..000000000 --- a/tests/Unit/App/FormTest.php +++ /dev/null @@ -1,24 +0,0 @@ - $school->id], 2); - - $other_school = create(School::class); - $other_forms = create(Form::class, ['school_id' => $other_school->id], 4); - - $this->assertEquals(Form::bySchool($school->id)->count(), $forms->count()); - } -} diff --git a/tests/Unit/App/GradeTest.php b/tests/Unit/App/GradeTest.php deleted file mode 100755 index 0b6105d88..000000000 --- a/tests/Unit/App/GradeTest.php +++ /dev/null @@ -1,45 +0,0 @@ -grade = create(Grade::class); - } - - /** @test */ - public function a_grade_is_an_instance_of_Grade() { - $this->assertInstanceOf('App\Grade', $this->grade); - } - - /** @test */ - public function a_grade_belongs_to_course() { - $this->assertInstanceOf('App\Course', $this->grade->course); - } - - /** @test */ - public function a_grade_belongs_to_student() { - $this->assertInstanceOf('App\User', $this->grade->student); - } - - /** @test */ - public function a_grade_belongs_to_teacher() { - $this->assertInstanceOf('App\User', $this->grade->teacher); - } - - /** @test */ - public function a_grade_belongs_to_exam() { - $this->assertInstanceOf('App\Exam', $this->grade->exam); - } -} diff --git a/tests/Unit/App/GradesystemTest.php b/tests/Unit/App/GradesystemTest.php deleted file mode 100755 index c98031d7f..000000000 --- a/tests/Unit/App/GradesystemTest.php +++ /dev/null @@ -1,42 +0,0 @@ -gradesystem = create(Gradesystem::class); - } - - /** @test */ - public function a_gradesystem_is_an_instance_of_Gradesystem() { - $this->assertInstanceOf('App\Gradesystem', $this->gradesystem); - } - - /** @test */ - public function a_gradesystem_belongs_to_school() { - $this->assertInstanceOf('App\School', $this->gradesystem->school); - } - - /** @test */ - public function the_gradesystems_are_filter_by_school() { - $school = create(School::class); - $gradesystems = create(Gradesystem::class, ['school_id' => $school->id], 2); - - $other_school = create(School::class); - $other_gradesystems = create(Gradesystem::class, ['school_id' => $other_school->id], 4); - - $this->assertEquals(Gradesystem::bySchool($school->id)->count(), $gradesystems->count()); - } -} diff --git a/tests/Unit/App/IssuedBookTest.php b/tests/Unit/App/IssuedBookTest.php deleted file mode 100755 index 050d82661..000000000 --- a/tests/Unit/App/IssuedBookTest.php +++ /dev/null @@ -1,42 +0,0 @@ -issuedbook = create(Issuedbook::class); - } - - /** @test */ - public function an_Issuedbook_is_an_instance_of_Issuedbook() { - $this->assertInstanceOf('App\Issuedbook', $this->issuedbook); - } - - /** @test */ - public function an_issuedbook_belongs_to_book() { - $this->assertInstanceOf('App\Book', $this->issuedbook->book); - } - - /** @test */ - public function the_issued_books_are_filter_by_school() { - $school = create(School::class); - $issues = create(Issuedbook::class, ['school_id' => $school->id], 2); - - $other_school = create(School::class); - $other_issues = create(Issuedbook::class, ['school_id' => $other_school->id], 4); - - $this->assertEquals(Issuedbook::bySchool($school->id)->count(), $issues->count()); - } -} diff --git a/tests/Unit/App/MessageTest.php b/tests/Unit/App/MessageTest.php deleted file mode 100755 index 1af761bd4..000000000 --- a/tests/Unit/App/MessageTest.php +++ /dev/null @@ -1,24 +0,0 @@ - $school->id], 2); - - $other_school = create(School::class); - $other_messages = create(Message::class, ['school_id' => $other_school->id], 4); - - $this->assertEquals(Message::bySchool($school->id)->count(), $messages->count()); - } -} diff --git a/tests/Unit/App/MyclassTest.php b/tests/Unit/App/MyclassTest.php deleted file mode 100755 index 3c8a2fce9..000000000 --- a/tests/Unit/App/MyclassTest.php +++ /dev/null @@ -1,56 +0,0 @@ -class = create(Myclass::class); - } - - /** @test */ - public function a_class_is_an_instance_of_Myclass() { - $this->assertInstanceOf('App\Myclass', $this->class); - } - - /** @test */ - public function a_class_belongs_to_school() { - $this->assertInstanceOf('App\School', $this->class->school); - } - - /** @test */ - public function a_class_has_sections() { - $this->assertInstanceOf( - 'Illuminate\Database\Eloquent\Collection', $this->class->sections - ); - } - - /** @test */ - public function a_class_has_books() { - $this->assertInstanceOf( - 'Illuminate\Database\Eloquent\Collection', $this->class->books - ); - } - - /** @test */ - public function my_class_are_filter_by_school() { - $school = create(School::class); - $klass = create(Myclass::class, ['school_id' => $school->id], 2); - - $other_school = create(School::class); - $other_klass = create(Myclass::class, ['school_id' => $other_school->id], 4); - - $this->assertEquals(Myclass::bySchool($school->id)->count(), $klass->count()); - } -} diff --git a/tests/Unit/App/NoticeTest.php b/tests/Unit/App/NoticeTest.php deleted file mode 100755 index 5bfff1ae4..000000000 --- a/tests/Unit/App/NoticeTest.php +++ /dev/null @@ -1,24 +0,0 @@ - $school->id], 2); - - $other_school = create(School::class); - $other_notices = create(Notice::class, ['school_id' => $other_school->id], 4); - - $this->assertEquals(Notice::bySchool($school->id)->count(), $notices->count()); - } -} diff --git a/tests/Unit/App/RoutineTest.php b/tests/Unit/App/RoutineTest.php deleted file mode 100755 index 61c759bb6..000000000 --- a/tests/Unit/App/RoutineTest.php +++ /dev/null @@ -1,24 +0,0 @@ - $school->id], 2); - - $other_school = create(School::class); - $other_routines = create(Routine::class, ['school_id' => $other_school->id], 4); - - $this->assertEquals(Routine::bySchool($school->id)->count(), $routines->count()); - } -} diff --git a/tests/Unit/App/SchoolTest.php b/tests/Unit/App/SchoolTest.php deleted file mode 100755 index c4dec94a8..000000000 --- a/tests/Unit/App/SchoolTest.php +++ /dev/null @@ -1,41 +0,0 @@ -school = create(School::class); - } - - /** @test */ - public function a_school_is_an_instance_of_School() { - $this->assertInstanceOf('App\School', $this->school); - } - - /** @test */ - public function a_school_has_users() { - $this->assertInstanceOf( - 'Illuminate\Database\Eloquent\Collection', $this->school->users - ); - } - - /** @test */ - public function a_school_has_departments() { - $this->assertInstanceOf( - 'Illuminate\Database\Eloquent\Collection', $this->school->departments - ); - } - -} - diff --git a/tests/Unit/App/SectionTest.php b/tests/Unit/App/SectionTest.php deleted file mode 100755 index 6eebd15eb..000000000 --- a/tests/Unit/App/SectionTest.php +++ /dev/null @@ -1,30 +0,0 @@ -section = create(Section::class); - } - - /** @test */ - public function a_section_is_an_instance_of_Section() { - $this->assertInstanceOf('App\Section', $this->section); - } - - /** @test */ - public function a_section_belongs_to_class() { - $this->assertInstanceOf('App\Myclass', $this->section->class); - } -} diff --git a/tests/Unit/App/SyllabusTest.php b/tests/Unit/App/SyllabusTest.php deleted file mode 100755 index 310f7132b..000000000 --- a/tests/Unit/App/SyllabusTest.php +++ /dev/null @@ -1,24 +0,0 @@ - $school->id], 2); - - $other_school = create(School::class); - $other_syllabuses = create(Syllabus::class, ['school_id' => $other_school->id], 4); - - $this->assertEquals(Syllabus::bySchool($school->id)->count(), $syllabuses->count()); - } -} diff --git a/tests/Unit/App/UsersTest.php b/tests/Unit/App/UsersTest.php deleted file mode 100755 index f28c8d0fa..000000000 --- a/tests/Unit/App/UsersTest.php +++ /dev/null @@ -1,69 +0,0 @@ -user = create(User::class); - } - - /** @test */ - public function an_user_is_an_instance_of_User() { - $this->assertInstanceOf('App\User', $this->user); - } - - /** @test */ - public function an_user_belongs_to_section() { - $this->assertInstanceOf('App\Section', $this->user->section); - } - - /** @test */ - public function an_user_belongs_to_school() { - $this->assertInstanceOf('App\School', $this->user->school); - } - - /** @test */ - public function an_user_belongs_to_department() { - $this->assertInstanceOf('App\Department', $this->user->department); - } - - /** @test */ - public function an_user_has_role() { - $accountant = factory(User::class)->states('accountant')->create(); - $admin = factory(User::class)->states('admin')->create(); - $librarian = factory(User::class)->states('librarian')->create(); - $master = factory(User::class)->states('master')->create(); - $student = factory(User::class)->states('student')->create(); - $teacher = factory(User::class)->states('teacher')->create(); - - $this->assertTrue($accountant->hasRole('accountant')); - $this->assertTrue($admin->hasRole('admin')); - $this->assertTrue($librarian->hasRole('librarian')); - $this->assertTrue($master->hasRole('master')); - $this->assertTrue($student->hasRole('student')); - $this->assertTrue($teacher->hasRole('teacher')); - } - - /** @test */ - public function the_users_are_filter_by_school() { - $school = create(School::class); - $users = create(User::class, ['school_id' => $school->id], 2); - - $other_school = create(School::class); - $other_users = create(User::class, ['school_id' => $other_school->id], 4); - - $this->assertEquals(User::bySchool($school->id)->count(), $users->count()); - } -} diff --git a/tests/Unit/ExampleTest.php b/tests/Unit/ExampleTest.php deleted file mode 100755 index e9fe19c66..000000000 --- a/tests/Unit/ExampleTest.php +++ /dev/null @@ -1,19 +0,0 @@ -assertTrue(true); - } -} diff --git a/tests/Unit/IssuedBookTest.php b/tests/Unit/IssuedBookTest.php deleted file mode 100755 index f1c0998f0..000000000 --- a/tests/Unit/IssuedBookTest.php +++ /dev/null @@ -1,82 +0,0 @@ -book_id as $bk){ - $issueBooks = new \App\Issuedbook; - $issueBooks->book_id = $bk; - $issueBooks->student_code = $requests->student_code; - $issueBooks->quantity = $requests->quantity; - $issueBooks->school_id = $requests->school_id;//\Auth::user()->school->id; - $issueBooks->issue_date = $requests->issue_date; - $issueBooks->return_date = $requests->return_date; - $issueBooks->fine = $requests->fine;//$request->fine; - $issueBooks->borrowed = $requests->borrowed; - $ib[] = $issueBooks->attributesToArray(); - } - $this->assertSame($ib, $expected); - } - - public function issued_book_provider(): array{ - $requests = [ - 'book_id' => [1023, 3253, 7643], - 'student_code'=>123456, - 'quantity'=>1, - 'school_id'=>1, - 'issue_date'=>date("Y-m-d H:i:s"), - 'return_date'=>date("Y-m-d H:i:s"), - 'fine'=>0, - 'borrowed'=>1 - ]; - - $expected = [ - [ - 'book_id' => 1023, - 'student_code'=>123456, - 'quantity'=>1, - 'school_id'=>1, - 'issue_date'=>date("Y-m-d H:i:s"), - 'return_date'=>date("Y-m-d H:i:s"), - 'fine'=>0, - 'borrowed'=>1 - ], - [ - 'book_id' => 3253, - 'student_code'=>123456, - 'quantity'=>1, - 'school_id'=>1, - 'issue_date'=>date("Y-m-d H:i:s"), - 'return_date'=>date("Y-m-d H:i:s"), - 'fine'=>0, - 'borrowed'=>1 - ], - [ - 'book_id' => 7643, - 'student_code'=>123456, - 'quantity'=>1, - 'school_id'=>1, - 'issue_date'=>date("Y-m-d H:i:s"), - 'return_date'=>date("Y-m-d H:i:s"), - 'fine'=>0, - 'borrowed'=>1 - ] - ]; - $requests = json_decode(json_encode($requests), FALSE); - return [[$requests, $expected]]; - } -} diff --git a/tests/Unit/MarkCalculationTest.php b/tests/Unit/MarkCalculationTest.php deleted file mode 100755 index 7c29eadcc..000000000 --- a/tests/Unit/MarkCalculationTest.php +++ /dev/null @@ -1,89 +0,0 @@ -gradeService = new GradeService; - } - public function marksProvider(): array - { - return [ - [[0,10,8,7,9,5], 27], - [[0,9,8,7,8,6], 25], - [[0,10,9,6,7,7], 26], - ]; - } - /** - * A basic test for adding highest marks used in method getMarkSum in app/Grade/GradeService.php. - * @dataProvider marksProvider - * @test - * @return void - */ - public function getMarkSum(array $marks,$expected) - { - $this->gradeService->grade = $marks; - $this->gradeService->field = ''; - $this->gradeService->fieldCount = 3; - $this->gradeService->maxFieldNum = 5; - $markSum = $this->gradeService->getMarkSum(); - - $this->assertSame($expected, $markSum); - } - - public function fieldFinalMarksProvider(): array - { - return [ - [[10, 15, 8.5, 9], 12.75],// Class Test - [[0, 10, 8.5, 9], 9],// Class Test (No percentage) - [[5, 5, 4.5, 5], 4.5],// Assignment - ]; - } - /** - * @dataProvider fieldFinalMarksProvider - * @test - */ - public function getFieldFinalMark(array $marks, $expected){ - $this->gradeService->full_field_mark = $marks[0]; - $this->gradeService->field_percentage = $marks[1]; - $this->gradeService->avg_field_sum = $marks[2]; - $this->gradeService->final_default_value = $marks[3]; - $final_mark = $this->gradeService->getFieldFinalMark(); - - $this->assertSame($expected, $final_mark); - } - - public function calculatedMarksProvider(): array - { - return [ - [[4, 8.5, 8, 7, 40, 20], 87.5], - [[5, 9, 8.5, 7.5, 45, 18], 93.0], - ]; - } - /** - * @dataProvider calculatedMarksProvider - * @test - */ - public function getTotalCalculatedMarks(array $calculated_marks, $expected){ - $this->gradeService->final_att_mark = $calculated_marks[0]; - $this->gradeService->final_quiz_mark = $calculated_marks[1]; - $this->gradeService->final_assignment_mark = $calculated_marks[2]; - $this->gradeService->final_ct_mark = $calculated_marks[3]; - $this->gradeService->final_finalExam_mark = $calculated_marks[4]; - $this->gradeService->final_practical_mark = $calculated_marks[5]; - $totalMarks = $this->gradeService->getTotalCalculatedMarks(); - - $this->assertSame($expected, $totalMarks); - } -} diff --git a/tests/utilities/functions.php b/tests/utilities/functions.php deleted file mode 100755 index d01d657a1..000000000 --- a/tests/utilities/functions.php +++ /dev/null @@ -1,9 +0,0 @@ -create($attributes); -} - -function make($class, $attributes = [], $times = null) { - return factory($class, $times)->make($attributes); -} diff --git a/webpack.mix.js b/webpack.mix.js deleted file mode 100755 index 266e521a0..000000000 --- a/webpack.mix.js +++ /dev/null @@ -1,30 +0,0 @@ -let mix = require('laravel-mix'); - -mix.scripts([ - 'resources/assets/theme/vendors/js/jquery-2.1.3.min.js', - 'resources/assets/theme/vendors/js/bootstrap-3.3.7.min.js', - 'resources/assets/theme/vendors/js/dataTables-1.10.16.min.js', - 'resources/assets/theme/vendors/js/dataTables-1.10.16.bootstrap.min.js', - 'resources/assets/theme/vendors/js/chosen.jquery.min.js', - 'resources/assets/theme/vendors/js/bootstrap-datepicker.min.js', -], 'public/js/vendors.js') - -mix.styles([ - 'resources/assets/theme/vendors/css/bootstrap.min.css', - 'resources/assets/theme/vendors/css/dataTables-1.10.16.bootstrap.min.css', - 'resources/assets/theme/vendors/css/chosen.bootstrap.min.css', - 'resources/assets/theme/vendors/css/bootstrap-datepicker.min.css', - 'resources/assets/theme/vendors/css/flatly.bootstrap-3.3.7.min.css', -], 'public/css/vendors.css') - -mix.scripts([ - 'resources/assets/theme/application/js/initializer.js', -], 'public/js/application.js') - -mix.styles([ - 'resources/assets/theme/application/css/app-layout.css', -], 'public/css/application.css') - -mix.styles([ - 'resources/assets/theme/application/css/loader.css', -], 'public/css/loader.css') From 023320ab6b7d54472a4031d6da25310c9d2482ca Mon Sep 17 00:00:00 2001 From: Hasib Mahmud Date: Tue, 7 Dec 2021 23:14:39 +0600 Subject: [PATCH 2/5] Upgrade to v2.x --- .editorconfig | 18 + .env.example | 51 + .gitattributes | 5 + .gitignore | 15 + .styleci.yml | 13 + .travis.yml | 9 + CODE_OF_CONDUCT.md | 76 + Dockerfile | 60 + LICENSE | 674 ++ README.md | 386 + _config.yml | 1 + app/Console/Kernel.php | 41 + app/Exceptions/Handler.php | 41 + .../Controllers/AcademicSettingController.php | 114 + .../Controllers/AssignedTeacherController.php | 103 + app/Http/Controllers/AssignmentController.php | 131 + app/Http/Controllers/AttendanceController.php | 184 + .../Auth/ConfirmPasswordController.php | 40 + .../Auth/ForgotPasswordController.php | 22 + app/Http/Controllers/Auth/LoginController.php | 40 + .../Controllers/Auth/RegisterController.php | 73 + .../Auth/ResetPasswordController.php | 30 + .../Auth/UpdatePasswordController.php | 38 + .../Auth/VerificationController.php | 42 + app/Http/Controllers/Controller.php | 13 + app/Http/Controllers/CourseController.php | 134 + app/Http/Controllers/EventController.php | 70 + app/Http/Controllers/ExamController.php | 172 + app/Http/Controllers/ExamRuleController.php | 135 + app/Http/Controllers/GradeRuleController.php | 122 + .../Controllers/GradingSystemController.php | 133 + app/Http/Controllers/HomeController.php | 65 + app/Http/Controllers/MarkController.php | 359 + app/Http/Controllers/NoticeController.php | 105 + app/Http/Controllers/PromotionController.php | 197 + app/Http/Controllers/RoutineController.php | 127 + .../Controllers/SchoolClassController.php | 131 + .../Controllers/SchoolSessionController.php | 60 + app/Http/Controllers/SectionController.php | 136 + app/Http/Controllers/SemesterController.php | 34 + .../StudentAcademicInfoController.php | 86 + .../StudentParentInfoController.php | 86 + app/Http/Controllers/SyllabusController.php | 132 + app/Http/Controllers/UserController.php | 186 + app/Http/Kernel.php | 66 + app/Http/Middleware/Authenticate.php | 21 + app/Http/Middleware/EncryptCookies.php | 17 + .../PreventRequestsDuringMaintenance.php | 17 + .../Middleware/RedirectIfAuthenticated.php | 32 + app/Http/Middleware/TrimStrings.php | 19 + app/Http/Middleware/TrustHosts.php | 20 + app/Http/Middleware/TrustProxies.php | 23 + app/Http/Middleware/VerifyCsrfToken.php | 17 + app/Http/Requests/AttendanceStoreRequest.php | 36 + .../Requests/AttendanceTypeUpdateRequest.php | 30 + app/Http/Requests/CourseStoreRequest.php | 34 + app/Http/Requests/ExamRuleStoreRequest.php | 34 + app/Http/Requests/ExamStoreRequest.php | 36 + app/Http/Requests/GradeRuleStoreRequest.php | 35 + .../Requests/GradingSystemStoreRequest.php | 33 + app/Http/Requests/NoticeStoreRequest.php | 31 + app/Http/Requests/PasswordChangeRequest.php | 41 + app/Http/Requests/RoutineStoreRequest.php | 36 + app/Http/Requests/SchoolClassStoreRequest.php | 31 + .../Requests/SchoolSessionBrowseRequest.php | 30 + .../Requests/SchoolSessionStoreRequest.php | 30 + app/Http/Requests/SectionStoreRequest.php | 33 + app/Http/Requests/SemesterStoreRequest.php | 33 + app/Http/Requests/StoreFileRequest.php | 30 + app/Http/Requests/StudentStoreRequest.php | 58 + app/Http/Requests/TeacherAssignRequest.php | 35 + app/Http/Requests/TeacherStoreRequest.php | 41 + app/Interfaces/AcademicSettingInterface.php | 11 + app/Interfaces/AssignedTeacherInterface.php | 11 + app/Interfaces/AttendanceInterface.php | 14 + app/Interfaces/CourseInterface.php | 15 + app/Interfaces/ExamInterface.php | 9 + app/Interfaces/ExamRuleInterface.php | 13 + app/Interfaces/MarkInterface.php | 15 + app/Interfaces/RoutineInterface.php | 9 + app/Interfaces/SchoolClassInterface.php | 19 + app/Interfaces/SchoolSessionInterface.php | 17 + app/Interfaces/SectionInterface.php | 15 + app/Interfaces/SemesterInterface.php | 9 + app/Interfaces/UserInterface.php | 27 + app/Models/AcademicSetting.php | 11 + app/Models/AssignedTeacher.php | 58 + app/Models/Assignment.php | 56 + app/Models/Attendance.php | 58 + app/Models/Course.php | 13 + app/Models/Event.php | 18 + app/Models/Exam.php | 37 + app/Models/ExamRule.php | 19 + app/Models/FinalMark.php | 31 + app/Models/GradeRule.php | 25 + app/Models/GradingSystem.php | 28 + app/Models/Mark.php | 59 + app/Models/Notice.php | 16 + app/Models/Promotion.php | 48 + app/Models/Routine.php | 47 + app/Models/SchoolClass.php | 40 + app/Models/SchoolSession.php | 13 + app/Models/Section.php | 18 + app/Models/Semester.php | 13 + app/Models/StudentAcademicInfo.php | 30 + app/Models/StudentParentInfo.php | 34 + app/Models/Syllabus.php | 19 + app/Models/User.php | 84 + .../AcademicSettingServiceProvider.php | 30 + app/Providers/AppServiceProvider.php | 28 + app/Providers/AuthServiceProvider.php | 30 + app/Providers/BroadcastServiceProvider.php | 21 + app/Providers/CourseServiceProvider.php | 30 + app/Providers/EventServiceProvider.php | 32 + app/Providers/PurifySetupProvider.php | 58 + app/Providers/RouteServiceProvider.php | 63 + app/Providers/SchoolClassServiceProvider.php | 30 + .../SchoolSessionServiceProvider.php | 30 + app/Providers/SectionServiceProvider.php | 30 + app/Providers/SemesterServiceProvider.php | 30 + app/Providers/UserServiceProvider.php | 30 + .../AcademicSettingRepository.php | 32 + .../AssignedTeacherRepository.php | 42 + app/Repositories/AssignmentRepository.php | 34 + app/Repositories/AttendanceRepository.php | 74 + app/Repositories/CourseRepository.php | 40 + app/Repositories/EventRepository.php | 5 + app/Repositories/ExamRepository.php | 40 + app/Repositories/ExamRuleRepository.php | 39 + app/Repositories/GradeRuleRepository.php | 29 + app/Repositories/GradingSystemRepository.php | 29 + app/Repositories/MarkRepository.php | 97 + app/Repositories/NoticeRepository.php | 24 + app/Repositories/PromotionRepository.php | 107 + app/Repositories/RoutineRepository.php | 33 + app/Repositories/SchoolClassRepository.php | 60 + app/Repositories/SchoolSessionRepository.php | 56 + app/Repositories/SectionRepository.php | 39 + app/Repositories/SemesterRepository.php | 22 + .../StudentAcademicInfoRepository.php | 18 + .../StudentParentInfoRepository.php | 41 + app/Repositories/SyllabusRepository.php | 32 + app/Repositories/UserRepository.php | 239 + app/Traits/AssignedTeacherCheck.php | 24 + app/Traits/Base64ToFile.php | 30 + app/Traits/SchoolSession.php | 26 + artisan | 53 + bootstrap/app.php | 55 + bootstrap/cache/.gitignore | 2 + composer.json | 65 + composer.lock | 8221 +++++++++++++++++ config/app.php | 242 + config/auth.php | 117 + config/broadcasting.php | 64 + config/cache.php | 110 + config/cors.php | 34 + config/database.php | 147 + config/filesystems.php | 74 + config/hashing.php | 52 + config/logging.php | 105 + config/mail.php | 110 + config/permission.php | 143 + config/purify.php | 135 + config/queue.php | 93 + config/services.php | 33 + config/session.php | 201 + config/view.php | 36 + database/.gitignore | 1 + database/factories/AcademicSettingFactory.php | 29 + database/factories/AssignedTeacherFactory.php | 28 + database/factories/AssignmentFactory.php | 28 + database/factories/AttendanceFactory.php | 28 + database/factories/CourseFactory.php | 28 + database/factories/EventFactory.php | 28 + database/factories/ExamFactory.php | 28 + database/factories/ExamRuleFactory.php | 28 + database/factories/FinalMarkFactory.php | 28 + database/factories/GradeRuleFactory.php | 28 + database/factories/GradingSystemFactory.php | 28 + database/factories/MarkFactory.php | 28 + database/factories/NoticeFactory.php | 28 + database/factories/PromotionFactory.php | 28 + database/factories/RoutineFactory.php | 28 + database/factories/SchoolClassFactory.php | 28 + database/factories/SchoolSessionFactory.php | 28 + database/factories/SectionFactory.php | 28 + database/factories/SemesterFactory.php | 28 + .../factories/StudentAcademicInfoFactory.php | 28 + .../factories/StudentParentInfoFactory.php | 28 + database/factories/SyllabusFactory.php | 28 + database/factories/UserFactory.php | 57 + .../2014_10_12_000000_create_users_table.php | 49 + ...12_100000_create_password_resets_table.php | 32 + ..._08_19_000000_create_failed_jobs_table.php | 36 + ..._08_14_063609_create_permission_tables.php | 114 + ...29_082638_create_school_sessions_table.php | 32 + ...21_08_29_082900_create_semesters_table.php | 35 + ..._29_082956_create_school_classes_table.php | 33 + ...021_08_29_083021_create_sections_table.php | 35 + ...2021_08_29_083216_create_courses_table.php | 36 + ..._083346_create_academic_settings_table.php | 33 + ...1_08_29_083429_create_promotions_table.php | 36 + ...1_08_29_083504_create_exam_rules_table.php | 36 + ..._08_29_083523_create_grade_rules_table.php | 37 + .../2021_08_29_083603_create_marks_table.php | 38 + .../2021_08_29_083628_create_exams_table.php | 38 + ...3730_create_student_parent_infos_table.php | 37 + ...42_create_student_academic_infos_table.php | 33 + ..._08_29_083934_create_attendances_table.php | 37 + ...2021_08_29_084019_create_notices_table.php | 33 + .../2021_08_29_084030_create_events_table.php | 35 + ...2021_08_29_084041_create_syllabi_table.php | 36 + ...021_08_29_084056_create_routines_table.php | 38 + ..._134023_create_assigned_teachers_table.php | 37 + ...09_061039_create_grading_systems_table.php | 35 + ..._10_16_123559_create_final_marks_table.php | 40 + ..._11_26_040801_create_assignments_table.php | 39 + database/seeders/AcademicSettingSeeder.php | 19 + database/seeders/AssignedTeacherSeeder.php | 18 + database/seeders/AssignmentSeeder.php | 18 + database/seeders/CourseAttendanceSeeder.php | 18 + database/seeders/CourseSeeder.php | 18 + database/seeders/DatabaseSeeder.php | 21 + database/seeders/EventSeeder.php | 18 + database/seeders/ExamRuleSeeder.php | 18 + database/seeders/ExamSeeder.php | 18 + database/seeders/FinalMarkSeeder.php | 18 + database/seeders/GradeRuleSeeder.php | 18 + database/seeders/GradingSystemSeeder.php | 18 + database/seeders/MarkSeeder.php | 18 + database/seeders/NoticeSeeder.php | 18 + database/seeders/PermissionSeeder.php | 165 + database/seeders/PromotionSeeder.php | 18 + database/seeders/RoutineSeeder.php | 18 + database/seeders/SchoolClassSeeder.php | 18 + database/seeders/SchoolSessionSeeder.php | 18 + database/seeders/SectionAttendanceSeeder.php | 18 + database/seeders/SectionSeeder.php | 18 + database/seeders/SemesterSeeder.php | 18 + .../seeders/StudentAcademicInfoSeeder.php | 18 + database/seeders/StudentParentInfoSeeder.php | 18 + database/seeders/SyllabusSeeder.php | 18 + docker-compose.yml | 64 + mysql/my.cnf | 3 + nginx/conf.d/app.conf | 21 + package-lock.json | 7095 ++++++++++++++ package.json | 24 + php/local.ini | 2 + phpunit.xml | 31 + public/.htaccess | 21 + public/appname.svg | 87 + public/bootstrap-5-1.svg | 1 + public/css/app.css | 208 + .../font/bootstrap-icons.css | 1556 ++++ .../font/bootstrap-icons.json | 1537 +++ .../font/bootstrap-icons.scss | 3097 +++++++ .../font/fonts/bootstrap-icons.woff | Bin 0 -> 123408 bytes .../font/fonts/bootstrap-icons.woff2 | Bin 0 -> 92004 bytes public/css/bootstrap.min.css | 7 + public/css/bootstrap.min.css.map | 1 + public/css/fullcalendar5.9.0.min.css | 1 + ...021-12-07 at 00-31-38 Unifiedtransform.png | Bin 0 -> 9835 bytes ...021-12-07 at 00-32-44 Unifiedtransform.png | Bin 0 -> 194226 bytes ...021-12-07 at 00-33-45 Unifiedtransform.png | Bin 0 -> 48044 bytes ...021-12-07 at 00-34-45 Unifiedtransform.png | Bin 0 -> 4067 bytes ...021-12-07 at 00-35-16 Unifiedtransform.png | Bin 0 -> 4027 bytes ...021-12-07 at 00-35-53 Unifiedtransform.png | Bin 0 -> 3985 bytes ...021-12-07 at 00-36-27 Unifiedtransform.png | Bin 0 -> 9702 bytes ...021-12-07 at 00-36-39 Unifiedtransform.png | Bin 0 -> 14625 bytes ...021-12-07 at 00-36-54 Unifiedtransform.png | Bin 0 -> 12607 bytes ...021-12-07 at 00-37-02 Unifiedtransform.png | Bin 0 -> 14329 bytes ...021-12-07 at 00-37-09 Unifiedtransform.png | Bin 0 -> 14032 bytes ...021-12-07 at 00-37-26 Unifiedtransform.png | Bin 0 -> 4677 bytes ...021-12-07 at 00-38-13 Unifiedtransform.png | Bin 0 -> 17031 bytes ...021-12-07 at 00-38-22 Unifiedtransform.png | Bin 0 -> 3832 bytes ...021-12-07 at 00-38-37 Unifiedtransform.png | Bin 0 -> 16098 bytes ...021-12-07 at 00-43-37 Unifiedtransform.png | Bin 0 -> 137255 bytes ...021-12-07 at 00-45-01 Unifiedtransform.png | Bin 0 -> 3873 bytes ...021-12-07 at 00-55-18 Unifiedtransform.png | Bin 0 -> 124043 bytes ...021-12-07 at 01-03-55 Unifiedtransform.png | Bin 0 -> 114094 bytes ...021-12-07 at 01-04-10 Unifiedtransform.png | Bin 0 -> 3845 bytes ...021-12-07 at 01-11-34 Unifiedtransform.png | Bin 0 -> 98330 bytes ...021-12-07 at 01-12-05 Unifiedtransform.png | Bin 0 -> 24009 bytes ...021-12-07 at 01-12-16 Unifiedtransform.png | Bin 0 -> 4051 bytes ...021-12-07 at 01-26-18 Unifiedtransform.png | Bin 0 -> 102474 bytes ...021-12-07 at 01-27-05 Unifiedtransform.png | Bin 0 -> 148077 bytes ...021-12-07 at 01-27-54 Unifiedtransform.png | Bin 0 -> 89796 bytes ...021-12-07 at 01-28-07 Unifiedtransform.png | Bin 0 -> 3670 bytes ...021-12-07 at 01-30-30 Unifiedtransform.png | Bin 0 -> 105662 bytes ...021-12-07 at 01-30-55 Unifiedtransform.png | Bin 0 -> 12826 bytes ...021-12-07 at 01-31-14 Unifiedtransform.png | Bin 0 -> 14079 bytes ...021-12-07 at 01-32-31 Unifiedtransform.png | Bin 0 -> 92857 bytes ...021-12-07 at 01-32-43 Unifiedtransform.png | Bin 0 -> 4851 bytes ...021-12-07 at 01-33-23 Unifiedtransform.png | Bin 0 -> 106911 bytes ...021-12-07 at 01-33-36 Unifiedtransform.png | Bin 0 -> 87608 bytes ...021-12-07 at 01-34-24 Unifiedtransform.png | Bin 0 -> 4856 bytes ...021-12-07 at 01-38-54 Unifiedtransform.png | Bin 0 -> 29193 bytes ...021-12-07 at 01-39-17 Unifiedtransform.png | Bin 0 -> 30890 bytes ...021-12-07 at 01-41-04 Unifiedtransform.png | Bin 0 -> 148232 bytes ...021-12-07 at 01-41-34 Unifiedtransform.png | Bin 0 -> 89916 bytes ...021-12-07 at 01-43-58 Unifiedtransform.png | Bin 0 -> 92002 bytes ...021-12-07 at 01-44-24 Unifiedtransform.png | Bin 0 -> 79922 bytes ...021-12-07 at 01-44-50 Unifiedtransform.png | Bin 0 -> 3992 bytes ...021-12-07 at 01-45-21 Unifiedtransform.png | Bin 0 -> 73824 bytes ...021-12-07 at 01-51-20 Unifiedtransform.png | Bin 0 -> 84592 bytes ...021-12-07 at 01-51-33 Unifiedtransform.png | Bin 0 -> 4203 bytes ...021-12-07 at 01-52-00 Unifiedtransform.png | Bin 0 -> 82283 bytes ...021-12-07 at 01-52-27 Unifiedtransform.png | Bin 0 -> 71521 bytes ...021-12-07 at 01-53-16 Unifiedtransform.png | Bin 0 -> 4441 bytes ...021-12-07 at 01-54-12 Unifiedtransform.png | Bin 0 -> 69400 bytes ...021-12-07 at 01-55-30 Unifiedtransform.png | Bin 0 -> 4118 bytes ...021-12-07 at 01-55-50 Unifiedtransform.png | Bin 0 -> 19983 bytes ...021-12-07 at 01-56-20 Unifiedtransform.png | Bin 0 -> 63042 bytes ...021-12-07 at 01-57-15 Unifiedtransform.png | Bin 0 -> 145526 bytes ...021-12-07 at 01-57-57 Unifiedtransform.png | Bin 0 -> 70343 bytes ...021-12-07 at 02-26-21 Unifiedtransform.png | Bin 0 -> 111976 bytes ...021-12-07 at 02-27-32 Unifiedtransform.png | Bin 0 -> 80728 bytes ...021-12-07 at 02-28-00 Unifiedtransform.png | Bin 0 -> 109225 bytes ...021-12-07 at 02-28-23 Unifiedtransform.png | Bin 0 -> 84351 bytes ...021-12-07 at 02-29-25 Unifiedtransform.png | Bin 0 -> 5331 bytes ...021-12-07 at 02-29-33 Unifiedtransform.png | Bin 0 -> 15789 bytes ...021-12-07 at 02-29-56 Unifiedtransform.png | Bin 0 -> 4814 bytes ...021-12-07 at 11-39-45 Unifiedtransform.png | Bin 0 -> 101127 bytes ...021-12-07 at 11-47-50 Unifiedtransform.png | Bin 0 -> 105247 bytes ...021-12-07 at 11-48-01 Unifiedtransform.png | Bin 0 -> 84103 bytes ...021-12-07 at 11-53-05 Unifiedtransform.png | Bin 0 -> 4413 bytes ...021-12-07 at 11-59-51 Unifiedtransform.png | Bin 0 -> 3975 bytes ...021-12-07 at 12-16-04 Unifiedtransform.png | Bin 0 -> 128668 bytes ...021-12-07 at 13-14-28 Unifiedtransform.png | Bin 0 -> 4804 bytes ...021-12-07 at 13-23-22 Unifiedtransform.png | Bin 0 -> 72740 bytes ...021-12-07 at 13-41-38 Unifiedtransform.png | Bin 0 -> 75486 bytes ...021-12-07 at 18-14-31 Unifiedtransform.png | Bin 0 -> 87606 bytes ...021-12-07 at 18-29-30 Unifiedtransform.png | Bin 0 -> 156155 bytes ...021-12-07 at 20-10-30 Unifiedtransform.png | Bin 0 -> 88754 bytes .../Screenshot from 2021-12-07 01-24-28.png | Bin 0 -> 106561 bytes public/favicon_io/about.txt | 6 + public/favicon_io/android-chrome-192x192.png | Bin 0 -> 4818 bytes public/favicon_io/android-chrome-512x512.png | Bin 0 -> 15583 bytes public/favicon_io/apple-touch-icon.png | Bin 0 -> 4321 bytes public/favicon_io/favicon-16x16.png | Bin 0 -> 353 bytes public/favicon_io/favicon-32x32.png | Bin 0 -> 573 bytes public/favicon_io/favicon.ico | Bin 0 -> 15406 bytes public/favicon_io/site.webmanifest | 1 + public/fonts/Ubuntu/UFL.txt | 96 + public/fonts/Ubuntu/Ubuntu-Bold.ttf | Bin 0 -> 269584 bytes public/fonts/Ubuntu/Ubuntu-BoldItalic.ttf | Bin 0 -> 282700 bytes public/fonts/Ubuntu/Ubuntu-Italic.ttf | Bin 0 -> 326292 bytes public/fonts/Ubuntu/Ubuntu-Light.ttf | Bin 0 -> 361676 bytes public/fonts/Ubuntu/Ubuntu-LightItalic.ttf | Bin 0 -> 349540 bytes public/fonts/Ubuntu/Ubuntu-Medium.ttf | Bin 0 -> 284424 bytes public/fonts/Ubuntu/Ubuntu-MediumItalic.ttf | Bin 0 -> 308748 bytes public/fonts/Ubuntu/Ubuntu-Regular.ttf | Bin 0 -> 298928 bytes public/imgs/profile.png | Bin 0 -> 3124 bytes public/index.php | 55 + public/js/app.js | 566 ++ public/js/bootstrap.bundle.min.js | 7 + public/js/bootstrap.bundle.min.js.map | 1 + public/js/fullcalendar5.9.0.main.min.js | 6 + public/js/masonry.pkgd.min.js | 9 + public/mix-manifest.json | 4 + public/robots.txt | 2 + public/web.config | 28 + resources/css/app.css | 0 resources/js/app.js | 1 + resources/js/bootstrap.js | 41 + resources/lang/en/auth.php | 20 + resources/lang/en/pagination.php | 19 + resources/lang/en/passwords.php | 22 + resources/lang/en/validation.php | 157 + resources/sass/_variables.scss | 19 + resources/sass/app.scss | 8 + resources/views/academics/settings.blade.php | 294 + resources/views/assignments/create.blade.php | 53 + resources/views/assignments/index.blade.php | 50 + .../views/attendances/attendance.blade.php | 82 + resources/views/attendances/index.blade.php | 80 + resources/views/attendances/take.blade.php | 73 + resources/views/attendances/view.blade.php | 64 + resources/views/auth/login.blade.php | 73 + .../views/auth/passwords/confirm.blade.php | 49 + resources/views/auth/passwords/edit.blade.php | 42 + .../views/auth/passwords/email.blade.php | 47 + .../views/auth/passwords/reset.blade.php | 65 + resources/views/auth/register.blade.php | 77 + resources/views/auth/verify.blade.php | 28 + resources/views/classes/edit.blade.php | 37 + resources/views/classes/index.blade.php | 149 + .../components/ckeditor/editor.blade.php | 24 + .../events/event-calendar.blade.php | 111 + .../components/photos/photo-input.blade.php | 36 + resources/views/courses/edit.blade.php | 46 + resources/views/courses/student.blade.php | 61 + resources/views/courses/teacher.blade.php | 120 + resources/views/events/index.blade.php | 20 + resources/views/exams/add-rule.blade.php | 49 + resources/views/exams/create.blade.php | 95 + resources/views/exams/edit-rule.blade.php | 48 + .../views/exams/grade/add-rule.blade.php | 46 + resources/views/exams/grade/create.blade.php | 53 + .../views/exams/grade/view-rules.blade.php | 57 + resources/views/exams/grade/view.blade.php | 56 + resources/views/exams/history.blade.php | 137 + resources/views/exams/index.blade.php | 113 + resources/views/exams/view-rule.blade.php | 55 + resources/views/home.blade.php | 148 + resources/views/layouts/app.blade.php | 109 + resources/views/layouts/footer.blade.php | 3 + resources/views/layouts/left-menu.blade.php | 154 + resources/views/marks/create.blade.php | 159 + resources/views/marks/results.blade.php | 110 + resources/views/marks/student.blade.php | 71 + .../views/marks/submit-final-marks.blade.php | 71 + resources/views/marks/view.blade.php | 108 + resources/views/notices/create.blade.php | 32 + resources/views/promotions/index.blade.php | 67 + resources/views/promotions/promote.blade.php | 92 + resources/views/routines/create.blade.php | 104 + resources/views/routines/show.blade.php | 69 + resources/views/sections/edit.blade.php | 34 + resources/views/session-messages.blade.php | 19 + resources/views/students/add.blade.php | 198 + resources/views/students/edit.blade.php | 141 + resources/views/students/list.blade.php | 119 + resources/views/students/profile.blade.php | 146 + resources/views/syllabi/create.blade.php | 79 + resources/views/syllabi/show.blade.php | 50 + resources/views/teachers/add.blade.php | 91 + resources/views/teachers/edit.blade.php | 83 + resources/views/teachers/list.blade.php | 65 + resources/views/teachers/profile.blade.php | 98 + resources/views/welcome.blade.php | 142 + routes/api.php | 19 + routes/channels.php | 18 + routes/console.php | 19 + routes/web.php | 179 + server.php | 21 + storage/app/.gitignore | 3 + storage/app/public/.gitignore | 2 + storage/debugbar/.gitignore | 2 + storage/framework/.gitignore | 9 + storage/framework/cache/.gitignore | 3 + storage/framework/cache/data/.gitignore | 2 + storage/framework/sessions/.gitignore | 2 + storage/framework/testing/.gitignore | 2 + storage/framework/views/.gitignore | 2 + storage/logs/.gitignore | 2 + tests/CreatesApplication.php | 22 + tests/Feature/ExampleTest.php | 21 + tests/TestCase.php | 10 + tests/Unit/ExampleTest.php | 18 + webpack.mix.js | 16 + 451 files changed, 40738 insertions(+) create mode 100644 .editorconfig create mode 100644 .env.example create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 .styleci.yml create mode 100644 .travis.yml create mode 100644 CODE_OF_CONDUCT.md create mode 100644 Dockerfile create mode 100644 LICENSE create mode 100644 README.md create mode 100644 _config.yml create mode 100644 app/Console/Kernel.php create mode 100644 app/Exceptions/Handler.php create mode 100644 app/Http/Controllers/AcademicSettingController.php create mode 100644 app/Http/Controllers/AssignedTeacherController.php create mode 100644 app/Http/Controllers/AssignmentController.php create mode 100644 app/Http/Controllers/AttendanceController.php create mode 100644 app/Http/Controllers/Auth/ConfirmPasswordController.php create mode 100644 app/Http/Controllers/Auth/ForgotPasswordController.php create mode 100644 app/Http/Controllers/Auth/LoginController.php create mode 100644 app/Http/Controllers/Auth/RegisterController.php create mode 100644 app/Http/Controllers/Auth/ResetPasswordController.php create mode 100644 app/Http/Controllers/Auth/UpdatePasswordController.php create mode 100644 app/Http/Controllers/Auth/VerificationController.php create mode 100644 app/Http/Controllers/Controller.php create mode 100644 app/Http/Controllers/CourseController.php create mode 100644 app/Http/Controllers/EventController.php create mode 100644 app/Http/Controllers/ExamController.php create mode 100644 app/Http/Controllers/ExamRuleController.php create mode 100644 app/Http/Controllers/GradeRuleController.php create mode 100644 app/Http/Controllers/GradingSystemController.php create mode 100644 app/Http/Controllers/HomeController.php create mode 100644 app/Http/Controllers/MarkController.php create mode 100644 app/Http/Controllers/NoticeController.php create mode 100644 app/Http/Controllers/PromotionController.php create mode 100644 app/Http/Controllers/RoutineController.php create mode 100644 app/Http/Controllers/SchoolClassController.php create mode 100644 app/Http/Controllers/SchoolSessionController.php create mode 100644 app/Http/Controllers/SectionController.php create mode 100644 app/Http/Controllers/SemesterController.php create mode 100644 app/Http/Controllers/StudentAcademicInfoController.php create mode 100644 app/Http/Controllers/StudentParentInfoController.php create mode 100644 app/Http/Controllers/SyllabusController.php create mode 100644 app/Http/Controllers/UserController.php create mode 100644 app/Http/Kernel.php create mode 100644 app/Http/Middleware/Authenticate.php create mode 100644 app/Http/Middleware/EncryptCookies.php create mode 100644 app/Http/Middleware/PreventRequestsDuringMaintenance.php create mode 100644 app/Http/Middleware/RedirectIfAuthenticated.php create mode 100644 app/Http/Middleware/TrimStrings.php create mode 100644 app/Http/Middleware/TrustHosts.php create mode 100644 app/Http/Middleware/TrustProxies.php create mode 100644 app/Http/Middleware/VerifyCsrfToken.php create mode 100644 app/Http/Requests/AttendanceStoreRequest.php create mode 100644 app/Http/Requests/AttendanceTypeUpdateRequest.php create mode 100644 app/Http/Requests/CourseStoreRequest.php create mode 100644 app/Http/Requests/ExamRuleStoreRequest.php create mode 100644 app/Http/Requests/ExamStoreRequest.php create mode 100644 app/Http/Requests/GradeRuleStoreRequest.php create mode 100644 app/Http/Requests/GradingSystemStoreRequest.php create mode 100644 app/Http/Requests/NoticeStoreRequest.php create mode 100644 app/Http/Requests/PasswordChangeRequest.php create mode 100644 app/Http/Requests/RoutineStoreRequest.php create mode 100644 app/Http/Requests/SchoolClassStoreRequest.php create mode 100644 app/Http/Requests/SchoolSessionBrowseRequest.php create mode 100644 app/Http/Requests/SchoolSessionStoreRequest.php create mode 100644 app/Http/Requests/SectionStoreRequest.php create mode 100644 app/Http/Requests/SemesterStoreRequest.php create mode 100644 app/Http/Requests/StoreFileRequest.php create mode 100644 app/Http/Requests/StudentStoreRequest.php create mode 100644 app/Http/Requests/TeacherAssignRequest.php create mode 100644 app/Http/Requests/TeacherStoreRequest.php create mode 100644 app/Interfaces/AcademicSettingInterface.php create mode 100644 app/Interfaces/AssignedTeacherInterface.php create mode 100644 app/Interfaces/AttendanceInterface.php create mode 100644 app/Interfaces/CourseInterface.php create mode 100644 app/Interfaces/ExamInterface.php create mode 100644 app/Interfaces/ExamRuleInterface.php create mode 100644 app/Interfaces/MarkInterface.php create mode 100644 app/Interfaces/RoutineInterface.php create mode 100644 app/Interfaces/SchoolClassInterface.php create mode 100644 app/Interfaces/SchoolSessionInterface.php create mode 100644 app/Interfaces/SectionInterface.php create mode 100644 app/Interfaces/SemesterInterface.php create mode 100644 app/Interfaces/UserInterface.php create mode 100644 app/Models/AcademicSetting.php create mode 100644 app/Models/AssignedTeacher.php create mode 100644 app/Models/Assignment.php create mode 100644 app/Models/Attendance.php create mode 100644 app/Models/Course.php create mode 100644 app/Models/Event.php create mode 100644 app/Models/Exam.php create mode 100644 app/Models/ExamRule.php create mode 100644 app/Models/FinalMark.php create mode 100644 app/Models/GradeRule.php create mode 100644 app/Models/GradingSystem.php create mode 100644 app/Models/Mark.php create mode 100644 app/Models/Notice.php create mode 100644 app/Models/Promotion.php create mode 100644 app/Models/Routine.php create mode 100644 app/Models/SchoolClass.php create mode 100644 app/Models/SchoolSession.php create mode 100644 app/Models/Section.php create mode 100644 app/Models/Semester.php create mode 100644 app/Models/StudentAcademicInfo.php create mode 100644 app/Models/StudentParentInfo.php create mode 100644 app/Models/Syllabus.php create mode 100644 app/Models/User.php create mode 100644 app/Providers/AcademicSettingServiceProvider.php create mode 100644 app/Providers/AppServiceProvider.php create mode 100644 app/Providers/AuthServiceProvider.php create mode 100644 app/Providers/BroadcastServiceProvider.php create mode 100644 app/Providers/CourseServiceProvider.php create mode 100644 app/Providers/EventServiceProvider.php create mode 100644 app/Providers/PurifySetupProvider.php create mode 100644 app/Providers/RouteServiceProvider.php create mode 100644 app/Providers/SchoolClassServiceProvider.php create mode 100644 app/Providers/SchoolSessionServiceProvider.php create mode 100644 app/Providers/SectionServiceProvider.php create mode 100644 app/Providers/SemesterServiceProvider.php create mode 100644 app/Providers/UserServiceProvider.php create mode 100644 app/Repositories/AcademicSettingRepository.php create mode 100644 app/Repositories/AssignedTeacherRepository.php create mode 100644 app/Repositories/AssignmentRepository.php create mode 100644 app/Repositories/AttendanceRepository.php create mode 100644 app/Repositories/CourseRepository.php create mode 100644 app/Repositories/EventRepository.php create mode 100644 app/Repositories/ExamRepository.php create mode 100644 app/Repositories/ExamRuleRepository.php create mode 100644 app/Repositories/GradeRuleRepository.php create mode 100644 app/Repositories/GradingSystemRepository.php create mode 100644 app/Repositories/MarkRepository.php create mode 100644 app/Repositories/NoticeRepository.php create mode 100644 app/Repositories/PromotionRepository.php create mode 100644 app/Repositories/RoutineRepository.php create mode 100644 app/Repositories/SchoolClassRepository.php create mode 100644 app/Repositories/SchoolSessionRepository.php create mode 100644 app/Repositories/SectionRepository.php create mode 100644 app/Repositories/SemesterRepository.php create mode 100644 app/Repositories/StudentAcademicInfoRepository.php create mode 100644 app/Repositories/StudentParentInfoRepository.php create mode 100644 app/Repositories/SyllabusRepository.php create mode 100644 app/Repositories/UserRepository.php create mode 100644 app/Traits/AssignedTeacherCheck.php create mode 100644 app/Traits/Base64ToFile.php create mode 100644 app/Traits/SchoolSession.php create mode 100644 artisan create mode 100644 bootstrap/app.php create mode 100644 bootstrap/cache/.gitignore create mode 100644 composer.json create mode 100644 composer.lock create mode 100644 config/app.php create mode 100644 config/auth.php create mode 100644 config/broadcasting.php create mode 100644 config/cache.php create mode 100644 config/cors.php create mode 100644 config/database.php create mode 100644 config/filesystems.php create mode 100644 config/hashing.php create mode 100644 config/logging.php create mode 100644 config/mail.php create mode 100644 config/permission.php create mode 100644 config/purify.php create mode 100644 config/queue.php create mode 100644 config/services.php create mode 100644 config/session.php create mode 100644 config/view.php create mode 100644 database/.gitignore create mode 100644 database/factories/AcademicSettingFactory.php create mode 100644 database/factories/AssignedTeacherFactory.php create mode 100644 database/factories/AssignmentFactory.php create mode 100644 database/factories/AttendanceFactory.php create mode 100644 database/factories/CourseFactory.php create mode 100644 database/factories/EventFactory.php create mode 100644 database/factories/ExamFactory.php create mode 100644 database/factories/ExamRuleFactory.php create mode 100644 database/factories/FinalMarkFactory.php create mode 100644 database/factories/GradeRuleFactory.php create mode 100644 database/factories/GradingSystemFactory.php create mode 100644 database/factories/MarkFactory.php create mode 100644 database/factories/NoticeFactory.php create mode 100644 database/factories/PromotionFactory.php create mode 100644 database/factories/RoutineFactory.php create mode 100644 database/factories/SchoolClassFactory.php create mode 100644 database/factories/SchoolSessionFactory.php create mode 100644 database/factories/SectionFactory.php create mode 100644 database/factories/SemesterFactory.php create mode 100644 database/factories/StudentAcademicInfoFactory.php create mode 100644 database/factories/StudentParentInfoFactory.php create mode 100644 database/factories/SyllabusFactory.php create mode 100644 database/factories/UserFactory.php create mode 100644 database/migrations/2014_10_12_000000_create_users_table.php create mode 100644 database/migrations/2014_10_12_100000_create_password_resets_table.php create mode 100644 database/migrations/2019_08_19_000000_create_failed_jobs_table.php create mode 100644 database/migrations/2021_08_14_063609_create_permission_tables.php create mode 100644 database/migrations/2021_08_29_082638_create_school_sessions_table.php create mode 100644 database/migrations/2021_08_29_082900_create_semesters_table.php create mode 100644 database/migrations/2021_08_29_082956_create_school_classes_table.php create mode 100644 database/migrations/2021_08_29_083021_create_sections_table.php create mode 100644 database/migrations/2021_08_29_083216_create_courses_table.php create mode 100644 database/migrations/2021_08_29_083346_create_academic_settings_table.php create mode 100644 database/migrations/2021_08_29_083429_create_promotions_table.php create mode 100644 database/migrations/2021_08_29_083504_create_exam_rules_table.php create mode 100644 database/migrations/2021_08_29_083523_create_grade_rules_table.php create mode 100644 database/migrations/2021_08_29_083603_create_marks_table.php create mode 100644 database/migrations/2021_08_29_083628_create_exams_table.php create mode 100644 database/migrations/2021_08_29_083730_create_student_parent_infos_table.php create mode 100644 database/migrations/2021_08_29_083742_create_student_academic_infos_table.php create mode 100644 database/migrations/2021_08_29_083934_create_attendances_table.php create mode 100644 database/migrations/2021_08_29_084019_create_notices_table.php create mode 100644 database/migrations/2021_08_29_084030_create_events_table.php create mode 100644 database/migrations/2021_08_29_084041_create_syllabi_table.php create mode 100644 database/migrations/2021_08_29_084056_create_routines_table.php create mode 100644 database/migrations/2021_10_07_134023_create_assigned_teachers_table.php create mode 100644 database/migrations/2021_10_09_061039_create_grading_systems_table.php create mode 100644 database/migrations/2021_10_16_123559_create_final_marks_table.php create mode 100644 database/migrations/2021_11_26_040801_create_assignments_table.php create mode 100644 database/seeders/AcademicSettingSeeder.php create mode 100644 database/seeders/AssignedTeacherSeeder.php create mode 100644 database/seeders/AssignmentSeeder.php create mode 100644 database/seeders/CourseAttendanceSeeder.php create mode 100644 database/seeders/CourseSeeder.php create mode 100644 database/seeders/DatabaseSeeder.php create mode 100644 database/seeders/EventSeeder.php create mode 100644 database/seeders/ExamRuleSeeder.php create mode 100644 database/seeders/ExamSeeder.php create mode 100644 database/seeders/FinalMarkSeeder.php create mode 100644 database/seeders/GradeRuleSeeder.php create mode 100644 database/seeders/GradingSystemSeeder.php create mode 100644 database/seeders/MarkSeeder.php create mode 100644 database/seeders/NoticeSeeder.php create mode 100644 database/seeders/PermissionSeeder.php create mode 100644 database/seeders/PromotionSeeder.php create mode 100644 database/seeders/RoutineSeeder.php create mode 100644 database/seeders/SchoolClassSeeder.php create mode 100644 database/seeders/SchoolSessionSeeder.php create mode 100644 database/seeders/SectionAttendanceSeeder.php create mode 100644 database/seeders/SectionSeeder.php create mode 100644 database/seeders/SemesterSeeder.php create mode 100644 database/seeders/StudentAcademicInfoSeeder.php create mode 100644 database/seeders/StudentParentInfoSeeder.php create mode 100644 database/seeders/SyllabusSeeder.php create mode 100644 docker-compose.yml create mode 100644 mysql/my.cnf create mode 100644 nginx/conf.d/app.conf create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 php/local.ini create mode 100644 phpunit.xml create mode 100644 public/.htaccess create mode 100644 public/appname.svg create mode 100644 public/bootstrap-5-1.svg create mode 100644 public/css/app.css create mode 100644 public/css/bootstrap-icons-1.7.1/font/bootstrap-icons.css create mode 100644 public/css/bootstrap-icons-1.7.1/font/bootstrap-icons.json create mode 100644 public/css/bootstrap-icons-1.7.1/font/bootstrap-icons.scss create mode 100644 public/css/bootstrap-icons-1.7.1/font/fonts/bootstrap-icons.woff create mode 100644 public/css/bootstrap-icons-1.7.1/font/fonts/bootstrap-icons.woff2 create mode 100644 public/css/bootstrap.min.css create mode 100644 public/css/bootstrap.min.css.map create mode 100644 public/css/fullcalendar5.9.0.min.css create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 00-31-38 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 00-32-44 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 00-33-45 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 00-34-45 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 00-35-16 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 00-35-53 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 00-36-27 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 00-36-39 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 00-36-54 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 00-37-02 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 00-37-09 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 00-37-26 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 00-38-13 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 00-38-22 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 00-38-37 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 00-43-37 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 00-45-01 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 00-55-18 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-03-55 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-04-10 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-11-34 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-12-05 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-12-16 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-26-18 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-27-05 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-27-54 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-28-07 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-30-30 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-30-55 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-31-14 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-32-31 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-32-43 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-33-23 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-33-36 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-34-24 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-38-54 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-39-17 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-41-04 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-41-34 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-43-58 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-44-24 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-44-50 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-45-21 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-51-20 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-51-33 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-52-00 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-52-27 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-53-16 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-54-12 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-55-30 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-55-50 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-56-20 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-57-15 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 01-57-57 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 02-26-21 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 02-27-32 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 02-28-00 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 02-28-23 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 02-29-25 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 02-29-33 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 02-29-56 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 11-39-45 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 11-47-50 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 11-48-01 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 11-53-05 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 11-59-51 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 12-16-04 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 13-14-28 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 13-23-22 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 13-41-38 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 18-14-31 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 18-29-30 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot 2021-12-07 at 20-10-30 Unifiedtransform.png create mode 100644 public/docs/imgs/ut/Screenshot from 2021-12-07 01-24-28.png create mode 100644 public/favicon_io/about.txt create mode 100644 public/favicon_io/android-chrome-192x192.png create mode 100644 public/favicon_io/android-chrome-512x512.png create mode 100644 public/favicon_io/apple-touch-icon.png create mode 100644 public/favicon_io/favicon-16x16.png create mode 100644 public/favicon_io/favicon-32x32.png create mode 100644 public/favicon_io/favicon.ico create mode 100644 public/favicon_io/site.webmanifest create mode 100644 public/fonts/Ubuntu/UFL.txt create mode 100644 public/fonts/Ubuntu/Ubuntu-Bold.ttf create mode 100644 public/fonts/Ubuntu/Ubuntu-BoldItalic.ttf create mode 100644 public/fonts/Ubuntu/Ubuntu-Italic.ttf create mode 100644 public/fonts/Ubuntu/Ubuntu-Light.ttf create mode 100644 public/fonts/Ubuntu/Ubuntu-LightItalic.ttf create mode 100644 public/fonts/Ubuntu/Ubuntu-Medium.ttf create mode 100644 public/fonts/Ubuntu/Ubuntu-MediumItalic.ttf create mode 100644 public/fonts/Ubuntu/Ubuntu-Regular.ttf create mode 100644 public/imgs/profile.png create mode 100644 public/index.php create mode 100644 public/js/app.js create mode 100644 public/js/bootstrap.bundle.min.js create mode 100644 public/js/bootstrap.bundle.min.js.map create mode 100644 public/js/fullcalendar5.9.0.main.min.js create mode 100644 public/js/masonry.pkgd.min.js create mode 100644 public/mix-manifest.json create mode 100644 public/robots.txt create mode 100644 public/web.config create mode 100644 resources/css/app.css create mode 100644 resources/js/app.js create mode 100644 resources/js/bootstrap.js create mode 100644 resources/lang/en/auth.php create mode 100644 resources/lang/en/pagination.php create mode 100644 resources/lang/en/passwords.php create mode 100644 resources/lang/en/validation.php create mode 100644 resources/sass/_variables.scss create mode 100644 resources/sass/app.scss create mode 100644 resources/views/academics/settings.blade.php create mode 100644 resources/views/assignments/create.blade.php create mode 100644 resources/views/assignments/index.blade.php create mode 100644 resources/views/attendances/attendance.blade.php create mode 100644 resources/views/attendances/index.blade.php create mode 100644 resources/views/attendances/take.blade.php create mode 100644 resources/views/attendances/view.blade.php create mode 100644 resources/views/auth/login.blade.php create mode 100644 resources/views/auth/passwords/confirm.blade.php create mode 100644 resources/views/auth/passwords/edit.blade.php create mode 100644 resources/views/auth/passwords/email.blade.php create mode 100644 resources/views/auth/passwords/reset.blade.php create mode 100644 resources/views/auth/register.blade.php create mode 100644 resources/views/auth/verify.blade.php create mode 100644 resources/views/classes/edit.blade.php create mode 100644 resources/views/classes/index.blade.php create mode 100644 resources/views/components/ckeditor/editor.blade.php create mode 100644 resources/views/components/events/event-calendar.blade.php create mode 100644 resources/views/components/photos/photo-input.blade.php create mode 100644 resources/views/courses/edit.blade.php create mode 100644 resources/views/courses/student.blade.php create mode 100644 resources/views/courses/teacher.blade.php create mode 100644 resources/views/events/index.blade.php create mode 100644 resources/views/exams/add-rule.blade.php create mode 100644 resources/views/exams/create.blade.php create mode 100644 resources/views/exams/edit-rule.blade.php create mode 100644 resources/views/exams/grade/add-rule.blade.php create mode 100644 resources/views/exams/grade/create.blade.php create mode 100644 resources/views/exams/grade/view-rules.blade.php create mode 100644 resources/views/exams/grade/view.blade.php create mode 100644 resources/views/exams/history.blade.php create mode 100644 resources/views/exams/index.blade.php create mode 100644 resources/views/exams/view-rule.blade.php create mode 100644 resources/views/home.blade.php create mode 100644 resources/views/layouts/app.blade.php create mode 100644 resources/views/layouts/footer.blade.php create mode 100644 resources/views/layouts/left-menu.blade.php create mode 100644 resources/views/marks/create.blade.php create mode 100644 resources/views/marks/results.blade.php create mode 100644 resources/views/marks/student.blade.php create mode 100644 resources/views/marks/submit-final-marks.blade.php create mode 100644 resources/views/marks/view.blade.php create mode 100644 resources/views/notices/create.blade.php create mode 100644 resources/views/promotions/index.blade.php create mode 100644 resources/views/promotions/promote.blade.php create mode 100644 resources/views/routines/create.blade.php create mode 100644 resources/views/routines/show.blade.php create mode 100644 resources/views/sections/edit.blade.php create mode 100644 resources/views/session-messages.blade.php create mode 100644 resources/views/students/add.blade.php create mode 100644 resources/views/students/edit.blade.php create mode 100644 resources/views/students/list.blade.php create mode 100644 resources/views/students/profile.blade.php create mode 100644 resources/views/syllabi/create.blade.php create mode 100644 resources/views/syllabi/show.blade.php create mode 100644 resources/views/teachers/add.blade.php create mode 100644 resources/views/teachers/edit.blade.php create mode 100644 resources/views/teachers/list.blade.php create mode 100644 resources/views/teachers/profile.blade.php create mode 100644 resources/views/welcome.blade.php create mode 100644 routes/api.php create mode 100644 routes/channels.php create mode 100644 routes/console.php create mode 100644 routes/web.php create mode 100644 server.php create mode 100644 storage/app/.gitignore create mode 100644 storage/app/public/.gitignore create mode 100644 storage/debugbar/.gitignore create mode 100644 storage/framework/.gitignore create mode 100644 storage/framework/cache/.gitignore create mode 100644 storage/framework/cache/data/.gitignore create mode 100644 storage/framework/sessions/.gitignore create mode 100644 storage/framework/testing/.gitignore create mode 100644 storage/framework/views/.gitignore create mode 100644 storage/logs/.gitignore create mode 100644 tests/CreatesApplication.php create mode 100644 tests/Feature/ExampleTest.php create mode 100644 tests/TestCase.php create mode 100644 tests/Unit/ExampleTest.php create mode 100644 webpack.mix.js diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..1671c9b9d --- /dev/null +++ b/.editorconfig @@ -0,0 +1,18 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +indent_style = space +indent_size = 4 +trim_trailing_whitespace = true + +[*.md] +trim_trailing_whitespace = false + +[*.{yml,yaml}] +indent_size = 2 + +[docker-compose.yml] +indent_size = 4 diff --git a/.env.example b/.env.example new file mode 100644 index 000000000..017d89f80 --- /dev/null +++ b/.env.example @@ -0,0 +1,51 @@ +APP_NAME=Unifiedtransform +APP_ENV=local +APP_KEY= +APP_DEBUG=true +APP_URL=http://localhost + +LOG_CHANNEL=stack +LOG_LEVEL=debug + +DB_CONNECTION=mysql +DB_HOST=db +DB_PORT=3306 +DB_DATABASE=unifiedtransform +DB_USERNAME=unifiedtransform +DB_PASSWORD=secret + +BROADCAST_DRIVER=log +CACHE_DRIVER=file +FILESYSTEM_DRIVER=local +QUEUE_CONNECTION=sync +SESSION_DRIVER=file +SESSION_LIFETIME=120 + +MEMCACHED_HOST=127.0.0.1 + +REDIS_HOST=127.0.0.1 +REDIS_PASSWORD=null +REDIS_PORT=6379 + +MAIL_MAILER=smtp +MAIL_HOST=mailhog +MAIL_PORT=1025 +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_ENCRYPTION=null +MAIL_FROM_ADDRESS=null +MAIL_FROM_NAME="${APP_NAME}" + +AWS_ACCESS_KEY_ID= +AWS_SECRET_ACCESS_KEY= +AWS_DEFAULT_REGION=us-east-1 +AWS_BUCKET= +AWS_USE_PATH_STYLE_ENDPOINT=false + +PUSHER_APP_ID= +PUSHER_APP_KEY= +PUSHER_APP_SECRET= +PUSHER_APP_CLUSTER=mt1 + +MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" +MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..967315dd3 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,5 @@ +* text=auto +*.css linguist-vendored +*.scss linguist-vendored +*.js linguist-vendored +CHANGELOG.md export-ignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..eb003b01a --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +/node_modules +/public/hot +/public/storage +/storage/*.key +/vendor +.env +.env.backup +.phpunit.result.cache +docker-compose.override.yml +Homestead.json +Homestead.yaml +npm-debug.log +yarn-error.log +/.idea +/.vscode diff --git a/.styleci.yml b/.styleci.yml new file mode 100644 index 000000000..9231873a1 --- /dev/null +++ b/.styleci.yml @@ -0,0 +1,13 @@ +php: + preset: laravel + disabled: + - no_unused_imports + finder: + not-name: + - index.php + - server.php +js: + finder: + not-name: + - webpack.mix.js +css: true diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..3e7188208 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,9 @@ +language: php +php: +- 7.4 +- 7.3 +before_script: +- cp .env.example .env +- composer install +- php artisan key:generate +script: php artisan test \ No newline at end of file diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..38a103bda --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,76 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, sex characteristics, gender identity and expression, +level of experience, education, socio-economic status, nationality, personal +appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or + advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at robinmilford870@gmail.com. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see +https://www.contributor-covenant.org/faq diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..efd9a3b40 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,60 @@ +FROM php:7.4-fpm + +# Copy composer.lock and composer.json +COPY composer.lock composer.json /var/www/ + +# Set working directory +WORKDIR /var/www + +# Install dependencies +# RUN apt-get update && apt-get install -y \ +# build-essential \ +# libpng-dev \ +# libjpeg62-turbo-dev \ +# libfreetype6-dev \ +# locales \ +# zip \ +# jpegoptim optipng pngquant gifsicle \ +# unzip \ +# git \ +# curl \ +# libzip-dev + +RUN apt-get update && apt-get install -y \ + build-essential \ + libzip-dev \ + libpng-dev \ + libjpeg62-turbo-dev \ + libxml2 \ + wget + +# RUN pecl install xdebug-2.9.2 \ +# && docker-php-ext-enable xdebug \ +# && echo "xdebug.remote_enable=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini + +# Clear cache +RUN apt-get clean && rm -rf /var/lib/apt/lists/* + +# Install extensions +RUN docker-php-ext-install pdo_mysql zip exif pcntl +RUN docker-php-ext-install gd && docker-php-ext-enable gd + +# Install composer +RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer + +# Add user for laravel application +RUN groupadd -g 1000 www +RUN useradd -u 1000 -ms /bin/bash -g www www + +# Copy existing application directory contents +COPY . /var/www + +# Copy existing application directory permissions +COPY --chown=www:www . /var/www + +# Change current user to www +USER www + +# Expose port 9000 and start php-fpm server +EXPOSE 9000 +CMD ["php-fpm"] \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 000000000..e72bfddab --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 000000000..614de69f0 --- /dev/null +++ b/README.md @@ -0,0 +1,386 @@ +

+ +## Version 2.X is here!! + +For Version 1.X, view [releases](https://github.com/changeweb/Unifiedtransform/releases). +

+

+School Management and Accounting Software +

+ +[![Build Status](https://travis-ci.org/changeweb/Unifiedtransform.svg?branch=master)](https://travis-ci.org/changeweb/Unifiedtransform) +[![Linux](https://img.shields.io/travis/changeweb/Unifiedtransform/master.svg?label=linux)](https://travis-ci.org/changeweb/Unifiedtransform) +[![Code Climate](https://codeclimate.com/github/changeweb/Unifiedtransform/badges/gpa.svg)](https://codeclimate.com/github/changeweb/Unifiedtransform) +[![Latest release](https://img.shields.io/github/release/changeweb/Unifiedtransform/all.svg)](https://github.com/changeweb/Unifiedtransform/releases) +[![MadeWithLaravel.com shield](https://madewithlaravel.com/storage/repo-shields/1362-shield.svg)](https://madewithlaravel.com/p/unifiedtransform/shield-link) +[![Join the chat at https://gitter.im/Unifiedtransform](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/Unifiedtransform?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) + +We like to challenge the quality of what we build to make it better. To do so, we try to make the product intuitive, beautiful, and user friendly. Innovation and hard work help to fulfill these requirements. I believe in order to innovate we need to think differently. A few months ago I discovered there was no open source free school management software that met my quality standards. I happen to know a bit of programming so I decided to make one. I also believe that working with more people can push the standard higher than working alone. So I decided to make it open source and free. + +## Featured on Laravel News !! +![Screenshot_2019-04-07 Laravel News](https://user-images.githubusercontent.com/9896315/55683832-1b3c8c80-5966-11e9-8dfb-ab30a79a98ed.png) +See the news [here](https://laravel-news.com/unified-transform-open-source-school-management-platform) + +## Framework used + +- Laravel 8.X +- Bootstrap 5.X + +

+ +## Server Requirements + +- PHP >= 7.3 +- OpenSSL PHP Extension +- PDO PHP Extension +- Mbstring PHP Extension +- Tokenizer PHP Extension +- XML PHP Extension + +## Testing + +- We want testable softwares. Most parts of the software in the previous version 1.x were covered by tests. Lets cover version 2.x as well. You also can contribute by writing test case! +- To run Feature and Unit Tests run following commands: + + ```sh + $ docker exec -it app sh + // Inside container shell + :/# php artisan test + ``` + +## License + +GNU General Public License v3.0 + +## Contribute + +Unifiedtransform is 100% open source and free forever!! + +Community contribution can make this product better!! + +When you contribute to a Github project you agree with this terms of [Github Terms of Service(Contributions Under Repository License)](https://help.github.com/en/articles/github-terms-of-service#6-contributions-under-repository-license). + +Since this project is under **GNU General Public License v3.0**, according to Github's Terms of Service all your contributions are also under the same license terms. +Thus you permit the user of this software to use your contribution under the terms of **GNU General Public License v3.0**. + +## Whats New +v2.X is built from scratch. Both UI and internal workflow of the application are changed to a better design. + +## Features yet to be migrated from v1.X to v2.X +Following features that exist in v1.X will be added in v2.X as well in future. + +- Stripe payment +- Messaging +- Managing library +- Managing Income and Expenses +- Mass student and teachers export and import. +- Printing reports +- Managing certificates. +- Supported other languages (Spanish, ...). + +## How to Start +### Using Docker Container: + +**[Docker](https://www.docker.com/)** is now supported and improved. + +[How To Set Up Laravel, Nginx, and MySQL With Docker Compose on Ubuntu 20.04](https://www.digitalocean.com/community/tutorials/how-to-set-up-laravel-nginx-and-mysql-with-docker-compose-on-ubuntu-20-04) + +With the improved Docker setup, you will get: +- Nginx +- PHP 7.4 +- MySQL 5.7 + +### Steps to install: +1. Clone or donwload the repository. +2. Create **purify** folder in `storage/app/` directory. +3. Run `cp .env.example .env`. +4. Run `composer up -d`. +5. Run `docker exec -it db sh`. Inside the shell, run: + + ```sh + :/# mysql -u root -p + ``` + + Mysql **Root password**: `your_mysql_root_password` in the `docker-compose.yml` file. Then run following commands: + + ```sql + mysql> SHOW DATABASES; + mysql> GRANT ALL ON unifiedtransform.* TO 'unifiedtransform'@'%' IDENTIFIED BY 'secret'; + mysql> FLUSH PRIVILEGES; + mysql> EXIT; + ``` +6. Finally, exit the container by running `exit` in the container shell. +7. Run `docker exec -it app sh`. Inside the shell, run following commands: + + ```sh + :/# composer install + :/# php artisan key:generate + :/# php artisan config:cache + :/# php artisan migrate:fresh --seed + ``` + + Then exit from the container. +8. Visit **http://localhost:8080**. Admin login credentials: + + - Email: admin@ut.com + - Password: password + +## Steps to follow: +Please carefully follow the steps to setup the school. + +**Role: Admin** + +**School Dashboard** +

+ +### 1. Create a School Session: +After logging in for the first time, you will see following message at the top nav bar. + +

+ +To create a new session, go to **Academic Settings** page. + +#### Academic Settings page: +

+ +Successful creation of session using following form will display success message: + +

+ +### 2. Create a Semester +Now create a semester. A semester duration usually is 3 - 6 months. + +

+ +

+ +### 3. Create classes +Now create classes. Give common names such as: **Class 1** or **Class 11 (Science)**. + +

+ +

+ +### 4. Create sections +Now create sections for each classes. Give section's name (e.g.: Section A, Section B), room number and assign them to respective class. + +

+ +### 5. Create Courses +Now create courses and assign them to respective semester and class. + +

+ +### 6. Set attendance type +Attendance can be maintained in two ways: 1. By section, 2. By course. Stick to one type for a semester. Default: **By section**. + +

+ +### 7. Add teachers +Now add teachers. + +

+ +### 8. Assign teacher +Now assign teachers to semester, class, section, and course. + +

+ +### 9. Add students +Now add students and assign them to class, and section. + +

+ +### 10. View added teachers and students +Now browse to **View Teachers** and **View Students** pages. + +

+ +### 11. View student and teacher profile +Now browse to **Profile** from student and teacher list. + +

+ +### 12. View and Edit Classes and Sections +Now go to **Classes**. Here you can view all classes and their respective sections, syllabi, and courses. Classes, sections, and courses can be edited from here. + +

+ +

+ +

+ +### 13. Create Grading Systems +Now create grading system for each class and a semester. + +

+ +### 14. View Grading Systems +Now browse to created Grading Systems. + +

+ +### 15. Add and view Grading System Rules +Now add rules to the grading system and browse them. + +

+ +

+ +### 16. Add Notices +Admin can add notice. Right now, notices can be written using a rich text editor. + +

+ +### 17. Create Events +Events can be created inside a calendar. Click and drag on a date or time period to prompt the input box. An already created event can be **deleted** by clicking on the event. + +

+ +

+ +### 18. Create and view Routines +Routines can be created for each class and section. + +

+ +

+ +### 19. Add Syllabi +Syllabus for each class and course can be added. Admin can view them from **Classes** page. Syllabus can be downloaded. + +

+ +

+ +### 20. Browse by Sessions +You can browse previous sessions like a snapshot. This mode is **Read only**. Nobody should be able to change the previous sessions' data. + +

+ +

+ +### 21. Allow Teachers to submit Final Marks +Submitting final marks of a semester should be controlled. By enabling this feature, it is possible to open a Mark Submission Window for a short time period. **Default: Disallowed**. + +

+ +### 22. Promote students +Students can only be promoted to a new class and section when a new Session along with its classes and sections are created. + +

+

+ +**Role: Teacher** + +**Teacher's dashboard** + +

+ +### 1. View assigned courses +Teachers can manage their assigned courses from this page. From this page, teacher can do following: + +- Take and view attendance +- View Syllabus +- Create and view Assignment +- Give Marks +- Message Students (Available in v1.X. Will be added in v2.X as well). + +

+ +### 2. Take attendance +Teacher can take attendance for a section or a course (attendance type set by Admin). + +

+ +### 3. View attendance +Teacher can view attendance. + +

+ +### 4. View syllabus +Teacher can view and download syllabus. + +

+ +### 5. Create assignment +Teacher can create assignment for an assigned course by uploading files. + +

+ +### 6. View assignments +Teacher can view and download created assignments. + +

+ +### 7. Create Exams +Before giving marks, teacher needs to create exams and set their rules. Don't have to create all the exams at a time. (Admin can also create exams on behalf of teachers). + +

+ +### 8. View created exams +Teacher can view their created exams. + +

+ +### 9. Add, edit and view exam rules +Teacher can add, edit, and view exam rules. + +

+ +

+ +### 10. Give marks +Teacher can give marks after creating exams. Clicking on the exam names will lead to associated exam rules. + +

+ +### 11. Submit Final Marks +When the Grade submission window is open, teacher can submit final marks. Calculated marks will be generated based on all exams' marks. Final marks should be in **between** the marks set in the grade rules. + +

+ +If final marks is submitted, a message will be shown in place of submit button in **Give Marks** page. + +

+ +### 12. View Final Results +Teachers can view final results and calculated grades for a semester, class, section, and course based on their created grade rules. + +

+ +**Role: Student** + +**Student dashboard** + +

+ +### 1. View attendance +A student can view his/her attendance. + +

+ +### 2. View courses +A student can view his/her courses that are assigned in his/her class. From here, a student can do following: + +- View Marks +- View Syllabus +- View Assignments + +

+ +### 3. View Marks +A student can view marks, final results and grade for a course. + +

+ +### 4. View and download Syllabus +Students can view and download syllabi of their courses just like their teachers. + +### 5. View and download assignments +Students can view and download assignments of their courses just like their teachers. + +### 6. View routine +Students can view their class and section routine just like their admin/teachers. + + diff --git a/_config.yml b/_config.yml new file mode 100644 index 000000000..c4192631f --- /dev/null +++ b/_config.yml @@ -0,0 +1 @@ +theme: jekyll-theme-cayman \ No newline at end of file diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php new file mode 100644 index 000000000..69914e993 --- /dev/null +++ b/app/Console/Kernel.php @@ -0,0 +1,41 @@ +command('inspire')->hourly(); + } + + /** + * Register the commands for the application. + * + * @return void + */ + protected function commands() + { + $this->load(__DIR__.'/Commands'); + + require base_path('routes/console.php'); + } +} diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php new file mode 100644 index 000000000..c18c43cc1 --- /dev/null +++ b/app/Exceptions/Handler.php @@ -0,0 +1,41 @@ +reportable(function (Throwable $e) { + // + }); + } +} diff --git a/app/Http/Controllers/AcademicSettingController.php b/app/Http/Controllers/AcademicSettingController.php new file mode 100644 index 000000000..f4ad88dfc --- /dev/null +++ b/app/Http/Controllers/AcademicSettingController.php @@ -0,0 +1,114 @@ +middleware(['can:view academic settings']); + + $this->academicSettingRepository = $academicSettingRepository; + $this->schoolSessionRepository = $schoolSessionRepository; + $this->schoolClassRepository = $schoolClassRepository; + $this->schoolSectionRepository = $schoolSectionRepository; + $this->userRepository = $userRepository; + $this->courseRepository = $courseRepository; + $this->semesterRepository = $semesterRepository; + } + + /** + * Display a listing of the resource. + * + * @return \Illuminate\Http\Response + */ + public function index() + { + $current_school_session_id = $this->getSchoolCurrentSession(); + + $latest_school_session = $this->schoolSessionRepository->getLatestSession(); + + $academic_setting = $this->academicSettingRepository->getAcademicSetting(); + + $school_sessions = $this->schoolSessionRepository->getAll(); + + $school_classes = $this->schoolClassRepository->getAllBySession($current_school_session_id); + + $school_sections = $this->schoolSectionRepository->getAllBySession($current_school_session_id); + + $teachers = $this->userRepository->getAllTeachers(); + + $courses = $this->courseRepository->getAll($current_school_session_id); + + $semesters = $this->semesterRepository->getAll($current_school_session_id); + + $data = [ + 'current_school_session_id' => $current_school_session_id, + 'latest_school_session_id' => $latest_school_session->id, + 'academic_setting' => $academic_setting, + 'school_sessions' => $school_sessions, + 'school_classes' => $school_classes, + 'school_sections' => $school_sections, + 'teachers' => $teachers, + 'courses' => $courses, + 'semesters' => $semesters, + ]; + + return view('academics.settings', $data); + } + + /** + * Update the specified resource in storage. + * + * @param AttendanceTypeUpdateRequest $request + * @return \Illuminate\Http\Response + */ + public function updateAttendanceType(AttendanceTypeUpdateRequest $request) + { + try { + $this->academicSettingRepository->updateAttendanceType($request->validated()); + + return back()->with('status', 'Attendance type update was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } + + public function updateFinalMarksSubmissionStatus(Request $request) { + try { + $this->academicSettingRepository->updateFinalMarksSubmissionStatus($request); + + return back()->with('status', 'Final marks submission status update was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } +} diff --git a/app/Http/Controllers/AssignedTeacherController.php b/app/Http/Controllers/AssignedTeacherController.php new file mode 100644 index 000000000..5faf8289c --- /dev/null +++ b/app/Http/Controllers/AssignedTeacherController.php @@ -0,0 +1,103 @@ +schoolSessionRepository = $schoolSessionRepository; + $this->semesterRepository = $semesterRepository; + } + /** + * Display a listing of the resource. + * + * @return \Illuminate\Http\Response + */ + public function index() + { + // + } + + /** + * Display a listing of the resource. + * + * @param CourseStoreRequest $request + * @return \Illuminate\Http\Response + */ + public function getTeacherCourses(Request $request) + { + $teacher_id = $request->query('teacher_id'); + $semester_id = $request->query('semester_id'); + + if($teacher_id == null) { + abort(404); + } + + $current_school_session_id = $this->getSchoolCurrentSession(); + + $semesters = $this->semesterRepository->getAll($current_school_session_id); + + $assignedTeacherRepository = new AssignedTeacherRepository(); + + if($semester_id == null) { + $courses = []; + } else { + $courses = $assignedTeacherRepository->getTeacherCourses($current_school_session_id, $teacher_id, $semester_id); + } + + $data = [ + 'courses' => $courses, + 'semesters' => $semesters, + 'selected_semester_id' => $semester_id, + ]; + + return view('courses.teacher', $data); + } + + /** + * Show the form for creating a new resource. + * + * @return \Illuminate\Http\Response + */ + public function create() + { + // + } + + /** + * Store a newly created resource in storage. + * + * @param TeacherAssignRequest $request + * @return \Illuminate\Http\Response + */ + public function store(TeacherAssignRequest $request) + { + try { + $assignedTeacherRepository = new AssignedTeacherRepository(); + $assignedTeacherRepository->assign($request->validated()); + + return back()->with('status', 'Assigning teacher was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } +} diff --git a/app/Http/Controllers/AssignmentController.php b/app/Http/Controllers/AssignmentController.php new file mode 100644 index 000000000..22121658e --- /dev/null +++ b/app/Http/Controllers/AssignmentController.php @@ -0,0 +1,131 @@ +schoolSessionRepository = $schoolSessionRepository; + } + /** + * Display a listing of the resource. + * + * @return \Illuminate\Http\Response + */ + public function getCourseAssignments(Request $request) + { + $course_id = $request->query('course_id', 0); + $current_school_session_id = $this->getSchoolCurrentSession(); + $assignmentRepository = new AssignmentRepository(); + $assignments = $assignmentRepository->getAssignments($current_school_session_id, $course_id); + $data = [ + 'assignments' => $assignments, + ]; + return view('assignments.index', $data); + } + + /** + * Show the form for creating a new resource. + * + * @return \Illuminate\Http\Response + */ + public function create(Request $request) + { + $current_school_session_id = $this->getSchoolCurrentSession(); + $data = [ + 'current_school_session_id' => $current_school_session_id, + 'class_id' => $request->query('class_id', 0), + 'section_id' => $request->query('section_id', 0), + 'course_id' => $request->query('course_id', 0), + ]; + return view('assignments.create', $data); + } + + /** + * Store a newly created resource in storage. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function store(StoreFileRequest $request) + { + $validatedRequest = $request->validated(); + $validatedRequest['class_id'] = $request->class_id; + $validatedRequest['section_id'] = $request->section_id; + $validatedRequest['course_id'] = $request->course_id; + $validatedRequest['semester_id'] = $request->semester_id; + $validatedRequest['assignment_name'] = $request->assignment_name; + $validatedRequest['session_id'] = $this->getSchoolCurrentSession(); + + try { + $assignmentRepository = new AssignmentRepository(); + $assignmentRepository->store($validatedRequest); + + return back()->with('status', 'Creating assignment was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } + + /** + * Display the specified resource. + * + * @param \App\Models\Assignment $assignment + * @return \Illuminate\Http\Response + */ + public function show(Assignment $assignment) + { + // + } + + /** + * Show the form for editing the specified resource. + * + * @param \App\Models\Assignment $assignment + * @return \Illuminate\Http\Response + */ + public function edit(Assignment $assignment) + { + // + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param \App\Models\Assignment $assignment + * @return \Illuminate\Http\Response + */ + public function update(Request $request, Assignment $assignment) + { + // + } + + /** + * Remove the specified resource from storage. + * + * @param \App\Models\Assignment $assignment + * @return \Illuminate\Http\Response + */ + public function destroy(Assignment $assignment) + { + // + } +} diff --git a/app/Http/Controllers/AttendanceController.php b/app/Http/Controllers/AttendanceController.php new file mode 100644 index 000000000..4d48dc369 --- /dev/null +++ b/app/Http/Controllers/AttendanceController.php @@ -0,0 +1,184 @@ +middleware(['can:view attendances']); + + $this->userRepository = $userRepository; + $this->academicSettingRepository = $academicSettingRepository; + $this->schoolSessionRepository = $schoolSessionRepository; + $this->schoolClassRepository = $schoolClassRepository; + $this->sectionRepository = $sectionRepository; + } + /** + * Display a listing of the resource. + * + * @return \Illuminate\Http\Response + */ + public function index() + { + return back(); + // $academic_setting = $this->academicSettingRepository->getAcademicSetting(); + + // $current_school_session_id = $this->getSchoolCurrentSession(); + + // $classes_and_sections = $this->schoolClassRepository->getClassesAndSections($current_school_session_id); + // $courseRepository = new CourseRepository(); + // $courses = $courseRepository->getAll($current_school_session_id); + + // $data = [ + // 'academic_setting' => $academic_setting, + // 'classes_and_sections' => $classes_and_sections, + // 'courses' => $courses, + // ]; + + // return view('attendances.index', $data); + } + + /** + * Show the form for creating a new resource. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function create(Request $request) + { + if($request->query('class_id') == null){ + return abort(404); + } + try{ + $academic_setting = $this->academicSettingRepository->getAcademicSetting(); + $current_school_session_id = $this->getSchoolCurrentSession(); + + $class_id = $request->query('class_id'); + $section_id = $request->query('section_id', 0); + $course_id = $request->query('course_id'); + + $student_list = $this->userRepository->getAllStudents($current_school_session_id, $class_id, $section_id); + + $school_class = $this->schoolClassRepository->findById($class_id); + $school_section = $this->sectionRepository->findById($section_id); + + $attendanceRepository = new AttendanceRepository(); + + if($academic_setting->attendance_type == 'section') { + $attendance_count = $attendanceRepository->getSectionAttendance($class_id, $section_id, $current_school_session_id)->count(); + } else { + $attendance_count = $attendanceRepository->getCourseAttendance($class_id, $course_id, $current_school_session_id)->count(); + } + + $data = [ + 'current_school_session_id' => $current_school_session_id, + 'academic_setting' => $academic_setting, + 'student_list' => $student_list, + 'school_class' => $school_class, + 'school_section' => $school_section, + 'attendance_count' => $attendance_count, + ]; + + return view('attendances.take', $data); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } + + /** + * Store a newly created resource in storage. + * + * @param \Illuminate\Http\AttendanceStoreRequest $request + * @return \Illuminate\Http\Response + */ + public function store(AttendanceStoreRequest $request) + { + try { + $attendanceRepository = new AttendanceRepository(); + $attendanceRepository->saveAttendance($request->validated()); + + return back()->with('status', 'Attendance save was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } + + /** + * Display the specified resource. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function show(Request $request) + { + if($request->query('class_id') == null){ + return abort(404); + } + + $current_school_session_id = $this->getSchoolCurrentSession(); + + $class_id = $request->query('class_id'); + $section_id = $request->query('section_id'); + $course_id = $request->query('course_id'); + + $attendanceRepository = new AttendanceRepository(); + + try { + $academic_setting = $this->academicSettingRepository->getAcademicSetting(); + if($academic_setting->attendance_type == 'section') { + $attendances = $attendanceRepository->getSectionAttendance($class_id, $section_id, $current_school_session_id); + } else { + $attendances = $attendanceRepository->getCourseAttendance($class_id, $course_id, $current_school_session_id); + } + $data = ['attendances' => $attendances]; + + return view('attendances.view', $data); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } + + public function showStudentAttendance($id) { + if(auth()->user()->role == "student" && auth()->user()->id != $id) { + return abort(404); + } + $current_school_session_id = $this->getSchoolCurrentSession(); + + $attendanceRepository = new AttendanceRepository(); + $attendances = $attendanceRepository->getStudentAttendance($current_school_session_id, $id); + $student = $this->userRepository->findStudent($id); + + $data = [ + 'attendances' => $attendances, + 'student' => $student, + ]; + + return view('attendances.attendance', $data); + } +} diff --git a/app/Http/Controllers/Auth/ConfirmPasswordController.php b/app/Http/Controllers/Auth/ConfirmPasswordController.php new file mode 100644 index 000000000..138c1f08a --- /dev/null +++ b/app/Http/Controllers/Auth/ConfirmPasswordController.php @@ -0,0 +1,40 @@ +middleware('auth'); + } +} diff --git a/app/Http/Controllers/Auth/ForgotPasswordController.php b/app/Http/Controllers/Auth/ForgotPasswordController.php new file mode 100644 index 000000000..465c39ccf --- /dev/null +++ b/app/Http/Controllers/Auth/ForgotPasswordController.php @@ -0,0 +1,22 @@ +middleware('guest')->except('logout'); + } +} diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php new file mode 100644 index 000000000..ed1a5e073 --- /dev/null +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -0,0 +1,73 @@ +middleware('guest'); + } + + /** + * 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', 'string', 'max:255'], + 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], + 'password' => ['required', 'string', 'min:8', 'confirmed'], + ]); + } + + /** + * Create a new user instance after a valid registration. + * + * @param array $data + * @return \App\Models\User + */ + protected function create(array $data) + { + return User::create([ + 'name' => $data['name'], + 'email' => $data['email'], + 'password' => Hash::make($data['password']), + ]); + } +} diff --git a/app/Http/Controllers/Auth/ResetPasswordController.php b/app/Http/Controllers/Auth/ResetPasswordController.php new file mode 100644 index 000000000..b1726a364 --- /dev/null +++ b/app/Http/Controllers/Auth/ResetPasswordController.php @@ -0,0 +1,30 @@ +userRepository = $userRepository; + } + + public function edit() { + return view('auth.passwords.edit'); + } + + public function update(PasswordChangeRequest $request) { + $request = $request->validated(); + if (Hash::check($request['old_password'], auth()->user()->password)) { + // The passwords match... + try{ + $this->userRepository->changePassword($request['new_password']); + + return back()->with('status', 'Changing password was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } else { + return back()->withError('Password mismatched!'); + } + } +} diff --git a/app/Http/Controllers/Auth/VerificationController.php b/app/Http/Controllers/Auth/VerificationController.php new file mode 100644 index 000000000..5e749af86 --- /dev/null +++ b/app/Http/Controllers/Auth/VerificationController.php @@ -0,0 +1,42 @@ +middleware('auth'); + $this->middleware('signed')->only('verify'); + $this->middleware('throttle:6,1')->only('verify', 'resend'); + } +} diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php new file mode 100644 index 000000000..a0a2a8a34 --- /dev/null +++ b/app/Http/Controllers/Controller.php @@ -0,0 +1,13 @@ +schoolSessionRepository = $schoolSessionRepository; + $this->schoolCourseRepository = $schoolCourseRepository; + } + + /** + * 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 CourseStoreRequest $request + * @return \Illuminate\Http\Response + */ + public function store(CourseStoreRequest $request) + { + try { + $this->schoolCourseRepository->create($request->validated()); + + return back()->with('status', 'Course creation was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } + + /** + * Display the specified resource. + * + * @return \Illuminate\Http\Response + */ + public function getStudentCourses($student_id) { + $current_school_session_id = $this->getSchoolCurrentSession(); + $promotionRepository = new PromotionRepository(); + $class_info = $promotionRepository->getPromotionInfoById($current_school_session_id, $student_id); + $courses = $this->schoolCourseRepository->getByClassId($class_info->class_id); + + $data = [ + 'class_info' => $class_info, + 'courses' => $courses, + ]; + return view('courses.student', $data); + } + + /** + * Show the form for editing the specified resource. + * + * @param $course_id + * @return \Illuminate\Http\Response + */ + public function edit($course_id) + { + $current_school_session_id = $this->getSchoolCurrentSession(); + + $course = $this->schoolCourseRepository->findById($course_id); + + $data = [ + 'current_school_session_id' => $current_school_session_id, + 'course' => $course, + 'course_id' => $course_id, + ]; + + return view('courses.edit', $data); + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function update(Request $request) + { + try { + $this->schoolCourseRepository->update($request); + + return back()->with('status', 'Course update was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } + + /** + * Remove the specified resource from storage. + * + * @param \App\Models\Course $course + * @return \Illuminate\Http\Response + */ + public function destroy(Course $course) + { + // + } +} diff --git a/app/Http/Controllers/EventController.php b/app/Http/Controllers/EventController.php new file mode 100644 index 000000000..86180cdb4 --- /dev/null +++ b/app/Http/Controllers/EventController.php @@ -0,0 +1,70 @@ +schoolSessionRepository = $schoolSessionRepository; + } + /** + * Display a listing of the resource. + * + * @return \Illuminate\Http\Response + */ + public function index(Request $request) + { + if($request->ajax()) { + $current_school_session_id = $this->getSchoolCurrentSession(); + + $data = Event::whereDate('start', '>=', $request->start) + ->whereDate('end', '<=', $request->end) + ->where('session_id', $current_school_session_id) + ->get(['id', 'title', 'start', 'end']); + return response()->json($data); + } + return view('events.index'); + } + + public function calendarEvents(Request $request) + { + $current_school_session_id = $this->getSchoolCurrentSession(); + $event = null; + switch ($request->type) { + case 'create': + $event = Event::create([ + 'title' => $request->title, + 'start' => $request->start, + 'end' => $request->end, + 'session_id' => $current_school_session_id + ]); + break; + + case 'edit': + $event = Event::find($request->id)->update([ + 'title' => $request->title, + 'start' => $request->start, + 'end' => $request->end, + ]); + break; + + case 'delete': + $event = Event::find($request->id)->delete(); + break; + + default: + break; + } + dd($event); + return response()->json($event); + } +} diff --git a/app/Http/Controllers/ExamController.php b/app/Http/Controllers/ExamController.php new file mode 100644 index 000000000..d263102b3 --- /dev/null +++ b/app/Http/Controllers/ExamController.php @@ -0,0 +1,172 @@ +schoolSessionRepository = $schoolSessionRepository; + $this->schoolClassRepository = $schoolClassRepository; + $this->semesterRepository = $semesterRepository; + } + /** + * Display a listing of the resource. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function index(Request $request) + { + $class_id = $request->query('class_id', 0); + $semester_id = $request->query('semester_id', 0); + + $current_school_session_id = $this->getSchoolCurrentSession(); + + $semesters = $this->semesterRepository->getAll($current_school_session_id); + + $school_classes = $this->schoolClassRepository->getAllBySession($current_school_session_id); + + $examRepository = new ExamRepository(); + + $exams = $examRepository->getAll($current_school_session_id, $semester_id, $class_id); + + $assignedTeacherRepository = new AssignedTeacherRepository(); + + $teacher_id = (auth()->user()->role == "teacher")?auth()->user()->id : 0; + + $teacherCourses = $assignedTeacherRepository->getTeacherCourses($current_school_session_id, $teacher_id, $semester_id); + + $data = [ + 'current_school_session_id' => $current_school_session_id, + 'semesters' => $semesters, + 'classes' => $school_classes, + 'exams' => $exams, + 'teacher_courses' => $teacherCourses, + ]; + + return view('exams.index', $data); + } + + /** + * Show the form for creating a new resource. + * + * @return \Illuminate\Http\Response + */ + public function create() + { + $current_school_session_id = $this->getSchoolCurrentSession(); + + $semesters = $this->semesterRepository->getAll($current_school_session_id); + + if(auth()->user()->role == "teacher") { + $teacher_id = auth()->user()->id; + $assigned_classes = $this->schoolClassRepository->getAllBySessionAndTeacher($current_school_session_id, $teacher_id); + + $school_classes = []; + $i = 0; + + foreach($assigned_classes as $assigned_class) { + $school_classes[$i] = $assigned_class->schoolClass; + $i++; + } + } else { + $school_classes = $this->schoolClassRepository->getAllBySession($current_school_session_id); + } + + $data = [ + 'current_school_session_id' => $current_school_session_id, + 'semesters' => $semesters, + 'classes' => $school_classes, + ]; + + return view('exams.create', $data); + } + + /** + * Store a newly created resource in storage. + * + * @param ExamStoreRequest $request + * @return \Illuminate\Http\Response + */ + public function store(ExamStoreRequest $request) + { + try { + $examRepository = new ExamRepository(); + $examRepository->create($request->validated()); + + return back()->with('status', 'Exam creation was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } + + /** + * Display the specified resource. + * + * @param \App\Models\Exam $exam + * @return \Illuminate\Http\Response + */ + public function show(Exam $exam) + { + // + } + + /** + * Show the form for editing the specified resource. + * + * @param \App\Models\Exam $exam + * @return \Illuminate\Http\Response + */ + public function edit(Exam $exam) + { + // + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param \App\Models\Exam $exam + * @return \Illuminate\Http\Response + */ + public function update(Request $request, Exam $exam) + { + // + } + + /** + * Remove the specified resource from storage. + * + * @param \App\Models\Exam $exam + * @return \Illuminate\Http\Response + */ + public function destroy(Request $request) + { + try { + $examRepository = new ExamRepository(); + $examRepository->delete($request->exam_id); + + return back()->with('status', 'Exam deletion was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } +} diff --git a/app/Http/Controllers/ExamRuleController.php b/app/Http/Controllers/ExamRuleController.php new file mode 100644 index 000000000..0bbad12c8 --- /dev/null +++ b/app/Http/Controllers/ExamRuleController.php @@ -0,0 +1,135 @@ +schoolSessionRepository = $schoolSessionRepository; + } + /** + * Display a listing of the resource. + * + * \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function index(Request $request) + { + $current_school_session_id = $this->getSchoolCurrentSession(); + $exam_id = $request->query('exam_id', 0); + $examRuleRepository = new ExamRuleRepository(); + $exam_rules = $examRuleRepository->getAll($current_school_session_id, $exam_id); + + $data = [ + 'exam_rules' => $exam_rules + ]; + return view('exams.view-rule', $data); + } + + /** + * Show the form for creating a new resource. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function create(Request $request) + { + $current_school_session_id = $this->getSchoolCurrentSession(); + $exam_id = $request->query('exam_id'); + + $data = [ + 'exam_id' => $exam_id, + 'current_school_session_id' => $current_school_session_id, + ]; + + return view('exams.add-rule', $data); + } + + /** + * Store a newly created resource in storage. + * + * @param ExamRuleStoreRequest $request + * @return \Illuminate\Http\Response + */ + public function store(ExamRuleStoreRequest $request) + { + try { + $examRuleRepository = new ExamRuleRepository(); + $examRuleRepository->create($request->validated()); + + return back()->with('status', 'Exam rule creation was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } + + /** + * Display the specified resource. + * + * @param \App\Models\ExamRule $examRule + * @return \Illuminate\Http\Response + */ + public function show(ExamRule $examRule) + { + return view('exams.view-rule'); + } + + /** + * Show the form for editing the specified resource. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function edit(Request $request) + { + $examRuleRepository = new ExamRuleRepository(); + $exam_rule = $examRuleRepository->getById($request->exam_rule_id); + $data = [ + 'exam_rule_id' => $request->exam_rule_id, + 'exam_rule' => $exam_rule, + ]; + return view('exams.edit-rule', $data); + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function update(Request $request) + { + try { + $examRuleRepository = new ExamRuleRepository(); + $examRuleRepository->update($request); + + return back()->with('status', 'Exam rule update was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } + + /** + * Remove the specified resource from storage. + * + * @param \App\Models\ExamRule $examRule + * @return \Illuminate\Http\Response + */ + public function destroy(ExamRule $examRule) + { + // + } +} diff --git a/app/Http/Controllers/GradeRuleController.php b/app/Http/Controllers/GradeRuleController.php new file mode 100644 index 000000000..ef9a4d216 --- /dev/null +++ b/app/Http/Controllers/GradeRuleController.php @@ -0,0 +1,122 @@ +schoolSessionRepository = $schoolSessionRepository; + } + /** + * Display a listing of the resource. + * @param \Illuminate\Http\Request $request + * + * @return \Illuminate\Http\Response + */ + public function index(Request $request) + { + $grading_system_id = $request->query('grading_system_id'); + $current_school_session_id = $this->getSchoolCurrentSession(); + + $gradeRuleRepository = new GradeRuleRepository(); + $gradeRules = $gradeRuleRepository->getAll($current_school_session_id, $grading_system_id); + + return view('exams.grade.view-rules', compact('gradeRules')); + } + + /** + * Show the form for creating a new resource. + * @param \Illuminate\Http\Request $request + * + * @return \Illuminate\Http\Response + */ + public function create(Request $request) + { + $grading_system_id = $request->query('grading_system_id'); + $current_school_session_id = $this->getSchoolCurrentSession(); + return view('exams.grade.add-rule', compact('grading_system_id', 'current_school_session_id')); + } + + /** + * Store a newly created resource in storage. + * + * @param GradeRuleStoreRequest $request + * @return \Illuminate\Http\Response + */ + public function store(GradeRuleStoreRequest $request) + { + try { + $gradeRuleRepository = new GradeRuleRepository(); + $gradeRuleRepository->store($request->validated()); + + return back()->with('status', 'Creating grading system rule was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } + + /** + * Display the specified resource. + * + * @param \App\Models\GradeRule $gradeRule + * @return \Illuminate\Http\Response + */ + public function show(GradeRule $gradeRule) + { + // + } + + /** + * Show the form for editing the specified resource. + * + * @param \App\Models\GradeRule $gradeRule + * @return \Illuminate\Http\Response + */ + public function edit(GradeRule $gradeRule) + { + // + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param \App\Models\GradeRule $gradeRule + * @return \Illuminate\Http\Response + */ + public function update(Request $request, GradeRule $gradeRule) + { + // + } + + /** + * Remove the specified resource from storage. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function destroy(Request $request) + { + try { + $gradeRuleRepository = new GradeRuleRepository(); + $gradeRuleRepository->delete($request->id); + + return back()->with('status', 'Deleting grading system rule was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } +} diff --git a/app/Http/Controllers/GradingSystemController.php b/app/Http/Controllers/GradingSystemController.php new file mode 100644 index 000000000..15dd811c2 --- /dev/null +++ b/app/Http/Controllers/GradingSystemController.php @@ -0,0 +1,133 @@ +schoolSessionRepository = $schoolSessionRepository; + $this->schoolClassRepository = $schoolClassRepository; + $this->semesterRepository = $semesterRepository; + } + /** + * Display a listing of the resource. + * + * @return \Illuminate\Http\Response + */ + public function index() + { + $gradingSystemRepository = new GradingSystemRepository(); + $current_school_session_id = $this->getSchoolCurrentSession(); + $gradingSystems = $gradingSystemRepository->getAll($current_school_session_id); + + $data = [ + 'gradingSystems' => $gradingSystems, + 'current_school_session_id' => $current_school_session_id, + ]; + + return view('exams.grade.view', $data); + } + + /** + * Show the form for creating a new resource. + * + * @return \Illuminate\Http\Response + */ + public function create() + { + $current_school_session_id = $this->getSchoolCurrentSession(); + $school_classes = $this->schoolClassRepository->getAllBySession($current_school_session_id); + $semesters = $this->semesterRepository->getAll($current_school_session_id); + + $data = [ + 'current_school_session_id' => $current_school_session_id, + 'school_classes' => $school_classes, + 'semesters' => $semesters, + ]; + + return view('exams.grade.create', $data); + } + + /** + * Store a newly created resource in storage. + * + * @param GradingSystemStoreRequest $request + * @return \Illuminate\Http\Response + */ + public function store(GradingSystemStoreRequest $request) + { + try { + $gradingSystemRepository = new GradingSystemRepository(); + $gradingSystemRepository->store($request->validated()); + + return back()->with('status', 'Creating grading system was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } + + /** + * Display the specified resource. + * + * @param \App\Models\GradingSystem $gradingSystem + * @return \Illuminate\Http\Response + */ + public function show(GradingSystem $gradingSystem) + { + // + } + + /** + * Show the form for editing the specified resource. + * + * @param \App\Models\GradingSystem $gradingSystem + * @return \Illuminate\Http\Response + */ + public function edit(GradingSystem $gradingSystem) + { + // + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param \App\Models\GradingSystem $gradingSystem + * @return \Illuminate\Http\Response + */ + public function update(Request $request, GradingSystem $gradingSystem) + { + // + } + + /** + * Remove the specified resource from storage. + * + * @param \App\Models\GradingSystem $gradingSystem + * @return \Illuminate\Http\Response + */ + public function destroy(GradingSystem $gradingSystem) + { + // + } +} diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php new file mode 100644 index 000000000..6400d569a --- /dev/null +++ b/app/Http/Controllers/HomeController.php @@ -0,0 +1,65 @@ +middleware('auth'); + $this->userRepository = $userRepository; + $this->schoolSessionRepository = $schoolSessionRepository; + $this->schoolClassRepository = $schoolClassRepository; + } + + /** + * Show the application dashboard. + * + * @return \Illuminate\Contracts\Support\Renderable + */ + public function index() + { + $current_school_session_id = $this->getSchoolCurrentSession(); + + $classCount = $this->schoolClassRepository->getAllBySession($current_school_session_id)->count(); + + $studentCount = $this->userRepository->getAllStudentsBySessionCount($current_school_session_id); + + $promotionRepository = new PromotionRepository(); + + $maleStudentsBySession = $promotionRepository->getMaleStudentsBySessionCount($current_school_session_id); + + $teacherCount = $this->userRepository->getAllTeachers()->count(); + + $noticeRepository = new NoticeRepository(); + $notices = $noticeRepository->getAll($current_school_session_id); + + $data = [ + 'classCount' => $classCount, + 'studentCount' => $studentCount, + 'teacherCount' => $teacherCount, + 'notices' => $notices, + 'maleStudentsBySession' => $maleStudentsBySession, + ]; + + return view('home', $data); + } +} diff --git a/app/Http/Controllers/MarkController.php b/app/Http/Controllers/MarkController.php new file mode 100644 index 000000000..ceb6abe94 --- /dev/null +++ b/app/Http/Controllers/MarkController.php @@ -0,0 +1,359 @@ +academicSettingRepository = $academicSettingRepository; + $this->userRepository = $userRepository; + $this->schoolSessionRepository = $schoolSessionRepository; + $this->schoolClassRepository = $schoolClassRepository; + $this->schoolSectionRepository = $schoolSectionRepository; + $this->courseRepository = $courseRepository; + $this->semesterRepository = $semesterRepository; + } + /** + * Display a listing of the resource. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function index(Request $request) + { + $class_id = $request->query('class_id', 0); + $section_id = $request->query('section_id', 0); + $course_id = $request->query('course_id', 0); + $semester_id = $request->query('semester_id', 0); + + $current_school_session_id = $this->getSchoolCurrentSession(); + + $semesters = $this->semesterRepository->getAll($current_school_session_id); + + $school_classes = $this->schoolClassRepository->getAllBySession($current_school_session_id); + + $markRepository = new MarkRepository(); + $marks = $markRepository->getAllFinalMarks($current_school_session_id, $semester_id, $class_id, $section_id, $course_id); + + if(!$marks) { + return abort(404); + } + + $gradingSystemRepository = new GradingSystemRepository(); + $gradingSystem = $gradingSystemRepository->getGradingSystem($current_school_session_id, $semester_id, $class_id); + + if(!$gradingSystem) { + return abort(404); + } + + $gradeRulesRepository = new GradeRuleRepository(); + $gradingSystemRules = $gradeRulesRepository->getAll($current_school_session_id, $gradingSystem->id); + + if(!$gradingSystemRules) { + return abort(404); + } + + foreach($marks as $mark_key => $mark) { + foreach ($gradingSystemRules as $key => $gradingSystemRule) { + if($mark->final_marks >= $gradingSystemRule->start_at && $mark->final_marks <= $gradingSystemRule->end_at) { + $marks[$mark_key]['point'] = $gradingSystemRule->point; + $marks[$mark_key]['grade'] = $gradingSystemRule->grade; + } + } + } + + $data = [ + 'current_school_session_id' => $current_school_session_id, + 'semesters' => $semesters, + 'classes' => $school_classes, + 'marks' => $marks, + 'grading_system_rules' => $gradingSystemRules, + ]; + + return view('marks.results', $data); + } + + /** + * Show the form for creating a new resource. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function create(Request $request) + { + $class_id = $request->query('class_id'); + $section_id = $request->query('section_id'); + $course_id = $request->query('course_id'); + $semester_id = $request->query('semester_id', 0); + + try{ + + $current_school_session_id = $this->getSchoolCurrentSession(); + $this->checkIfLoggedInUserIsAssignedTeacher($request, $current_school_session_id); + + $academic_setting = $this->academicSettingRepository->getAcademicSetting(); + + $examRepository = new ExamRepository(); + + $exams = $examRepository->getAll($current_school_session_id, $semester_id, $class_id); + + $markRepository = new MarkRepository(); + $studentsWithMarks = $markRepository->getAll($current_school_session_id, $semester_id, $class_id, $section_id, $course_id); + $studentsWithMarks = $studentsWithMarks->groupBy('student_id'); + + $sectionStudents = $this->userRepository->getAllStudents($current_school_session_id, $class_id, $section_id); + + $final_marks_submitted = false; + + $final_marks_submit_count = $markRepository->getFinalMarksCount($current_school_session_id, $semester_id, $class_id, $section_id, $course_id); + + if($final_marks_submit_count > 0) { + $final_marks_submitted = true; + } + + $data = [ + 'academic_setting' => $academic_setting, + 'exams' => $exams, + 'students_with_marks' => $studentsWithMarks, + 'class_id' => $class_id, + 'section_id' => $section_id, + 'course_id' => $course_id, + 'semester_id' => $semester_id, + 'final_marks_submitted' => $final_marks_submitted, + 'sectionStudents' => $sectionStudents, + 'current_school_session_id' => $current_school_session_id, + ]; + + return view('marks.create', $data); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } + + /** + * Show the form for creating a new resource. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function showFinalMark(Request $request) + { + $class_id = $request->query('class_id'); + $section_id = $request->query('section_id'); + $course_id = $request->query('course_id'); + $semester_id = $request->query('semester_id', 0); + + $current_school_session_id = $this->getSchoolCurrentSession(); + + $markRepository = new MarkRepository(); + $studentsWithMarks = $markRepository->getAll($current_school_session_id, $semester_id, $class_id, $section_id, $course_id); + $studentsWithMarks = $studentsWithMarks->groupBy('student_id'); + + $data = [ + 'students_with_marks' => $studentsWithMarks, + 'class_id' => $class_id, + 'class_name' => $request->query('class_name'), + 'section_id' => $section_id, + 'section_name' => $request->query('section_name'), + 'course_id' => $course_id, + 'course_name' => $request->query('course_name'), + 'semester_id' => $semester_id, + 'current_school_session_id' => $current_school_session_id, + ]; + + return view('marks.submit-final-marks', $data); + } + + /** + * Store a newly created resource in storage. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function store(Request $request) + { + $current_school_session_id = $this->getSchoolCurrentSession(); + $this->checkIfLoggedInUserIsAssignedTeacher($request, $current_school_session_id); + $rows = []; + foreach($request->student_mark as $id => $stm) { + foreach($stm as $exam => $mark){ + $row = []; + $row['class_id'] = $request->class_id; + $row['student_id'] = $id; + $row['marks'] = $mark; + $row['section_id'] = $request->section_id; + $row['course_id'] = $request->course_id; + $row['session_id'] = $request->session_id; + $row['exam_id'] = $exam; + + $rows[] = $row; + } + } + try { + $markRepository = new MarkRepository(); + $markRepository->create($rows); + + return back()->with('status', 'Saving marks was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } + + /** + * Store a newly created resource in storage. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function storeFinalMark(Request $request) { + $current_school_session_id = $this->getSchoolCurrentSession(); + + $this->checkIfLoggedInUserIsAssignedTeacher($request, $current_school_session_id); + $rows = []; + foreach($request->calculated_mark as $id => $cmark) { + $row = []; + $row['class_id'] = $request->class_id; + $row['student_id'] = $id; + $row['calculated_marks'] = $cmark; + $row['final_marks'] = $request->final_mark[$id]; + $row['note'] = $request->note[$id]; + $row['section_id'] = $request->section_id; + $row['course_id'] = $request->course_id; + $row['session_id'] = $request->session_id; + $row['semester_id'] = $request->semester_id; + + $rows[] = $row; + } + try { + $markRepository = new MarkRepository(); + $markRepository->storeFinalMarks($rows); + + return back()->with('status', 'Submitting final marks was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } + + /** + * Display the specified resource. + * + * @return \Illuminate\Http\Response + */ + public function showCourseMark(Request $request) + { + $session_id = $request->query('session_id'); + $semester_id = $request->query('semester_id'); + $class_id = $request->query('class_id'); + $section_id = $request->query('section_id'); + $course_id = $request->query('course_id'); + $course_name = $request->query('course_name'); + $student_id = $request->query('student_id'); + $markRepository = new MarkRepository(); + $marks = $markRepository->getAllByStudentId($session_id, $semester_id, $class_id, $section_id, $course_id, $student_id); + $finalMarks = $markRepository->getAllFinalMarksByStudentId($session_id, $student_id, $semester_id, $class_id, $section_id, $course_id); + + if(!$finalMarks) { + return abort(404); + } + + $gradingSystemRepository = new GradingSystemRepository(); + $gradingSystem = $gradingSystemRepository->getGradingSystem($session_id, $semester_id, $class_id); + + if(!$gradingSystem) { + return abort(404); + } + + $gradeRulesRepository = new GradeRuleRepository(); + $gradingSystemRules = $gradeRulesRepository->getAll($session_id, $gradingSystem->id); + + if(!$gradingSystemRules) { + return abort(404); + } + + foreach($finalMarks as $mark_key => $mark) { + foreach ($gradingSystemRules as $key => $gradingSystemRule) { + if($mark->final_marks >= $gradingSystemRule->start_at && $mark->final_marks <= $gradingSystemRule->end_at) { + $finalMarks[$mark_key]['point'] = $gradingSystemRule->point; + $finalMarks[$mark_key]['grade'] = $gradingSystemRule->grade; + } + } + } + + $data = [ + 'marks' => $marks, + 'final_marks' => $finalMarks, + 'course_name' => $course_name, + ]; + + return view('marks.student', $data); + } + + /** + * Show the form for editing the specified resource. + * + * @param \App\Models\Mark $mark + * @return \Illuminate\Http\Response + */ + public function edit(Mark $mark) + { + // + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param \App\Models\Mark $mark + * @return \Illuminate\Http\Response + */ + public function update(Request $request, Mark $mark) + { + // + } + + /** + * Remove the specified resource from storage. + * + * @param \App\Models\Mark $mark + * @return \Illuminate\Http\Response + */ + public function destroy(Mark $mark) + { + // + } +} diff --git a/app/Http/Controllers/NoticeController.php b/app/Http/Controllers/NoticeController.php new file mode 100644 index 000000000..7e4286505 --- /dev/null +++ b/app/Http/Controllers/NoticeController.php @@ -0,0 +1,105 @@ +schoolSessionRepository = $schoolSessionRepository; + } + /** + * 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() + { + $current_school_session_id = $this->getSchoolCurrentSession(); + return view('notices.create', compact('current_school_session_id')); + } + + /** + * Store a newly created resource in storage. + * + * @param NoticeStoreRequest $request + * @return \Illuminate\Http\Response + */ + public function store(NoticeStoreRequest $request) + { + try { + $noticeRepository = new NoticeRepository(); + $noticeRepository->store($request->validated()); + + return back()->with('status', 'Creating Notice was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } + + /** + * Display the specified resource. + * + * @param \App\Models\Notice $notice + * @return \Illuminate\Http\Response + */ + public function show(Notice $notice) + { + // + } + + /** + * Show the form for editing the specified resource. + * + * @param \App\Models\Notice $notice + * @return \Illuminate\Http\Response + */ + public function edit(Notice $notice) + { + // + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param \App\Models\Notice $notice + * @return \Illuminate\Http\Response + */ + public function update(Request $request, Notice $notice) + { + // + } + + /** + * Remove the specified resource from storage. + * + * @param \App\Models\Notice $notice + * @return \Illuminate\Http\Response + */ + public function destroy(Notice $notice) + { + // + } +} diff --git a/app/Http/Controllers/PromotionController.php b/app/Http/Controllers/PromotionController.php new file mode 100644 index 000000000..8e237fa72 --- /dev/null +++ b/app/Http/Controllers/PromotionController.php @@ -0,0 +1,197 @@ +schoolSessionRepository = $schoolSessionRepository; + $this->userRepository = $userRepository; + $this->schoolClassRepository = $schoolClassRepository; + $this->schoolSectionRepository = $schoolSectionRepository; + } + /** + * Display a listing of the resource. + * @param \Illuminate\Http\Request $request + * + * @return \Illuminate\Http\Response + */ + public function index(Request $request) + { + $class_id = $request->query('class_id', 0); + + $promotionRepository = new PromotionRepository(); + $previousSession = $this->schoolSessionRepository->getPreviousSession(); + + if(count($previousSession) < 1) { + return back()->withError('No previous session'); + } + + $previousSessionClasses = $promotionRepository->getClasses($previousSession['id']); + + $previousSessionSections = $promotionRepository->getSections($previousSession['id'], $class_id); + + $current_school_session_id = $this->getSchoolCurrentSession(); + $currentSessionSections = $promotionRepository->getSectionsBySession($current_school_session_id); + + $currentSessionSectionsCounts = $currentSessionSections->count(); + + $data = [ + 'previousSessionClasses' => $previousSessionClasses, + 'class_id' => $class_id, + 'previousSessionSections' => $previousSessionSections, + 'currentSessionSectionsCounts' => $currentSessionSectionsCounts, + 'previousSessionId' => $previousSession['id'], + ]; + + return view('promotions.index', $data); + } + + /** + * Show the form for creating a new resource. + * @param \Illuminate\Http\Request $request + * + * @return \Illuminate\Http\Response + */ + public function create(Request $request) + { + $class_id = $request->query('previous_class_id'); + $section_id = $request->query('previous_section_id'); + $session_id = $request->query('previousSessionId'); + + try{ + + if($class_id == null || $section_id == null ||$session_id == null) { + return abort(404); + } + + $students = $this->userRepository->getAllStudents($session_id, $class_id, $section_id); + + $schoolClass = $this->schoolClassRepository->findById($class_id); + $section = $this->schoolSectionRepository->findById($section_id); + + $latest_school_session = $this->schoolSessionRepository->getLatestSession(); + + $school_classes = $this->schoolClassRepository->getAllBySession($latest_school_session->id); + + $data = [ + 'students' => $students, + 'schoolClass' => $schoolClass, + 'section' => $section, + 'school_classes'=> $school_classes, + ]; + + return view('promotions.promote', $data); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } + + /** + * Store a newly created resource in storage. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function store(Request $request) + { + $id_card_numbers = $request->id_card_number; + $latest_school_session = $this->schoolSessionRepository->getLatestSession(); + + $rows = []; + $i = 0; + foreach($id_card_numbers as $student_id => $id_card_number) { + $row = [ + 'student_id' => $student_id, + 'id_card_number'=> $id_card_number, + 'class_id' => $request->class_id[$i], + 'section_id' => $request->section_id[$i], + 'session_id' => $latest_school_session->id, + ]; + array_push($rows, $row); + $i++; + } + + try { + $promotionRepository = new PromotionRepository(); + $promotionRepository->massPromotion($rows); + + return back()->with('status', 'Promoting students was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } + + /** + * Display the specified resource. + * + * @param \App\Models\Promotion $promotion + * @return \Illuminate\Http\Response + */ + public function show(Promotion $promotion) + { + // + } + + /** + * Show the form for editing the specified resource. + * + * @param \App\Models\Promotion $promotion + * @return \Illuminate\Http\Response + */ + public function edit(Promotion $promotion) + { + // + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param \App\Models\Promotion $promotion + * @return \Illuminate\Http\Response + */ + public function update(Request $request, Promotion $promotion) + { + // + } + + /** + * Remove the specified resource from storage. + * + * @param \App\Models\Promotion $promotion + * @return \Illuminate\Http\Response + */ + public function destroy(Promotion $promotion) + { + // + } +} diff --git a/app/Http/Controllers/RoutineController.php b/app/Http/Controllers/RoutineController.php new file mode 100644 index 000000000..d7494bf11 --- /dev/null +++ b/app/Http/Controllers/RoutineController.php @@ -0,0 +1,127 @@ +schoolSessionRepository = $schoolSessionRepository; + $this->schoolClassRepository = $schoolClassRepository; + } + + /** + * 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() + { + $current_school_session_id = $this->getSchoolCurrentSession(); + $school_classes = $this->schoolClassRepository->getAllBySession($current_school_session_id); + + $data = [ + 'current_school_session_id' => $current_school_session_id, + 'classes' => $school_classes, + ]; + + return view('routines.create', $data); + } + + /** + * Store a newly created resource in storage. + * + * @param RoutineStoreRequest $request + * @return \Illuminate\Http\Response + */ + public function store(RoutineStoreRequest $request) + { + try { + $routineRepository = new RoutineRepository(); + $routineRepository->saveRoutine($request->validated()); + + return back()->with('status', 'Routine save was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } + + /** + * Display the specified resource. + * + * @param \Illuminate\Http\Request $routine + * @return \Illuminate\Http\Response + */ + public function show(Request $request) + { + $class_id = $request->query('class_id', 0); + $section_id = $request->query('section_id', 0); + $current_school_session_id = $this->getSchoolCurrentSession(); + $routineRepository = new RoutineRepository(); + $routines = $routineRepository->getAll($class_id, $section_id, $current_school_session_id); + $routines = $routines->sortBy('weekday')->groupBy('weekday'); + + $data = [ + 'routines' => $routines + ]; + + return view('routines.show', $data); + } + + /** + * Show the form for editing the specified resource. + * + * @param \App\Models\Routine $routine + * @return \Illuminate\Http\Response + */ + public function edit(Routine $routine) + { + // + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param \App\Models\Routine $routine + * @return \Illuminate\Http\Response + */ + public function update(Request $request, Routine $routine) + { + // + } + + /** + * Remove the specified resource from storage. + * + * @param \App\Models\Routine $routine + * @return \Illuminate\Http\Response + */ + public function destroy(Routine $routine) + { + // + } +} diff --git a/app/Http/Controllers/SchoolClassController.php b/app/Http/Controllers/SchoolClassController.php new file mode 100644 index 000000000..fd7a94af4 --- /dev/null +++ b/app/Http/Controllers/SchoolClassController.php @@ -0,0 +1,131 @@ +middleware(['can:view classes']); + + $this->schoolSessionRepository = $schoolSessionRepository; + $this->schoolClassRepository = $schoolClassRepository; + } + + /** + * Display a listing of the resource. + * + * @return \Illuminate\Http\Response + */ + public function index() + { + $current_school_session_id = $this->getSchoolCurrentSession(); + + $data = $this->schoolClassRepository->getClassesAndSections($current_school_session_id); + + return view('classes.index', $data); + } + + /** + * Show the form for creating a new resource. + * + * @return \Illuminate\Http\Response + */ + public function create() + { + // + } + + /** + * Store a newly created resource in storage. + * + * @param SchoolClassStoreRequest $request + * @return \Illuminate\Http\Response + */ + public function store(SchoolClassStoreRequest $request) + { + try { + $this->schoolClassRepository->create($request->validated()); + + return back()->with('status', 'Class creation was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } + + /** + * Display the specified resource. + * + * @param \App\Models\SchoolClass $schoolClass + * @return \Illuminate\Http\Response + */ + public function show(SchoolClass $schoolClass) + { + // + } + + /** + * Show the form for editing the specified resource. + * + * @param $class_id + * @return \Illuminate\Http\Response + */ + public function edit($class_id) + { + $current_school_session_id = $this->getSchoolCurrentSession(); + + $schoolClass = $this->schoolClassRepository->findById($class_id); + + $data = [ + 'current_school_session_id' => $current_school_session_id, + 'class_id' => $class_id, + 'schoolClass' => $schoolClass, + ]; + return view('classes.edit', $data); + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function update(Request $request) + { + try { + $this->schoolClassRepository->update($request); + + return back()->with('status', 'Class edit was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } + + /** + * Remove the specified resource from storage. + * + * @param \App\Models\SchoolClass $schoolClass + * @return \Illuminate\Http\Response + */ + public function destroy(SchoolClass $schoolClass) + { + // + } +} diff --git a/app/Http/Controllers/SchoolSessionController.php b/app/Http/Controllers/SchoolSessionController.php new file mode 100644 index 000000000..8863f307d --- /dev/null +++ b/app/Http/Controllers/SchoolSessionController.php @@ -0,0 +1,60 @@ +schoolSessionRepository = $schoolSessionRepository; + } + + /** + * Store a newly created resource in storage. + * + * @param SchoolSessionStoreRequest $request + * @return \Illuminate\Http\Response + */ + public function store(SchoolSessionStoreRequest $request) + { + try { + $this->schoolSessionRepository->create($request->validated()); + + return back()->with('status', 'Session creation was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + + } + + /** + * Save the selected school session as current session for + * browsing. + * + * @param SchoolSessionBrowseRequest $request + * @return \Illuminate\Http\Response + */ + public function browse(SchoolSessionBrowseRequest $request) + { + try { + $this->schoolSessionRepository->browse($request->validated()); + + return back()->with('status', 'Browsing session set was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + + } +} diff --git a/app/Http/Controllers/SectionController.php b/app/Http/Controllers/SectionController.php new file mode 100644 index 000000000..d4307664e --- /dev/null +++ b/app/Http/Controllers/SectionController.php @@ -0,0 +1,136 @@ +schoolSectionRepository = $schoolSectionRepository; + $this->schoolSessionRepository = $schoolSessionRepository; + $this->courseRepository = $courseRepository; + } + + /** + * 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 SectionStoreRequest $request + * @return \Illuminate\Http\Response + */ + public function store(SectionStoreRequest $request) + { + try { + $this->schoolSectionRepository->create($request->validated()); + + return back()->with('status', 'Section creation was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } + + public function getByClassId(Request $request) { + $sections = $this->schoolSectionRepository->getAllByClassId($request->query('class_id', 0)); + $courses = $this->courseRepository->getByClassId($request->query('class_id', 0)); + + return response()->json(['sections' => $sections, 'courses' => $courses]); + } + + /** + * Display the specified resource. + * + * @param \App\Models\Section $section + * @return \Illuminate\Http\Response + */ + public function show(Section $section) + { + // + } + + /** + * Show the form for editing the specified resource. + * + * @param $section_id + * @return \Illuminate\Http\Response + */ + public function edit($section_id) + { + $current_school_session_id = $this->getSchoolCurrentSession(); + + $section = $this->schoolSectionRepository->findById($section_id); + + $data = [ + 'current_school_session_id' => $current_school_session_id, + 'section_id' => $section_id, + 'section' => $section, + ]; + return view('sections.edit', $data); + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function update(Request $request) + { + try { + $this->schoolSectionRepository->update($request); + + return back()->with('status', 'Section edit was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } + + /** + * Remove the specified resource from storage. + * + * @param \App\Models\Section $section + * @return \Illuminate\Http\Response + */ + public function destroy(Section $section) + { + // + } +} diff --git a/app/Http/Controllers/SemesterController.php b/app/Http/Controllers/SemesterController.php new file mode 100644 index 000000000..9a7880c36 --- /dev/null +++ b/app/Http/Controllers/SemesterController.php @@ -0,0 +1,34 @@ +semesterRepository = $semesterRepository; + } + + /** + * Store a newly created resource in storage. + * + * @param SemesterStoreRequest $request + * @return \Illuminate\Http\Response + */ + public function store(SemesterStoreRequest $request) + { + try { + $this->semesterRepository->create($request->validated()); + + return back()->with('status', 'Semester creation was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } +} diff --git a/app/Http/Controllers/StudentAcademicInfoController.php b/app/Http/Controllers/StudentAcademicInfoController.php new file mode 100644 index 000000000..6030be4fa --- /dev/null +++ b/app/Http/Controllers/StudentAcademicInfoController.php @@ -0,0 +1,86 @@ +schoolSessionRepository = $schoolSessionRepository; + $this->schoolClassRepository = $schoolClassRepository; + } + + /** + * Display a listing of the resource. + * + * @return \Illuminate\Http\Response + */ + public function index(Request $request) + { + $course_id = $request->query('course_id', 0); + $syllabusRepository = new SyllabusRepository(); + $syllabi = $syllabusRepository->getByCourse($course_id); + + $data = [ + 'syllabi' => $syllabi + ]; + + return view('syllabi.show', $data); + } + + /** + * Show the form for creating a new resource. + * + * @return \Illuminate\Http\Response + */ + public function create() + { + $current_school_session_id = $this->getSchoolCurrentSession(); + + $school_classes = $this->schoolClassRepository->getAllBySession($current_school_session_id); + + $data = [ + 'current_school_session_id' => $current_school_session_id, + 'school_classes' => $school_classes, + ]; + return view('syllabi.create', $data); + } + + /** + * Store a newly created resource in storage. + * + * @param StoreFileRequest $request + * @return \Illuminate\Http\Response + */ + public function store(StoreFileRequest $request) + { + $validatedRequest = $request->validated(); + $validatedRequest['class_id'] = $request->class_id; + $validatedRequest['course_id'] = $request->course_id; + $validatedRequest['syllabus_name'] = $request->syllabus_name; + $validatedRequest['session_id'] = $this->getSchoolCurrentSession(); + + try { + $syllabusRepository = new SyllabusRepository(); + $syllabusRepository->store($validatedRequest); + + return back()->with('status', 'Creating syllabus was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } + + /** + * Display the specified resource. + * + * @param \App\Models\Syllabus $syllabus + * @return \Illuminate\Http\Response + */ + public function show(Syllabus $syllabus) + { + // + } + + /** + * Show the form for editing the specified resource. + * + * @param \App\Models\Syllabus $syllabus + * @return \Illuminate\Http\Response + */ + public function edit(Syllabus $syllabus) + { + // + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param \App\Models\Syllabus $syllabus + * @return \Illuminate\Http\Response + */ + public function update(Request $request, Syllabus $syllabus) + { + // + } + + /** + * Remove the specified resource from storage. + * + * @param \App\Models\Syllabus $syllabus + * @return \Illuminate\Http\Response + */ + public function destroy(Syllabus $syllabus) + { + // + } +} diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php new file mode 100644 index 000000000..dd171d0c6 --- /dev/null +++ b/app/Http/Controllers/UserController.php @@ -0,0 +1,186 @@ +middleware(['can:view users']); + + $this->userRepository = $userRepository; + $this->schoolSessionRepository = $schoolSessionRepository; + $this->schoolClassRepository = $schoolClassRepository; + $this->schoolSectionRepository = $schoolSectionRepository; + } + + /** + * Store a newly created resource in storage. + * + * @param TeacherStoreRequest $request + * @return \Illuminate\Http\Response + */ + public function storeTeacher(TeacherStoreRequest $request) + { + try { + $this->userRepository->createTeacher($request->validated()); + + return back()->with('status', 'Teacher creation was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } + + public function getStudentList(Request $request) { + $current_school_session_id = $this->getSchoolCurrentSession(); + + $class_id = $request->query('class_id', 0); + $section_id = $request->query('section_id', 0); + + try{ + + $school_classes = $this->schoolClassRepository->getAllBySession($current_school_session_id); + + $studentList = $this->userRepository->getAllStudents($current_school_session_id, $class_id, $section_id); + + $data = [ + 'studentList' => $studentList, + 'school_classes' => $school_classes, + ]; + + return view('students.list', $data); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } + + + public function showStudentProfile($id) { + $student = $this->userRepository->findStudent($id); + + $current_school_session_id = $this->getSchoolCurrentSession(); + $promotionRepository = new PromotionRepository(); + $promotion_info = $promotionRepository->getPromotionInfoById($current_school_session_id, $id); + + $data = [ + 'student' => $student, + 'promotion_info' => $promotion_info, + ]; + + return view('students.profile', $data); + } + + public function showTeacherProfile($id) { + $teacher = $this->userRepository->findTeacher($id); + $data = [ + 'teacher' => $teacher, + ]; + return view('teachers.profile', $data); + } + + + public function createStudent() { + $current_school_session_id = $this->getSchoolCurrentSession(); + + $school_classes = $this->schoolClassRepository->getAllBySession($current_school_session_id); + + $data = [ + 'current_school_session_id' => $current_school_session_id, + 'school_classes' => $school_classes, + ]; + + return view('students.add', $data); + } + + /** + * Store a newly created resource in storage. + * + * @param StudentStoreRequest $request + * @return \Illuminate\Http\Response + */ + public function storeStudent(StudentStoreRequest $request) + { + try { + $this->userRepository->createStudent($request->validated()); + + return back()->with('status', 'Student creation was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } + + public function editStudent($student_id) { + $student = $this->userRepository->findStudent($student_id); + $studentParentInfoRepository = new StudentParentInfoRepository(); + $parent_info = $studentParentInfoRepository->getParentInfo($student_id); + $promotionRepository = new PromotionRepository(); + $current_school_session_id = $this->getSchoolCurrentSession(); + $promotion_info = $promotionRepository->getPromotionInfoById($current_school_session_id, $student_id); + + $data = [ + 'student' => $student, + 'parent_info' => $parent_info, + 'promotion_info'=> $promotion_info, + ]; + return view('students.edit', $data); + } + + public function updateStudent(Request $request) { + try { + $this->userRepository->updateStudent($request->toArray()); + + return back()->with('status', 'Student update was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } + + public function editTeacher($teacher_id) { + $teacher = $this->userRepository->findTeacher($teacher_id); + + $data = [ + 'teacher' => $teacher, + ]; + + return view('teachers.edit', $data); + } + public function updateTeacher(Request $request) { + try { + $this->userRepository->updateTeacher($request->toArray()); + + return back()->with('status', 'Teacher update was successful!'); + } catch (\Exception $e) { + return back()->withError($e->getMessage()); + } + } + + public function getTeacherList(){ + $teachers = $this->userRepository->getAllTeachers(); + + $data = [ + 'teachers' => $teachers, + ]; + + return view('teachers.list', $data); + } +} diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php new file mode 100644 index 000000000..30020a508 --- /dev/null +++ b/app/Http/Kernel.php @@ -0,0 +1,66 @@ + [ + \App\Http\Middleware\EncryptCookies::class, + \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, + \Illuminate\Session\Middleware\StartSession::class, + // \Illuminate\Session\Middleware\AuthenticateSession::class, + \Illuminate\View\Middleware\ShareErrorsFromSession::class, + \App\Http\Middleware\VerifyCsrfToken::class, + \Illuminate\Routing\Middleware\SubstituteBindings::class, + ], + + 'api' => [ + 'throttle:api', + \Illuminate\Routing\Middleware\SubstituteBindings::class, + ], + ]; + + /** + * 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, + 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class, + 'can' => \Illuminate\Auth\Middleware\Authorize::class, + 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, + 'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class, + 'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class, + 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, + 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, + ]; +} diff --git a/app/Http/Middleware/Authenticate.php b/app/Http/Middleware/Authenticate.php new file mode 100644 index 000000000..704089a7f --- /dev/null +++ b/app/Http/Middleware/Authenticate.php @@ -0,0 +1,21 @@ +expectsJson()) { + return route('login'); + } + } +} diff --git a/app/Http/Middleware/EncryptCookies.php b/app/Http/Middleware/EncryptCookies.php new file mode 100644 index 000000000..033136ad1 --- /dev/null +++ b/app/Http/Middleware/EncryptCookies.php @@ -0,0 +1,17 @@ +check()) { + return redirect(RouteServiceProvider::HOME); + } + } + + return $next($request); + } +} diff --git a/app/Http/Middleware/TrimStrings.php b/app/Http/Middleware/TrimStrings.php new file mode 100644 index 000000000..a8a252df4 --- /dev/null +++ b/app/Http/Middleware/TrimStrings.php @@ -0,0 +1,19 @@ +allSubdomainsOfApplicationUrl(), + ]; + } +} diff --git a/app/Http/Middleware/TrustProxies.php b/app/Http/Middleware/TrustProxies.php new file mode 100644 index 000000000..d11dd5f0c --- /dev/null +++ b/app/Http/Middleware/TrustProxies.php @@ -0,0 +1,23 @@ +user()->can('take attendances'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'course_id' => 'integer', + 'class_id' => 'integer', + 'section_id' => 'integer', + 'student_ids' => 'required|array|min:1', + 'student_ids.*' => 'integer', + 'status' => 'required|array|min:1', + 'session_id' => 'required', + ]; + } +} diff --git a/app/Http/Requests/AttendanceTypeUpdateRequest.php b/app/Http/Requests/AttendanceTypeUpdateRequest.php new file mode 100644 index 000000000..c9669cb65 --- /dev/null +++ b/app/Http/Requests/AttendanceTypeUpdateRequest.php @@ -0,0 +1,30 @@ +user()->can('update attendances type'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'attendance_type' => 'required' + ]; + } +} diff --git a/app/Http/Requests/CourseStoreRequest.php b/app/Http/Requests/CourseStoreRequest.php new file mode 100644 index 000000000..18884addc --- /dev/null +++ b/app/Http/Requests/CourseStoreRequest.php @@ -0,0 +1,34 @@ +user()->can('create courses'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'course_name' => 'required', + 'course_type' => 'required', + 'class_id' => 'required|integer|gt:0', + 'semester_id' => 'required|integer|gt:0', + 'session_id' => 'required|integer|gt:0', + ]; + } +} diff --git a/app/Http/Requests/ExamRuleStoreRequest.php b/app/Http/Requests/ExamRuleStoreRequest.php new file mode 100644 index 000000000..f1e981c44 --- /dev/null +++ b/app/Http/Requests/ExamRuleStoreRequest.php @@ -0,0 +1,34 @@ +user()->can('create exams rule'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'total_marks' => 'required|numeric', + 'pass_marks' => 'required|numeric', + 'marks_distribution_note' => 'required', + 'exam_id' => 'required|integer', + 'session_id' => 'required|integer' + ]; + } +} diff --git a/app/Http/Requests/ExamStoreRequest.php b/app/Http/Requests/ExamStoreRequest.php new file mode 100644 index 000000000..0b27556d9 --- /dev/null +++ b/app/Http/Requests/ExamStoreRequest.php @@ -0,0 +1,36 @@ +user()->can('create exams'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'exam_name' => 'required|string', + 'start_date' => 'required|date', + 'end_date' => 'required|date', + 'semester_id' => 'required|integer|gt:0', + 'class_id' => 'required|integer|gt:0', + 'course_id' => 'required|integer|gt:0', + 'session_id' => 'required|integer|gt:0', + ]; + } +} diff --git a/app/Http/Requests/GradeRuleStoreRequest.php b/app/Http/Requests/GradeRuleStoreRequest.php new file mode 100644 index 000000000..b640c8467 --- /dev/null +++ b/app/Http/Requests/GradeRuleStoreRequest.php @@ -0,0 +1,35 @@ +user()->can('create grading systems rule'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'point' => 'required', + 'grade' => 'required', + 'start_at' => 'required', + 'end_at' => 'required', + 'grading_system_id' => 'required', + 'session_id' => 'required', + ]; + } +} diff --git a/app/Http/Requests/GradingSystemStoreRequest.php b/app/Http/Requests/GradingSystemStoreRequest.php new file mode 100644 index 000000000..e844bee90 --- /dev/null +++ b/app/Http/Requests/GradingSystemStoreRequest.php @@ -0,0 +1,33 @@ +user()->can('create grading systems'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'system_name' => 'required|string', + 'class_id' => 'required|integer', + 'semester_id' => 'required|integer', + 'session_id' => 'required|integer' + ]; + } +} diff --git a/app/Http/Requests/NoticeStoreRequest.php b/app/Http/Requests/NoticeStoreRequest.php new file mode 100644 index 000000000..1210891f1 --- /dev/null +++ b/app/Http/Requests/NoticeStoreRequest.php @@ -0,0 +1,31 @@ +user()->can('create notices'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'notice' => 'required', + 'session_id'=> 'required', + ]; + } +} diff --git a/app/Http/Requests/PasswordChangeRequest.php b/app/Http/Requests/PasswordChangeRequest.php new file mode 100644 index 000000000..f11cb1095 --- /dev/null +++ b/app/Http/Requests/PasswordChangeRequest.php @@ -0,0 +1,41 @@ + ['required', Password::min(8)], + 'new_password' => [ + 'required', + 'confirmed', + Password::min(8) + ->letters() + ->mixedCase() + ->numbers() + ->symbols() + ->uncompromised() + ], + ]; + } +} diff --git a/app/Http/Requests/RoutineStoreRequest.php b/app/Http/Requests/RoutineStoreRequest.php new file mode 100644 index 000000000..28030c6d3 --- /dev/null +++ b/app/Http/Requests/RoutineStoreRequest.php @@ -0,0 +1,36 @@ +user()->can('create routines'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'start' => 'required', + 'end' => 'required', + 'weekday' => 'required|integer', + 'class_id' => 'required|integer', + 'section_id' => 'required|integer', + 'course_id' => 'required|integer', + 'session_id' => 'required|integer', + ]; + } +} diff --git a/app/Http/Requests/SchoolClassStoreRequest.php b/app/Http/Requests/SchoolClassStoreRequest.php new file mode 100644 index 000000000..5012353d0 --- /dev/null +++ b/app/Http/Requests/SchoolClassStoreRequest.php @@ -0,0 +1,31 @@ +user()->can('create classes'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'class_name' => 'required', + 'session_id' => 'required|integer|gt:0', + ]; + } +} diff --git a/app/Http/Requests/SchoolSessionBrowseRequest.php b/app/Http/Requests/SchoolSessionBrowseRequest.php new file mode 100644 index 000000000..de6b1f13b --- /dev/null +++ b/app/Http/Requests/SchoolSessionBrowseRequest.php @@ -0,0 +1,30 @@ +user()->can('update browse by session'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'session_id' => 'required|integer|gt:0', + ]; + } +} diff --git a/app/Http/Requests/SchoolSessionStoreRequest.php b/app/Http/Requests/SchoolSessionStoreRequest.php new file mode 100644 index 000000000..42d15603d --- /dev/null +++ b/app/Http/Requests/SchoolSessionStoreRequest.php @@ -0,0 +1,30 @@ +user()->can('create school sessions'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'session_name' => 'required', + ]; + } +} diff --git a/app/Http/Requests/SectionStoreRequest.php b/app/Http/Requests/SectionStoreRequest.php new file mode 100644 index 000000000..b346c4298 --- /dev/null +++ b/app/Http/Requests/SectionStoreRequest.php @@ -0,0 +1,33 @@ +user()->can('create sections'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'section_name' => 'required', + 'room_no' => 'required', + 'class_id' => 'required|integer|gt:0', + 'session_id' => 'required|integer|gt:0', + ]; + } +} diff --git a/app/Http/Requests/SemesterStoreRequest.php b/app/Http/Requests/SemesterStoreRequest.php new file mode 100644 index 000000000..f08a2cccc --- /dev/null +++ b/app/Http/Requests/SemesterStoreRequest.php @@ -0,0 +1,33 @@ +user()->can('create semesters'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'semester_name' => 'required', + 'start_date' => 'required|date', + 'end_date' => 'required|date', + 'session_id' => 'required|integer|gt:0', + ]; + } +} diff --git a/app/Http/Requests/StoreFileRequest.php b/app/Http/Requests/StoreFileRequest.php new file mode 100644 index 000000000..05c8d0823 --- /dev/null +++ b/app/Http/Requests/StoreFileRequest.php @@ -0,0 +1,30 @@ +user()->can('create assignments') || auth()->user()->can('create syllabi')); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'file' => 'required|file|mimes:jpg,jpeg,bmp,png,doc,docx,csv,rtf,xlsx,xls,txt,pdf,zip' + ]; + } +} diff --git a/app/Http/Requests/StudentStoreRequest.php b/app/Http/Requests/StudentStoreRequest.php new file mode 100644 index 000000000..eff5f4ff0 --- /dev/null +++ b/app/Http/Requests/StudentStoreRequest.php @@ -0,0 +1,58 @@ +user()->can('create users'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'first_name' => 'required|string', + 'last_name' => 'required|string', + 'email' => 'required|string|email|max:255|unique:users', + 'gender' => 'required|string', + 'nationality' => 'required|string', + 'phone' => 'required|string', + 'address' => 'required|string', + 'address2' => 'nullable|string', + 'city' => 'required|string', + 'zip' => 'required|string', + 'photo' => 'nullable|string', + 'birthday' => 'required|date', + 'religion' => 'required|string', + 'blood_type' => 'required|string', + 'password' => 'required|string|min:8', + + // Parents' information + 'father_name' => 'required|string', + 'father_phone' => 'required|string', + 'mother_name' => 'required|string', + 'mother_phone' => 'required|string', + 'parent_address' => 'required|string', + + // Academic information + 'class_id' => 'required', + 'section_id' => 'required', + 'board_reg_no' => 'string', + 'session_id' => 'required', + 'id_card_number' => 'required', + ]; + } +} diff --git a/app/Http/Requests/TeacherAssignRequest.php b/app/Http/Requests/TeacherAssignRequest.php new file mode 100644 index 000000000..424706143 --- /dev/null +++ b/app/Http/Requests/TeacherAssignRequest.php @@ -0,0 +1,35 @@ +user()->can('assign teachers'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'course_id' => 'required|integer', + 'semester_id' => 'required|integer', + 'class_id' => 'required|integer', + 'section_id' => 'required|integer', + 'teacher_id' => 'required|integer', + 'session_id' => 'required|integer', + ]; + } +} diff --git a/app/Http/Requests/TeacherStoreRequest.php b/app/Http/Requests/TeacherStoreRequest.php new file mode 100644 index 000000000..6b88f67ec --- /dev/null +++ b/app/Http/Requests/TeacherStoreRequest.php @@ -0,0 +1,41 @@ +user()->can('create users'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'first_name' => 'required|string', + 'last_name' => 'required|string', + 'email' => 'required|string|email|max:255|unique:users', + 'gender' => 'required|string', + 'nationality' => 'required|string', + 'phone' => 'required|string', + 'address' => 'required|string', + 'address2' => 'string', + 'city' => 'required|string', + 'zip' => 'required|string', + 'photo' => 'nullable|string', + 'password' => 'required|string|min:8', + ]; + } +} diff --git a/app/Interfaces/AcademicSettingInterface.php b/app/Interfaces/AcademicSettingInterface.php new file mode 100644 index 000000000..b0b4e453d --- /dev/null +++ b/app/Interfaces/AcademicSettingInterface.php @@ -0,0 +1,11 @@ +belongsTo(User::class, 'teacher_id'); + } + + /** + * Get the schoolClass. + */ + public function schoolClass() { + return $this->belongsTo(SchoolClass::class, 'class_id'); + } + + /** + * Get the section. + */ + public function section() { + return $this->belongsTo(Section::class, 'section_id'); + } + + /** + * Get the course. + */ + public function course() { + return $this->belongsTo(Course::class, 'course_id'); + } +} diff --git a/app/Models/Assignment.php b/app/Models/Assignment.php new file mode 100644 index 000000000..a3b86b594 --- /dev/null +++ b/app/Models/Assignment.php @@ -0,0 +1,56 @@ +belongsTo(User::class, 'teacher_id'); + } + + /** + * Get the schoolClass. + */ + public function schoolClass() { + return $this->belongsTo(SchoolClass::class, 'class_id'); + } + + /** + * Get the section. + */ + public function section() { + return $this->belongsTo(Section::class, 'section_id'); + } + + /** + * Get the course. + */ + public function course() { + return $this->belongsTo(Course::class, 'course_id'); + } +} diff --git a/app/Models/Attendance.php b/app/Models/Attendance.php new file mode 100644 index 000000000..ac8429c25 --- /dev/null +++ b/app/Models/Attendance.php @@ -0,0 +1,58 @@ +belongsTo(User::class, 'student_id'); + } + + /** + * Get the schoolClass for attendance. + */ + public function schoolClass() { + return $this->belongsTo(SchoolClass::class, 'class_id'); + } + + /** + * Get the section for attendance. + */ + public function section() { + return $this->belongsTo(Section::class, 'section_id'); + } + + /** + * Get the course for attendance. + */ + public function course() { + return $this->belongsTo(Course::class, 'course_id'); + } +} diff --git a/app/Models/Course.php b/app/Models/Course.php new file mode 100644 index 000000000..c94549774 --- /dev/null +++ b/app/Models/Course.php @@ -0,0 +1,13 @@ +belongsTo(Course::class, 'course_id'); + } + + /** + * Get the semester. + */ + public function semester() { + return $this->belongsTo(Semester::class, 'semester_id'); + } +} diff --git a/app/Models/ExamRule.php b/app/Models/ExamRule.php new file mode 100644 index 000000000..7d86152a6 --- /dev/null +++ b/app/Models/ExamRule.php @@ -0,0 +1,19 @@ +belongsTo(User::class, 'student_id'); + } +} diff --git a/app/Models/GradeRule.php b/app/Models/GradeRule.php new file mode 100644 index 000000000..1b1f731be --- /dev/null +++ b/app/Models/GradeRule.php @@ -0,0 +1,25 @@ +belongsTo(GradingSystem::class, 'grading_system_id'); + } +} diff --git a/app/Models/GradingSystem.php b/app/Models/GradingSystem.php new file mode 100644 index 000000000..2591af85f --- /dev/null +++ b/app/Models/GradingSystem.php @@ -0,0 +1,28 @@ +belongsTo(Semester::class, 'semester_id'); + } + + public function schoolClass() { + return $this->belongsTo(SchoolClass::class, 'class_id'); + } +} diff --git a/app/Models/Mark.php b/app/Models/Mark.php new file mode 100644 index 000000000..357f7d3b6 --- /dev/null +++ b/app/Models/Mark.php @@ -0,0 +1,59 @@ +belongsTo(User::class, 'student_id'); + } + + /** + * Get the schoolClass. + */ + public function schoolClass() { + return $this->belongsTo(SchoolClass::class, 'class_id'); + } + + /** + * Get the section. + */ + public function section() { + return $this->belongsTo(Section::class, 'section_id'); + } + + /** + * Get the course. + */ + public function course() { + return $this->belongsTo(Course::class, 'course_id'); + } + + /** + * Get the exam. + */ + public function exam() { + return $this->belongsTo(Exam::class, 'exam_id'); + } +} diff --git a/app/Models/Notice.php b/app/Models/Notice.php new file mode 100644 index 000000000..35d08e31f --- /dev/null +++ b/app/Models/Notice.php @@ -0,0 +1,16 @@ +belongsTo(User::class, 'student_id'); + } + + /** + * Get the schoolClass. + */ + public function schoolClass() { + return $this->belongsTo(SchoolClass::class, 'class_id'); + } + + /** + * Get the section. + */ + public function section() { + return $this->belongsTo(Section::class, 'section_id'); + } +} diff --git a/app/Models/Routine.php b/app/Models/Routine.php new file mode 100644 index 000000000..9f3490a0f --- /dev/null +++ b/app/Models/Routine.php @@ -0,0 +1,47 @@ +belongsTo(SchoolClass::class, 'class_id'); + } + + /** + * Get the section. + */ + public function section() { + return $this->belongsTo(Section::class, 'section_id'); + } + + /** + * Get the course. + */ + public function course() { + return $this->belongsTo(Course::class, 'course_id'); + } +} diff --git a/app/Models/SchoolClass.php b/app/Models/SchoolClass.php new file mode 100644 index 000000000..61a528d58 --- /dev/null +++ b/app/Models/SchoolClass.php @@ -0,0 +1,40 @@ +hasMany(Section::class, 'class_id', 'id'); + } + + /** + * Get the courses for the class. + */ + public function courses() + { + return $this->hasMany(Course::class, 'class_id', 'id'); + } + + /** + * Get the syllabi for the class. + */ + public function syllabi() + { + return $this->hasMany(Syllabus::class, 'class_id', 'id'); + } +} diff --git a/app/Models/SchoolSession.php b/app/Models/SchoolSession.php new file mode 100644 index 000000000..86f8e648b --- /dev/null +++ b/app/Models/SchoolSession.php @@ -0,0 +1,13 @@ +belongsTo(SchoolClass::class, 'class_id'); + } +} diff --git a/app/Models/Semester.php b/app/Models/Semester.php new file mode 100644 index 000000000..4200991cd --- /dev/null +++ b/app/Models/Semester.php @@ -0,0 +1,13 @@ +belongsTo(User::class, 'student_id'); + } +} diff --git a/app/Models/StudentParentInfo.php b/app/Models/StudentParentInfo.php new file mode 100644 index 000000000..bb68d709d --- /dev/null +++ b/app/Models/StudentParentInfo.php @@ -0,0 +1,34 @@ +belongsTo(User::class, 'student_id'); + } +} diff --git a/app/Models/Syllabus.php b/app/Models/Syllabus.php new file mode 100644 index 000000000..889a7d136 --- /dev/null +++ b/app/Models/Syllabus.php @@ -0,0 +1,19 @@ + 'datetime', + ]; + + /** + * Get the parent_info. + */ + public function parent_info() + { + return $this->hasOne(StudentParentInfo::class, 'student_id', 'id'); + } + + /** + * Get the academic_info. + */ + public function academic_info() + { + return $this->hasOne(StudentAcademicInfo::class, 'student_id', 'id'); + } + + /** + * Get the marks. + */ + public function marks() + { + return $this->hasMany(Mark::class, 'student_id', 'id'); + } +} diff --git a/app/Providers/AcademicSettingServiceProvider.php b/app/Providers/AcademicSettingServiceProvider.php new file mode 100644 index 000000000..8fba86a10 --- /dev/null +++ b/app/Providers/AcademicSettingServiceProvider.php @@ -0,0 +1,30 @@ +app->bind(AcademicSettingInterface::class, AcademicSettingRepository::class); + } + + /** + * Bootstrap services. + * + * @return void + */ + public function boot() + { + // + } +} diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php new file mode 100644 index 000000000..ee8ca5bcd --- /dev/null +++ b/app/Providers/AppServiceProvider.php @@ -0,0 +1,28 @@ + 'App\Policies\ModelPolicy', + ]; + + /** + * Register any authentication / authorization services. + * + * @return void + */ + public function boot() + { + $this->registerPolicies(); + + // + } +} diff --git a/app/Providers/BroadcastServiceProvider.php b/app/Providers/BroadcastServiceProvider.php new file mode 100644 index 000000000..395c518bc --- /dev/null +++ b/app/Providers/BroadcastServiceProvider.php @@ -0,0 +1,21 @@ +app->bind(CourseInterface::class, CourseRepository::class); + } + + /** + * Bootstrap services. + * + * @return void + */ + public function boot() + { + // + } +} diff --git a/app/Providers/EventServiceProvider.php b/app/Providers/EventServiceProvider.php new file mode 100644 index 000000000..a9f10a631 --- /dev/null +++ b/app/Providers/EventServiceProvider.php @@ -0,0 +1,32 @@ + [ + SendEmailVerificationNotification::class, + ], + ]; + + /** + * Register any events for your application. + * + * @return void + */ + public function boot() + { + // + } +} diff --git a/app/Providers/PurifySetupProvider.php b/app/Providers/PurifySetupProvider.php new file mode 100644 index 000000000..67726f83f --- /dev/null +++ b/app/Providers/PurifySetupProvider.php @@ -0,0 +1,58 @@ +config; + + $config->set('HTML.DefinitionID', static::DEFINITION_ID); + $config->set('HTML.DefinitionRev', static::DEFINITION_REV); + + if ($def = $config->maybeGetRawHTMLDefinition()) { + $this->setupDefinitions($def); + } + + $purifier->config = $config; + } + + /** + * Register the application services. + * + * @return void + */ + public function register() + { + // + } + + /** + * Adds elements and attributes to the HTML purifier + * definition required by the ckeditor editor. + * + * @param HTMLPurifier_HTMLDefinition $def + */ + protected function setupDefinitions(HTMLPurifier_HTMLDefinition $def) + { + $def->addElement('figure', 'Block', 'Optional: (figcaption, Flow) | (Flow, figcaption) | Flow', 'Common'); + $def->addAttribute('figure', 'class', 'Text'); + } +} \ No newline at end of file diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php new file mode 100644 index 000000000..3bd3c81eb --- /dev/null +++ b/app/Providers/RouteServiceProvider.php @@ -0,0 +1,63 @@ +configureRateLimiting(); + + $this->routes(function () { + Route::prefix('api') + ->middleware('api') + ->namespace($this->namespace) + ->group(base_path('routes/api.php')); + + Route::middleware('web') + ->namespace($this->namespace) + ->group(base_path('routes/web.php')); + }); + } + + /** + * Configure the rate limiters for the application. + * + * @return void + */ + protected function configureRateLimiting() + { + RateLimiter::for('api', function (Request $request) { + return Limit::perMinute(60)->by(optional($request->user())->id ?: $request->ip()); + }); + } +} diff --git a/app/Providers/SchoolClassServiceProvider.php b/app/Providers/SchoolClassServiceProvider.php new file mode 100644 index 000000000..08304ee66 --- /dev/null +++ b/app/Providers/SchoolClassServiceProvider.php @@ -0,0 +1,30 @@ +app->bind(SchoolClassInterface::class, SchoolClassRepository::class); + } + + /** + * Bootstrap services. + * + * @return void + */ + public function boot() + { + // + } +} diff --git a/app/Providers/SchoolSessionServiceProvider.php b/app/Providers/SchoolSessionServiceProvider.php new file mode 100644 index 000000000..447ef1eff --- /dev/null +++ b/app/Providers/SchoolSessionServiceProvider.php @@ -0,0 +1,30 @@ +app->bind(SchoolSessionInterface::class, SchoolSessionRepository::class); + } + + /** + * Bootstrap services. + * + * @return void + */ + public function boot() + { + // + } +} diff --git a/app/Providers/SectionServiceProvider.php b/app/Providers/SectionServiceProvider.php new file mode 100644 index 000000000..43c20c913 --- /dev/null +++ b/app/Providers/SectionServiceProvider.php @@ -0,0 +1,30 @@ +app->bind(SectionInterface::class, SectionRepository::class); + } + + /** + * Bootstrap services. + * + * @return void + */ + public function boot() + { + // + } +} diff --git a/app/Providers/SemesterServiceProvider.php b/app/Providers/SemesterServiceProvider.php new file mode 100644 index 000000000..69e679a7b --- /dev/null +++ b/app/Providers/SemesterServiceProvider.php @@ -0,0 +1,30 @@ +app->bind(SemesterInterface::class, SemesterRepository::class); + } + + /** + * Bootstrap services. + * + * @return void + */ + public function boot() + { + // + } +} diff --git a/app/Providers/UserServiceProvider.php b/app/Providers/UserServiceProvider.php new file mode 100644 index 000000000..bba55b1d2 --- /dev/null +++ b/app/Providers/UserServiceProvider.php @@ -0,0 +1,30 @@ +app->bind(UserInterface::class, UserRepository::class); + } + + /** + * Bootstrap services. + * + * @return void + */ + public function boot() + { + // + } +} diff --git a/app/Repositories/AcademicSettingRepository.php b/app/Repositories/AcademicSettingRepository.php new file mode 100644 index 000000000..b0b3856e1 --- /dev/null +++ b/app/Repositories/AcademicSettingRepository.php @@ -0,0 +1,32 @@ +update($request); + } catch (\Exception $e) { + throw new \Exception('Failed to update attendance type. '.$e->getMessage()); + } + } + + public function updateFinalMarksSubmissionStatus($request) { + $status = "off"; + if(isset($request['marks_submission_status'])) { + $status = "on"; + } + try { + AcademicSetting::where('id', 1)->update(['marks_submission_status' => $status]); + } catch (\Exception $e) { + throw new \Exception('Failed to update final marks submission status. '.$e->getMessage()); + } + } +} \ No newline at end of file diff --git a/app/Repositories/AssignedTeacherRepository.php b/app/Repositories/AssignedTeacherRepository.php new file mode 100644 index 000000000..0f41dc2fd --- /dev/null +++ b/app/Repositories/AssignedTeacherRepository.php @@ -0,0 +1,42 @@ +getMessage()); + } + } + + public function getTeacherCourses($session_id, $teacher_id, $semester_id) { + if($semester_id == 0) { + $semester_id = Semester::where('session_id', $session_id) + ->first()->id; + } + return AssignedTeacher::with(['course', 'schoolClass', 'section'])->where('session_id', $session_id) + ->where('teacher_id', $teacher_id) + ->where('semester_id', $semester_id) + ->get(); + } + + public function getAssignedTeacher($session_id, $semester_id, $class_id, $section_id, $course_id) { + if($semester_id == 0) { + $semester_id = Semester::where('session_id', $session_id) + ->first()->id; + } + return AssignedTeacher::where('session_id', $session_id) + ->where('semester_id', $semester_id) + ->where('class_id', $class_id) + ->where('section_id', $section_id) + ->where('course_id', $course_id) + ->first(); + } +} \ No newline at end of file diff --git a/app/Repositories/AssignmentRepository.php b/app/Repositories/AssignmentRepository.php new file mode 100644 index 000000000..be055ae89 --- /dev/null +++ b/app/Repositories/AssignmentRepository.php @@ -0,0 +1,34 @@ +put('assignments', $request['file']); + try { + Assignment::create([ + 'assignment_name' => $request['assignment_name'], + 'assignment_file_path' => $path, + 'teacher_id' => auth()->user()->id, + 'class_id' => $request['class_id'], + 'section_id' => $request['section_id'], + 'course_id' => $request['course_id'], + 'semester_id' => $request['semester_id'], + 'session_id' => $request['session_id'] + ]); + } catch (\Exception $e) { + throw new \Exception('Failed to create assignment. '.$e->getMessage()); + } + } + + public function getAssignments($session_id, $course_id) { + return Assignment::where('course_id', $course_id) + ->where('session_id', $session_id) + ->get(); + } +} \ No newline at end of file diff --git a/app/Repositories/AttendanceRepository.php b/app/Repositories/AttendanceRepository.php new file mode 100644 index 000000000..541419445 --- /dev/null +++ b/app/Repositories/AttendanceRepository.php @@ -0,0 +1,74 @@ +prepareInput($request); + Attendance::insert($input); + } catch (\Exception $e) { + throw new \Exception('Failed to save attendance. '.$e->getMessage()); + } + } + + public function prepareInput($request) { + $input = []; + $now = Carbon::now()->toDateTimeString(); + for($i=0; $i < sizeof($request['student_ids']); $i++) { + $student_id = $request['student_ids'][$i]; + $input[] = array( + 'status' => (isset($request['status'][$student_id]))?$request['status'][$student_id]:'off', + 'class_id' => $request['class_id'], + 'student_id' => $student_id, + 'section_id' => $request['section_id'], + 'course_id' => $request['course_id'], + 'session_id' => $request['session_id'], + 'created_at' => $now, + 'updated_at' => $now, + ); + } + return $input; + } + + public function getSectionAttendance($class_id, $section_id, $session_id) { + try { + return Attendance::with('student') + ->where('class_id', $class_id) + ->where('section_id', $section_id) + ->where('session_id', $session_id) + ->whereDate('created_at', '=', Carbon::today()) + ->get(); + } catch (\Exception $e) { + throw new \Exception('Failed to get attendances. '.$e->getMessage()); + } + } + + public function getCourseAttendance($class_id, $course_id, $session_id) { + try { + return Attendance::with('student') + ->where('class_id', $class_id) + ->where('course_id', $course_id) + ->where('session_id', $session_id) + ->whereDate('created_at', '=', Carbon::today()) + ->get(); + } catch (\Exception $e) { + throw new \Exception('Failed to get attendances. '.$e->getMessage()); + } + } + + public function getStudentAttendance($session_id, $student_id) { + try { + return Attendance::with(['section','course']) + ->where('student_id', $student_id) + ->where('session_id', $session_id) + ->get(); + } catch (\Exception $e) { + throw new \Exception('Failed to get attendances. '.$e->getMessage()); + } + } +} \ No newline at end of file diff --git a/app/Repositories/CourseRepository.php b/app/Repositories/CourseRepository.php new file mode 100644 index 000000000..08107418f --- /dev/null +++ b/app/Repositories/CourseRepository.php @@ -0,0 +1,40 @@ +getMessage()); + } + } + + public function getAll($session_id) { + return Course::where('session_id', $session_id)->get(); + } + + public function getByClassId($class_id) { + return Course::where('class_id', $class_id)->get(); + } + + public function findById($course_id) { + return Course::find($course_id); + } + + public function update($request) { + try { + Course::find($request->course_id)->update([ + 'course_name' => $request->course_name, + 'course_type' => $request->course_type, + ]); + } catch (\Exception $e) { + throw new \Exception('Failed to update Course. '.$e->getMessage()); + } + } +} \ No newline at end of file diff --git a/app/Repositories/EventRepository.php b/app/Repositories/EventRepository.php new file mode 100644 index 000000000..45947900c --- /dev/null +++ b/app/Repositories/EventRepository.php @@ -0,0 +1,5 @@ +getMessage()); + } + } + + public function delete($id) { + try { + Exam::destroy($id); + } catch (\Exception $e) { + throw new \Exception('Failed to delete exam. '.$e->getMessage()); + } + } + + public function getAll($session_id, $semester_id, $class_id) + { + if($semester_id == 0 || $class_id == 0) { + $semester_id = Semester::where('session_id', $session_id) + ->first()->id; + $class_id = SchoolClass::where('session_id', $session_id) + ->first()->id; + } + return Exam::with('course')->where('session_id', $session_id) + ->where('semester_id', $semester_id) + ->where('class_id', $class_id) + ->get(); + } +} \ No newline at end of file diff --git a/app/Repositories/ExamRuleRepository.php b/app/Repositories/ExamRuleRepository.php new file mode 100644 index 000000000..357c69341 --- /dev/null +++ b/app/Repositories/ExamRuleRepository.php @@ -0,0 +1,39 @@ +getMessage()); + } + } + + public function update($request) { + try { + ExamRule::where('id', $request->exam_rule_id)->update([ + 'total_marks' => $request->total_marks, + 'pass_marks' => $request->pass_marks, + 'marks_distribution_note' => $request->marks_distribution_note + ]); + } catch (\Exception $e) { + throw new \Exception('Failed to update exam rule. '.$e->getMessage()); + } + } + + public function getAll($session_id, $exam_id) { + return ExamRule::where('session_id', $session_id) + ->where('exam_id', $exam_id) + ->get(); + } + + public function getById($exam_rule_id) { + return ExamRule::where('id', $exam_rule_id) + ->first(); + } +} \ No newline at end of file diff --git a/app/Repositories/GradeRuleRepository.php b/app/Repositories/GradeRuleRepository.php new file mode 100644 index 000000000..026532a2e --- /dev/null +++ b/app/Repositories/GradeRuleRepository.php @@ -0,0 +1,29 @@ +getMessage()); + } + } + + public function delete($id) { + try { + GradeRule::destroy($id); + } catch (\Exception $e) { + throw new \Exception('Failed to delete grading system rule. '.$e->getMessage()); + } + } + + public function getAll($session_id, $grading_system_id) { + return GradeRule::with('gradingSystem')->where('grading_system_id', $grading_system_id) + ->where('session_id', $session_id) + ->get(); + } +} \ No newline at end of file diff --git a/app/Repositories/GradingSystemRepository.php b/app/Repositories/GradingSystemRepository.php new file mode 100644 index 000000000..8a6d66662 --- /dev/null +++ b/app/Repositories/GradingSystemRepository.php @@ -0,0 +1,29 @@ +getMessage()); + } + } + + public function getAll($session_id) { + return GradingSystem::with(['semester', 'schoolClass']) + ->where('session_id', $session_id) + ->get(); + } + + public function getGradingSystem($session_id, $semester_id, $class_id) { + return GradingSystem::with(['semester', 'schoolClass']) + ->where('session_id', $session_id) + ->where('semester_id', $semester_id) + ->where('class_id', $class_id) + ->first(); + } +} \ No newline at end of file diff --git a/app/Repositories/MarkRepository.php b/app/Repositories/MarkRepository.php new file mode 100644 index 000000000..591bd269d --- /dev/null +++ b/app/Repositories/MarkRepository.php @@ -0,0 +1,97 @@ + $row['exam_id'], + 'student_id' => $row['student_id'], + 'session_id' => $row['session_id'], + 'class_id' => $row['class_id'], + 'section_id' => $row['section_id'], + 'course_id' => $row['course_id'] + ],['marks' => $row['marks']]); + } + } catch (\Exception $e) { + throw new \Exception('Failed to update students marks. '.$e->getMessage()); + } + } + + public function getAll($session_id, $semester_id, $class_id, $section_id, $course_id) { + $exam_ids = Exam::where('semester_id', $semester_id)->pluck('id')->toArray(); + return Mark::with('student','exam')->where('session_id', $session_id) + ->whereIn('exam_id', $exam_ids) + ->where('class_id', $class_id) + ->where('section_id', $section_id) + ->where('course_id', $course_id) + ->get(); + } + + public function getAllByStudentId($session_id, $semester_id, $class_id, $section_id, $course_id, $student_id) { + $exam_ids = Exam::where('semester_id', $semester_id)->pluck('id')->toArray(); + return Mark::with('student','exam')->where('session_id', $session_id) + ->whereIn('exam_id', $exam_ids) + ->where('student_id', $student_id) + ->where('class_id', $class_id) + ->where('section_id', $section_id) + ->where('course_id', $course_id) + ->get(); + } + + public function getFinalMarksCount($session_id, $semester_id, $class_id, $section_id, $course_id) { + return FinalMark::where('session_id', $session_id) + ->where('semester_id', $semester_id) + ->where('class_id', $class_id) + ->where('section_id', $section_id) + ->where('course_id', $course_id) + ->count(); + } + + public function getAllFinalMarks($session_id, $semester_id, $class_id, $section_id, $course_id) { + return FinalMark::with('student')->where('session_id', $session_id) + ->where('semester_id', $semester_id) + ->where('class_id', $class_id) + ->where('section_id', $section_id) + ->where('course_id', $course_id) + ->get(); + } + + public function getAllFinalMarksByStudentId($session_id, $student_id, $semester_id, $class_id, $section_id, $course_id) { + return FinalMark::with('student')->where('session_id', $session_id) + ->where('student_id', $student_id) + ->where('semester_id', $semester_id) + ->where('class_id', $class_id) + ->where('section_id', $section_id) + ->where('course_id', $course_id) + ->get(); + } + + public function storeFinalMarks($rows) { + try { + foreach($rows as $row){ + FinalMark::updateOrCreate([ + 'semester_id' => $row['semester_id'], + 'student_id' => $row['student_id'], + 'session_id' => $row['session_id'], + 'class_id' => $row['class_id'], + 'section_id' => $row['section_id'], + 'course_id' => $row['course_id'] + ],[ + 'calculated_marks' => $row['calculated_marks'], + 'final_marks' => $row['final_marks'], + 'note' => $row['note'], + ]); + } + } catch (\Exception $e) { + throw new \Exception('Failed to update students final marks. '.$e->getMessage()); + } + } +} \ No newline at end of file diff --git a/app/Repositories/NoticeRepository.php b/app/Repositories/NoticeRepository.php new file mode 100644 index 000000000..5bf5b2f82 --- /dev/null +++ b/app/Repositories/NoticeRepository.php @@ -0,0 +1,24 @@ + $request['notice'], + 'session_id' => $request['session_id'], + ]); + } catch (\Exception $e) { + throw new \Exception('Failed to save Notice. '.$e->getMessage()); + } + } + + public function getAll($session_id) { + return Notice::where('session_id', $session_id) + ->orderBy('id', 'desc') + ->simplePaginate(3); + } +} \ No newline at end of file diff --git a/app/Repositories/PromotionRepository.php b/app/Repositories/PromotionRepository.php new file mode 100644 index 000000000..337b6e789 --- /dev/null +++ b/app/Repositories/PromotionRepository.php @@ -0,0 +1,107 @@ + $student_id, + 'session_id' => $request['session_id'], + 'class_id' => $request['class_id'], + 'section_id' => $request['section_id'], + 'id_card_number'=> $request['id_card_number'], + ]); + } catch (\Exception $e) { + throw new \Exception('Failed to add Student. '.$e->getMessage()); + } + } + + public function update($request, $student_id) { + try{ + Promotion::where('student_id', $student_id)->update([ + 'id_card_number'=> $request['id_card_number'], + ]); + } catch (\Exception $e) { + throw new \Exception('Failed to update Student. '.$e->getMessage()); + } + } + + public function massPromotion($rows) { + try { + foreach($rows as $row){ + Promotion::updateOrCreate([ + 'student_id' => $row['student_id'], + 'session_id' => $row['session_id'], + 'class_id' => $row['class_id'], + 'section_id' => $row['section_id'], + ],[ + 'id_card_number' => $row['id_card_number'], + ]); + } + } catch (\Exception $e) { + throw new \Exception('Failed to promote students. '.$e->getMessage()); + } + } + + public function getAll($session_id, $class_id, $section_id) { + return Promotion::with(['student', 'section']) + ->where('session_id', $session_id) + ->where('class_id', $class_id) + ->where('section_id', $section_id) + ->get(); + } + + public function getAllStudentsBySessionCount($session_id) { + return Promotion::where('session_id', $session_id) + ->count(); + } + + public function getMaleStudentsBySessionCount($session_id) { + $allStudents = Promotion::where('session_id', $session_id)->pluck('student_id')->toArray(); + + return User::where('gender', 'Male') + ->where('role', 'student') + ->whereIn('id', $allStudents) + ->count(); + } + + public function getAllStudentsBySession($session_id) { + return Promotion::with(['student', 'section']) + ->where('session_id', $session_id) + ->get(); + } + + public function getPromotionInfoById($session_id, $student_id) { + return Promotion::with(['student', 'section']) + ->where('session_id', $session_id) + ->where('student_id', $student_id) + ->first(); + } + + + public function getClasses($session_id) { + return Promotion::with('schoolClass')->select('class_id') + ->where('session_id', $session_id) + ->distinct('class_id') + ->get(); + } + + public function getSections($session_id, $class_id) { + return Promotion::with('section')->select('section_id') + ->where('session_id', $session_id) + ->where('class_id', $class_id) + ->distinct('section_id') + ->get(); + } + + public function getSectionsBySession($session_id) { + return Promotion::with('section')->select('section_id') + ->where('session_id', $session_id) + ->distinct('section_id') + ->get(); + } +} \ No newline at end of file diff --git a/app/Repositories/RoutineRepository.php b/app/Repositories/RoutineRepository.php new file mode 100644 index 000000000..a373fb116 --- /dev/null +++ b/app/Repositories/RoutineRepository.php @@ -0,0 +1,33 @@ + $request['start'], + 'end' => $request['end'], + 'weekday' => $request['weekday'], + 'session_id' => $request['session_id'], + 'class_id' => $request['class_id'], + 'section_id' => $request['section_id'], + 'course_id' => $request['course_id'], + ]); + } catch (\Exception $e) { + throw new \Exception('Failed to save routine. '.$e->getMessage()); + } + } + + public function getAll($class_id, $section_id, $session_id) { + return Routine::with('course') + ->where('session_id', $session_id) + ->where('class_id', $class_id) + ->where('section_id', $section_id) + ->get(); + } +} \ No newline at end of file diff --git a/app/Repositories/SchoolClassRepository.php b/app/Repositories/SchoolClassRepository.php new file mode 100644 index 000000000..35ddd8dbb --- /dev/null +++ b/app/Repositories/SchoolClassRepository.php @@ -0,0 +1,60 @@ +getMessage()); + } + } + + public function getAllBySession($session_id) { + return SchoolClass::where('session_id', $session_id)->get(); + } + + public function getAllBySessionAndTeacher($session_id, $teacher_id) { + return AssignedTeacher::with('schoolClass')->where('teacher_id', $teacher_id) + ->where('session_id', $session_id) + ->get(); + } + + public function getAllWithCoursesBySession($session_id) { + return SchoolClass::with(['courses','syllabi'])->where('session_id', $session_id)->get(); + } + + public function getClassesAndSections($session_id) { + $school_classes = $this->getAllWithCoursesBySession($session_id); + + $sectionRepository = new SectionRepository(); + + $school_sections = $sectionRepository->getAllBySession($session_id); + + $data = [ + 'school_classes' => $school_classes, + 'school_sections'=> $school_sections, + ]; + + return $data; + } + + public function findById($class_id) { + return SchoolClass::find($class_id); + } + + public function update($request) { + try { + SchoolClass::find($request->class_id)->update([ + 'class_name' => $request->class_name, + ]); + } catch (\Exception $e) { + throw new \Exception('Failed to update School Class. '.$e->getMessage()); + } + } +} \ No newline at end of file diff --git a/app/Repositories/SchoolSessionRepository.php b/app/Repositories/SchoolSessionRepository.php new file mode 100644 index 000000000..bb0f689ca --- /dev/null +++ b/app/Repositories/SchoolSessionRepository.php @@ -0,0 +1,56 @@ +first(); + if($school_session){ + return $school_session; + } else { + return (object) ['id' => 0]; + } + } + + public function getAll() { + return SchoolSession::get(); + } + + public function getPreviousSession() { + $lastTwoSessions = SchoolSession::orderBy('id', 'desc') + ->take(2) + ->get() + ->toArray(); + return (count($lastTwoSessions) < 2)? [] : $lastTwoSessions[1]; + } + + public function create($request) { + try { + SchoolSession::create($request); + } catch (\Exception $e) { + throw new \Exception('Failed to create School Session. '.$e->getMessage()); + } + } + + public function browse($request) { + try { + if(session()->has('browse_session_id') + && ($request['session_id'] == $this->getLatestSession()->id) + ) { + session()->forget(['browse_session_id', 'browse_session_name']); + } else { + session(['browse_session_id' => $request['session_id']]); + session(['browse_session_name' => $this->getSessionById($request['session_id'])->session_name]); + } + } catch (\Exception $e) { + throw new \Exception('Failed to set School Session for browsing. '.$e->getMessage()); + } + } + + public function getSessionById($id) { + return SchoolSession::find($id); + } +} \ No newline at end of file diff --git a/app/Repositories/SectionRepository.php b/app/Repositories/SectionRepository.php new file mode 100644 index 000000000..3f5181dcb --- /dev/null +++ b/app/Repositories/SectionRepository.php @@ -0,0 +1,39 @@ +getMessage()); + } + } + + public function getAllBySession($session_id) { + return Section::where('session_id', $session_id)->get(); + } + + public function getAllByClassId($class_id) { + return Section::where('class_id', $class_id)->get(); + } + + public function findById($section_id) { + return Section::find($section_id); + } + + public function update($request) { + try { + Section::find($request->section_id)->update([ + 'section_name' => $request->section_name, + 'room_no' => $request->room_no, + ]); + } catch (\Exception $e) { + throw new \Exception('Failed to update School Section. '.$e->getMessage()); + } + } +} \ No newline at end of file diff --git a/app/Repositories/SemesterRepository.php b/app/Repositories/SemesterRepository.php new file mode 100644 index 000000000..6720a9c3e --- /dev/null +++ b/app/Repositories/SemesterRepository.php @@ -0,0 +1,22 @@ +getMessage()); + } + } + + public function getAll($session_id) + { + return Semester::where('session_id', $session_id)->orderBy('id', 'desc')->get(); + } +} \ No newline at end of file diff --git a/app/Repositories/StudentAcademicInfoRepository.php b/app/Repositories/StudentAcademicInfoRepository.php new file mode 100644 index 000000000..7b86fa47f --- /dev/null +++ b/app/Repositories/StudentAcademicInfoRepository.php @@ -0,0 +1,18 @@ + $student_id, + 'board_reg_no' => $request['board_reg_no'], + ]); + } catch (\Exception $e) { + throw new \Exception('Failed to create Student academic information. '.$e->getMessage()); + } + } +} \ No newline at end of file diff --git a/app/Repositories/StudentParentInfoRepository.php b/app/Repositories/StudentParentInfoRepository.php new file mode 100644 index 000000000..93fab327e --- /dev/null +++ b/app/Repositories/StudentParentInfoRepository.php @@ -0,0 +1,41 @@ + $student_id, + 'father_name' => $request['father_name'], + 'father_phone' => $request['father_phone'], + 'mother_name' => $request['mother_name'], + 'mother_phone' => $request['mother_phone'], + 'parent_address'=> $request['parent_address'], + ]); + } catch (\Exception $e) { + throw new \Exception('Failed to create Student Parent information. '.$e->getMessage()); + } + } + + public function getParentInfo($student_id) { + return StudentParentInfo::where('student_id', $student_id) + ->first(); + } + + public function update($request, $student_id) { + try { + StudentParentInfo::where('student_id', $student_id)->update([ + 'father_name' => $request['father_name'], + 'father_phone' => $request['father_phone'], + 'mother_name' => $request['mother_name'], + 'mother_phone' => $request['mother_phone'], + 'parent_address'=> $request['parent_address'], + ]); + } catch (\Exception $e) { + throw new \Exception('Failed to update Student Parent information. '.$e->getMessage()); + } + } +} \ No newline at end of file diff --git a/app/Repositories/SyllabusRepository.php b/app/Repositories/SyllabusRepository.php new file mode 100644 index 000000000..313b8ec1b --- /dev/null +++ b/app/Repositories/SyllabusRepository.php @@ -0,0 +1,32 @@ +put('syllabi', $request['file']); + try { + Syllabus::create([ + 'syllabus_name' => $request['syllabus_name'], + 'syllabus_file_path' => $path, + 'class_id' => $request['class_id'], + 'course_id' => $request['course_id'], + 'session_id' => $request['session_id'] + ]); + } catch (\Exception $e) { + throw new \Exception('Failed to create syllabus. '.$e->getMessage()); + } + } + + public function getByClass($class_id) { + return Syllabus::where('class_id', $class_id)->get(); + } + + public function getByCourse($course_id) { + return Syllabus::where('course_id', $course_id)->get(); + } +} \ No newline at end of file diff --git a/app/Repositories/UserRepository.php b/app/Repositories/UserRepository.php new file mode 100644 index 000000000..655a51a0e --- /dev/null +++ b/app/Repositories/UserRepository.php @@ -0,0 +1,239 @@ + $request['first_name'], + 'last_name' => $request['last_name'], + 'email' => $request['email'], + 'gender' => $request['gender'], + 'nationality' => $request['nationality'], + 'phone' => $request['phone'], + 'address' => $request['address'], + 'address2' => $request['address2'], + 'city' => $request['city'], + 'zip' => $request['zip'], + 'photo' => (!empty($request['photo']))?$this->convert($request['photo']):null, + 'role' => 'teacher', + 'password' => Hash::make($request['password']), + ]); + $user->givePermissionTo( + 'create exams', + 'view exams', + 'create exams rule', + 'view exams rule', + 'edit exams rule', + 'delete exams rule', + 'take attendances', + 'view attendances', + 'create assignments', + 'view assignments', + 'save marks', + 'view users', + 'view routines', + 'view syllabi', + 'view events', + 'view notices', + ); + }); + } catch (\Exception $e) { + throw new \Exception('Failed to create Teacher. '.$e->getMessage()); + } + } + + /** + * @param mixed $request + * @return string + */ + public function createStudent($request) { + try { + DB::transaction(function () use ($request) { + $student = User::create([ + 'first_name' => $request['first_name'], + 'last_name' => $request['last_name'], + 'email' => $request['email'], + 'gender' => $request['gender'], + 'nationality' => $request['nationality'], + 'phone' => $request['phone'], + 'address' => $request['address'], + 'address2' => $request['address2'], + 'city' => $request['city'], + 'zip' => $request['zip'], + 'photo' => (!empty($request['photo']))?$this->convert($request['photo']):null, + 'birthday' => $request['birthday'], + 'religion' => $request['religion'], + 'blood_type' => $request['blood_type'], + 'role' => 'student', + 'password' => Hash::make($request['password']), + ]); + + // Store Parents' information + $studentParentInfoRepository = new StudentParentInfoRepository(); + $studentParentInfoRepository->store($request, $student->id); + + // Store Academic information + $studentAcademicInfoRepository = new StudentAcademicInfoRepository(); + $studentAcademicInfoRepository->store($request, $student->id); + + // Assign student to a Class and a Section + $promotionRepository = new PromotionRepository(); + $promotionRepository->assignClassSection($request, $student->id); + + $student->givePermissionTo( + 'view attendances', + 'view assignments', + 'submit assignments', + 'view exams', + 'view marks', + 'view users', + 'view routines', + 'view syllabi', + 'view events', + 'view notices', + ); + }); + } catch (\Exception $e) { + throw new \Exception('Failed to create Student. '.$e->getMessage()); + } + } + + public function updateStudent($request) { + try { + DB::transaction(function () use ($request) { + User::where('id', $request['student_id'])->update([ + 'first_name' => $request['first_name'], + 'last_name' => $request['last_name'], + 'email' => $request['email'], + 'gender' => $request['gender'], + 'nationality' => $request['nationality'], + 'phone' => $request['phone'], + 'address' => $request['address'], + 'address2' => $request['address2'], + 'city' => $request['city'], + 'zip' => $request['zip'], + 'birthday' => $request['birthday'], + 'religion' => $request['religion'], + 'blood_type' => $request['blood_type'], + ]); + + // Update Parents' information + $studentParentInfoRepository = new StudentParentInfoRepository(); + $studentParentInfoRepository->update($request, $request['student_id']); + + // Update Student's ID card number + $promotionRepository = new PromotionRepository(); + $promotionRepository->update($request, $request['student_id']); + }); + } catch (\Exception $e) { + throw new \Exception('Failed to update Student. '.$e->getMessage()); + } + } + + public function updateTeacher($request) { + try { + DB::transaction(function () use ($request) { + User::where('id', $request['teacher_id'])->update([ + 'first_name' => $request['first_name'], + 'last_name' => $request['last_name'], + 'email' => $request['email'], + 'gender' => $request['gender'], + 'nationality' => $request['nationality'], + 'phone' => $request['phone'], + 'address' => $request['address'], + 'address2' => $request['address2'], + 'city' => $request['city'], + 'zip' => $request['zip'], + ]); + }); + } catch (\Exception $e) { + throw new \Exception('Failed to update Teacher. '.$e->getMessage()); + } + } + + public function getAllStudents($session_id, $class_id, $section_id) { + if($class_id == 0 || $section_id == 0) { + $schoolClass = SchoolClass::where('session_id', $session_id) + ->first(); + $section = Section::where('session_id', $session_id) + ->first(); + if($schoolClass == null || $section == null){ + throw new \Exception('There is no class and section'); + } else { + $class_id = $schoolClass->id; + $section_id = $section->id; + } + + } + try { + $promotionRepository = new PromotionRepository(); + return $promotionRepository->getAll($session_id, $class_id, $section_id); + } catch (\Exception $e) { + throw new \Exception('Failed to get all Students. '.$e->getMessage()); + } + } + + public function getAllStudentsBySession($session_id) { + $promotionRepository = new PromotionRepository(); + return $promotionRepository->getAllStudentsBySession($session_id); + } + + public function getAllStudentsBySessionCount($session_id) { + $promotionRepository = new PromotionRepository(); + return $promotionRepository->getAllStudentsBySessionCount($session_id); + } + + public function findStudent($id) { + try { + return User::with('parent_info', 'academic_info')->where('id', $id)->first(); + } catch (\Exception $e) { + throw new \Exception('Failed to get Student. '.$e->getMessage()); + } + } + + public function findTeacher($id) { + try { + return User::where('id', $id)->where('role', 'teacher')->first(); + } catch (\Exception $e) { + throw new \Exception('Failed to get Teacher. '.$e->getMessage()); + } + } + + public function getAllTeachers() { + try { + return User::where('role', 'teacher')->get(); + } catch (\Exception $e) { + throw new \Exception('Failed to get all Teachers. '.$e->getMessage()); + } + } + + public function changePassword($new_password) { + try { + return User::where('id', auth()->user()->id)->update([ + 'password' => Hash::make($new_password) + ]); + } catch (\Exception $e) { + throw new \Exception('Failed to change password. '.$e->getMessage()); + } + } +} \ No newline at end of file diff --git a/app/Traits/AssignedTeacherCheck.php b/app/Traits/AssignedTeacherCheck.php new file mode 100644 index 000000000..884295623 --- /dev/null +++ b/app/Traits/AssignedTeacherCheck.php @@ -0,0 +1,24 @@ +getAssignedTeacher($current_school_session_id, $request->semester_id, $request->class_id, $request->section_id, $request->course_id); + + if($assignedTeacher === null || $assignedTeacher->teacher_id !== Auth::user()->id) { + abort(404); + } + } +} \ No newline at end of file diff --git a/app/Traits/Base64ToFile.php b/app/Traits/Base64ToFile.php new file mode 100644 index 000000000..f436e6e55 --- /dev/null +++ b/app/Traits/Base64ToFile.php @@ -0,0 +1,30 @@ +put($photoPath, base64_decode($photo)); + + return $photoPath; + } catch (\Exception $e) { + throw new \Exception('Failed to save Photo. '.$e->getMessage()); + } + + } +} \ No newline at end of file diff --git a/app/Traits/SchoolSession.php b/app/Traits/SchoolSession.php new file mode 100644 index 000000000..2ddfc3fb4 --- /dev/null +++ b/app/Traits/SchoolSession.php @@ -0,0 +1,26 @@ +has('browse_session_id')){ + $current_school_session_id = session('browse_session_id'); + } else { + $latest_school_session = $this->schoolSessionRepository->getLatestSession(); + + if($latest_school_session){ + $current_school_session_id = $latest_school_session->id; + } + } + + return $current_school_session_id; + } +} \ No newline at end of file diff --git a/artisan b/artisan new file mode 100644 index 000000000..67a3329b1 --- /dev/null +++ b/artisan @@ -0,0 +1,53 @@ +#!/usr/bin/env php +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/bootstrap/app.php b/bootstrap/app.php new file mode 100644 index 000000000..037e17df0 --- /dev/null +++ b/bootstrap/app.php @@ -0,0 +1,55 @@ +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/bootstrap/cache/.gitignore b/bootstrap/cache/.gitignore new file mode 100644 index 000000000..d6b7ef32c --- /dev/null +++ b/bootstrap/cache/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/composer.json b/composer.json new file mode 100644 index 000000000..df2b72f24 --- /dev/null +++ b/composer.json @@ -0,0 +1,65 @@ +{ + "name": "changeweb/unifiedtransform", + "type": "project", + "description": "The School Management App.", + "keywords": ["framework", "laravel"], + "license": "MIT", + "require": { + "php": "^7.3|^8.0", + "fruitcake/laravel-cors": "^2.0", + "guzzlehttp/guzzle": "^7.0.1", + "laravel/framework": "^8.54", + "laravel/tinker": "^2.5", + "spatie/laravel-permission": "^4.2", + "stevebauman/purify": "^4.0" + }, + "require-dev": { + "barryvdh/laravel-debugbar": "^3.6", + "facade/ignition": "^2.5", + "fakerphp/faker": "^1.9.1", + "laravel/sail": "^1.0.1", + "laravel/ui": "^3.3", + "mockery/mockery": "^1.4.2", + "nunomaduro/collision": "^5.0", + "phpunit/phpunit": "^9.3.3" + }, + "autoload": { + "psr-4": { + "App\\": "app/", + "Database\\Factories\\": "database/factories/", + "Database\\Seeders\\": "database/seeders/" + } + }, + "autoload-dev": { + "psr-4": { + "Tests\\": "tests/" + } + }, + "scripts": { + "post-autoload-dump": [ + "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", + "@php artisan package:discover --ansi" + ], + "post-update-cmd": [ + "@php artisan vendor:publish --tag=laravel-assets --ansi" + ], + "post-root-package-install": [ + "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" + ], + "post-create-project-cmd": [ + "@php artisan key:generate --ansi" + ] + }, + "extra": { + "laravel": { + "dont-discover": [] + } + }, + "config": { + "optimize-autoloader": true, + "preferred-install": "dist", + "sort-packages": true + }, + "minimum-stability": "dev", + "prefer-stable": true +} diff --git a/composer.lock b/composer.lock new file mode 100644 index 000000000..76e66327d --- /dev/null +++ b/composer.lock @@ -0,0 +1,8221 @@ +{ + "_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#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "df37bf3186bd34e132baf87734044ca5", + "packages": [ + { + "name": "asm89/stack-cors", + "version": "v2.0.3", + "source": { + "type": "git", + "url": "https://github.com/asm89/stack-cors.git", + "reference": "9cb795bf30988e8c96dd3c40623c48a877bc6714" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/asm89/stack-cors/zipball/9cb795bf30988e8c96dd3c40623c48a877bc6714", + "reference": "9cb795bf30988e8c96dd3c40623c48a877bc6714", + "shasum": "" + }, + "require": { + "php": "^7.0|^8.0", + "symfony/http-foundation": "~2.7|~3.0|~4.0|~5.0", + "symfony/http-kernel": "~2.7|~3.0|~4.0|~5.0" + }, + "require-dev": { + "phpunit/phpunit": "^6|^7|^8|^9", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "psr-4": { + "Asm89\\Stack\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Alexander", + "email": "iam.asm89@gmail.com" + } + ], + "description": "Cross-origin resource sharing library and stack middleware", + "homepage": "https://github.com/asm89/stack-cors", + "keywords": [ + "cors", + "stack" + ], + "support": { + "issues": "https://github.com/asm89/stack-cors/issues", + "source": "https://github.com/asm89/stack-cors/tree/v2.0.3" + }, + "time": "2021-03-11T06:42:03+00:00" + }, + { + "name": "brick/math", + "version": "0.9.2", + "source": { + "type": "git", + "url": "https://github.com/brick/math.git", + "reference": "dff976c2f3487d42c1db75a3b180e2b9f0e72ce0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/brick/math/zipball/dff976c2f3487d42c1db75a3b180e2b9f0e72ce0", + "reference": "dff976c2f3487d42c1db75a3b180e2b9f0e72ce0", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.2", + "phpunit/phpunit": "^7.5.15 || ^8.5 || ^9.0", + "vimeo/psalm": "4.3.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Brick\\Math\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Arbitrary-precision arithmetic library", + "keywords": [ + "Arbitrary-precision", + "BigInteger", + "BigRational", + "arithmetic", + "bigdecimal", + "bignum", + "brick", + "math" + ], + "support": { + "issues": "https://github.com/brick/math/issues", + "source": "https://github.com/brick/math/tree/0.9.2" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/brick/math", + "type": "tidelift" + } + ], + "time": "2021-01-20T22:51:39+00:00" + }, + { + "name": "dflydev/dot-access-data", + "version": "v3.0.1", + "source": { + "type": "git", + "url": "https://github.com/dflydev/dflydev-dot-access-data.git", + "reference": "0992cc19268b259a39e86f296da5f0677841f42c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/0992cc19268b259a39e86f296da5f0677841f42c", + "reference": "0992cc19268b259a39e86f296da5f0677841f42c", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.42", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.3", + "scrutinizer/ocular": "1.6.0", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^3.14" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Dflydev\\DotAccessData\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Dragonfly Development Inc.", + "email": "info@dflydev.com", + "homepage": "http://dflydev.com" + }, + { + "name": "Beau Simensen", + "email": "beau@dflydev.com", + "homepage": "http://beausimensen.com" + }, + { + "name": "Carlos Frutos", + "email": "carlos@kiwing.it", + "homepage": "https://github.com/cfrutos" + }, + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com" + } + ], + "description": "Given a deep data structure, access data by dot notation.", + "homepage": "https://github.com/dflydev/dflydev-dot-access-data", + "keywords": [ + "access", + "data", + "dot", + "notation" + ], + "support": { + "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", + "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.1" + }, + "time": "2021-08-13T13:06:58+00:00" + }, + { + "name": "doctrine/inflector", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/9cf661f4eb38f7c881cac67c75ea9b00bf97b210", + "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^7.0", + "phpstan/phpstan": "^0.11", + "phpstan/phpstan-phpunit": "^0.11", + "phpstan/phpstan-strict-rules": "^0.11", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", + "homepage": "https://www.doctrine-project.org/projects/inflector.html", + "keywords": [ + "inflection", + "inflector", + "lowercase", + "manipulation", + "php", + "plural", + "singular", + "strings", + "uppercase", + "words" + ], + "support": { + "issues": "https://github.com/doctrine/inflector/issues", + "source": "https://github.com/doctrine/inflector/tree/2.0.x" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", + "type": "tidelift" + } + ], + "time": "2020-05-29T15:13:26+00:00" + }, + { + "name": "doctrine/lexer", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "e864bbf5904cb8f5bb334f99209b48018522f042" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/e864bbf5904cb8f5bb334f99209b48018522f042", + "reference": "e864bbf5904cb8f5bb334f99209b48018522f042", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^6.0", + "phpstan/phpstan": "^0.11.8", + "phpunit/phpunit": "^8.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "https://www.doctrine-project.org/projects/lexer.html", + "keywords": [ + "annotations", + "docblock", + "lexer", + "parser", + "php" + ], + "support": { + "issues": "https://github.com/doctrine/lexer/issues", + "source": "https://github.com/doctrine/lexer/tree/1.2.1" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", + "type": "tidelift" + } + ], + "time": "2020-05-25T17:44:05+00:00" + }, + { + "name": "dragonmantank/cron-expression", + "version": "v3.1.0", + "source": { + "type": "git", + "url": "https://github.com/dragonmantank/cron-expression.git", + "reference": "7a8c6e56ab3ffcc538d05e8155bb42269abf1a0c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/7a8c6e56ab3ffcc538d05e8155bb42269abf1a0c", + "reference": "7a8c6e56ab3ffcc538d05e8155bb42269abf1a0c", + "shasum": "" + }, + "require": { + "php": "^7.2|^8.0", + "webmozart/assert": "^1.7.0" + }, + "replace": { + "mtdowling/cron-expression": "^1.0" + }, + "require-dev": { + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-webmozart-assert": "^0.12.7", + "phpunit/phpunit": "^7.0|^8.0|^9.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Cron\\": "src/Cron/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Tankersley", + "email": "chris@ctankersley.com", + "homepage": "https://github.com/dragonmantank" + } + ], + "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", + "keywords": [ + "cron", + "schedule" + ], + "support": { + "issues": "https://github.com/dragonmantank/cron-expression/issues", + "source": "https://github.com/dragonmantank/cron-expression/tree/v3.1.0" + }, + "funding": [ + { + "url": "https://github.com/dragonmantank", + "type": "github" + } + ], + "time": "2020-11-24T19:55:57+00:00" + }, + { + "name": "egulias/email-validator", + "version": "2.1.25", + "source": { + "type": "git", + "url": "https://github.com/egulias/EmailValidator.git", + "reference": "0dbf5d78455d4d6a41d186da50adc1122ec066f4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/0dbf5d78455d4d6a41d186da50adc1122ec066f4", + "reference": "0dbf5d78455d4d6a41d186da50adc1122ec066f4", + "shasum": "" + }, + "require": { + "doctrine/lexer": "^1.0.1", + "php": ">=5.5", + "symfony/polyfill-intl-idn": "^1.10" + }, + "require-dev": { + "dominicsayers/isemail": "^3.0.7", + "phpunit/phpunit": "^4.8.36|^7.5.15", + "satooshi/php-coveralls": "^1.0.1" + }, + "suggest": { + "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Egulias\\EmailValidator\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Eduardo Gulias Davis" + } + ], + "description": "A library for validating emails against several RFCs", + "homepage": "https://github.com/egulias/EmailValidator", + "keywords": [ + "email", + "emailvalidation", + "emailvalidator", + "validation", + "validator" + ], + "support": { + "issues": "https://github.com/egulias/EmailValidator/issues", + "source": "https://github.com/egulias/EmailValidator/tree/2.1.25" + }, + "funding": [ + { + "url": "https://github.com/egulias", + "type": "github" + } + ], + "time": "2020-12-29T14:50:06+00:00" + }, + { + "name": "ezyang/htmlpurifier", + "version": "v4.13.0", + "source": { + "type": "git", + "url": "https://github.com/ezyang/htmlpurifier.git", + "reference": "08e27c97e4c6ed02f37c5b2b20488046c8d90d75" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/08e27c97e4c6ed02f37c5b2b20488046c8d90d75", + "reference": "08e27c97e4c6ed02f37c5b2b20488046c8d90d75", + "shasum": "" + }, + "require": { + "php": ">=5.2" + }, + "require-dev": { + "simpletest/simpletest": "dev-master#72de02a7b80c6bb8864ef9bf66d41d2f58f826bd" + }, + "type": "library", + "autoload": { + "psr-0": { + "HTMLPurifier": "library/" + }, + "files": [ + "library/HTMLPurifier.composer.php" + ], + "exclude-from-classmap": [ + "/library/HTMLPurifier/Language/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1-or-later" + ], + "authors": [ + { + "name": "Edward Z. Yang", + "email": "admin@htmlpurifier.org", + "homepage": "http://ezyang.com" + } + ], + "description": "Standards compliant HTML filter written in PHP", + "homepage": "http://htmlpurifier.org/", + "keywords": [ + "html" + ], + "support": { + "issues": "https://github.com/ezyang/htmlpurifier/issues", + "source": "https://github.com/ezyang/htmlpurifier/tree/master" + }, + "time": "2020-06-29T00:56:53+00:00" + }, + { + "name": "fruitcake/laravel-cors", + "version": "v2.0.4", + "source": { + "type": "git", + "url": "https://github.com/fruitcake/laravel-cors.git", + "reference": "a8ccedc7ca95189ead0e407c43b530dc17791d6a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fruitcake/laravel-cors/zipball/a8ccedc7ca95189ead0e407c43b530dc17791d6a", + "reference": "a8ccedc7ca95189ead0e407c43b530dc17791d6a", + "shasum": "" + }, + "require": { + "asm89/stack-cors": "^2.0.1", + "illuminate/contracts": "^6|^7|^8|^9", + "illuminate/support": "^6|^7|^8|^9", + "php": ">=7.2", + "symfony/http-foundation": "^4|^5", + "symfony/http-kernel": "^4.3.4|^5" + }, + "require-dev": { + "laravel/framework": "^6|^7|^8", + "orchestra/testbench-dusk": "^4|^5|^6|^7", + "phpunit/phpunit": "^6|^7|^8|^9", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + }, + "laravel": { + "providers": [ + "Fruitcake\\Cors\\CorsServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Fruitcake\\Cors\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fruitcake", + "homepage": "https://fruitcake.nl" + }, + { + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" + } + ], + "description": "Adds CORS (Cross-Origin Resource Sharing) headers support in your Laravel application", + "keywords": [ + "api", + "cors", + "crossdomain", + "laravel" + ], + "support": { + "issues": "https://github.com/fruitcake/laravel-cors/issues", + "source": "https://github.com/fruitcake/laravel-cors/tree/v2.0.4" + }, + "funding": [ + { + "url": "https://github.com/barryvdh", + "type": "github" + } + ], + "time": "2021-04-26T11:24:25+00:00" + }, + { + "name": "graham-campbell/result-type", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/GrahamCampbell/Result-Type.git", + "reference": "7e279d2cd5d7fbb156ce46daada972355cea27bb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/7e279d2cd5d7fbb156ce46daada972355cea27bb", + "reference": "7e279d2cd5d7fbb156ce46daada972355cea27bb", + "shasum": "" + }, + "require": { + "php": "^7.0|^8.0", + "phpoption/phpoption": "^1.7.3" + }, + "require-dev": { + "phpunit/phpunit": "^6.5|^7.5|^8.5|^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "GrahamCampbell\\ResultType\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "graham@alt-three.com" + } + ], + "description": "An Implementation Of The Result Type", + "keywords": [ + "Graham Campbell", + "GrahamCampbell", + "Result Type", + "Result-Type", + "result" + ], + "support": { + "issues": "https://github.com/GrahamCampbell/Result-Type/issues", + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.0.1" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type", + "type": "tidelift" + } + ], + "time": "2020-04-13T13:17:36+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "7.3.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "7008573787b430c1c1f650e3722d9bba59967628" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/7008573787b430c1c1f650e3722d9bba59967628", + "reference": "7008573787b430c1c1f650e3722d9bba59967628", + "shasum": "" + }, + "require": { + "ext-json": "*", + "guzzlehttp/promises": "^1.4", + "guzzlehttp/psr7": "^1.7 || ^2.0", + "php": "^7.2.5 || ^8.0", + "psr/http-client": "^1.0" + }, + "provide": { + "psr/http-client-implementation": "1.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", + "ext-curl": "*", + "php-http/client-integration-tests": "^3.0", + "phpunit/phpunit": "^8.5.5 || ^9.3.5", + "psr/log": "^1.1" + }, + "suggest": { + "ext-curl": "Required for CURL handler support", + "ext-intl": "Required for Internationalized Domain Name (IDN) support", + "psr/log": "Required for using the Log middleware" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.3-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://sagikazarmark.hu" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "psr-18", + "psr-7", + "rest", + "web service" + ], + "support": { + "issues": "https://github.com/guzzle/guzzle/issues", + "source": "https://github.com/guzzle/guzzle/tree/7.3.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://github.com/alexeyshockov", + "type": "github" + }, + { + "url": "https://github.com/gmponos", + "type": "github" + } + ], + "time": "2021-03-23T11:33:13+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "1.4.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "8e7d04f1f6450fef59366c399cfad4b9383aa30d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/8e7d04f1f6450fef59366c399cfad4b9383aa30d", + "reference": "8e7d04f1f6450fef59366c399cfad4b9383aa30d", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "require-dev": { + "symfony/phpunit-bridge": "^4.4 || ^5.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "support": { + "issues": "https://github.com/guzzle/promises/issues", + "source": "https://github.com/guzzle/promises/tree/1.4.1" + }, + "time": "2021-03-07T09:25:29+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "1dc8d9cba3897165e16d12bb13d813afb1eb3fe7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/1dc8d9cba3897165e16d12bb13d813afb1eb3fe7", + "reference": "1dc8d9cba3897165e16d12bb13d813afb1eb3fe7", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.0", + "ralouphie/getallheaders": "^3.0" + }, + "provide": { + "psr/http-factory-implementation": "1.0", + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", + "http-interop/http-factory-tests": "^0.9", + "phpunit/phpunit": "^8.5.8 || ^9.3.10" + }, + "suggest": { + "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Schultze", + "homepage": "https://github.com/Tobion" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://sagikazarmark.hu" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "psr-7", + "request", + "response", + "stream", + "uri", + "url" + ], + "support": { + "issues": "https://github.com/guzzle/psr7/issues", + "source": "https://github.com/guzzle/psr7/tree/2.0.0" + }, + "time": "2021-06-30T20:03:07+00:00" + }, + { + "name": "laravel/framework", + "version": "v8.54.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/framework.git", + "reference": "7b88554cd1aeb52b7f82689bf244182e7a81894b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/framework/zipball/7b88554cd1aeb52b7f82689bf244182e7a81894b", + "reference": "7b88554cd1aeb52b7f82689bf244182e7a81894b", + "shasum": "" + }, + "require": { + "doctrine/inflector": "^1.4|^2.0", + "dragonmantank/cron-expression": "^3.0.2", + "egulias/email-validator": "^2.1.10", + "ext-json": "*", + "ext-mbstring": "*", + "ext-openssl": "*", + "league/commonmark": "^1.3|^2.0", + "league/flysystem": "^1.1", + "monolog/monolog": "^2.0", + "nesbot/carbon": "^2.31", + "opis/closure": "^3.6", + "php": "^7.3|^8.0", + "psr/container": "^1.0", + "psr/simple-cache": "^1.0", + "ramsey/uuid": "^4.0", + "swiftmailer/swiftmailer": "^6.0", + "symfony/console": "^5.1.4", + "symfony/error-handler": "^5.1.4", + "symfony/finder": "^5.1.4", + "symfony/http-foundation": "^5.1.4", + "symfony/http-kernel": "^5.1.4", + "symfony/mime": "^5.1.4", + "symfony/process": "^5.1.4", + "symfony/routing": "^5.1.4", + "symfony/var-dumper": "^5.1.4", + "tijsverkoyen/css-to-inline-styles": "^2.2.2", + "vlucas/phpdotenv": "^5.2", + "voku/portable-ascii": "^1.4.8" + }, + "conflict": { + "tightenco/collect": "<5.5.33" + }, + "provide": { + "psr/container-implementation": "1.0" + }, + "replace": { + "illuminate/auth": "self.version", + "illuminate/broadcasting": "self.version", + "illuminate/bus": "self.version", + "illuminate/cache": "self.version", + "illuminate/collections": "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/filesystem": "self.version", + "illuminate/hashing": "self.version", + "illuminate/http": "self.version", + "illuminate/log": "self.version", + "illuminate/macroable": "self.version", + "illuminate/mail": "self.version", + "illuminate/notifications": "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/testing": "self.version", + "illuminate/translation": "self.version", + "illuminate/validation": "self.version", + "illuminate/view": "self.version" + }, + "require-dev": { + "aws/aws-sdk-php": "^3.186.4", + "doctrine/dbal": "^2.6|^3.0", + "filp/whoops": "^2.8", + "guzzlehttp/guzzle": "^6.5.5|^7.0.1", + "league/flysystem-cached-adapter": "^1.0", + "mockery/mockery": "^1.4.2", + "orchestra/testbench-core": "^6.23", + "pda/pheanstalk": "^4.0", + "phpunit/phpunit": "^8.5.8|^9.3.3", + "predis/predis": "^1.1.2", + "symfony/cache": "^5.1.4" + }, + "suggest": { + "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.186.4).", + "brianium/paratest": "Required to run tests in parallel (^6.0).", + "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6|^3.0).", + "ext-ftp": "Required to use the Flysystem FTP driver.", + "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", + "ext-memcached": "Required to use the memcache cache driver.", + "ext-pcntl": "Required to use all features of the queue worker.", + "ext-posix": "Required to use all features of the queue worker.", + "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).", + "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", + "filp/whoops": "Required for friendly error pages in development (^2.8).", + "guzzlehttp/guzzle": "Required to use the HTTP Client, Mailgun mail driver and the ping methods on schedules (^6.5.5|^7.0.1).", + "laravel/tinker": "Required to use the tinker console command (^2.0).", + "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", + "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", + "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", + "mockery/mockery": "Required to use mocking (^1.4.2).", + "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", + "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", + "phpunit/phpunit": "Required to use assertions and run tests (^8.5.8|^9.3.3).", + "predis/predis": "Required to use the predis connector (^1.1.2).", + "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", + "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0|^5.0|^6.0).", + "symfony/cache": "Required to PSR-6 cache bridge (^5.1.4).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^5.1.4).", + "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0).", + "wildbit/swiftmailer-postmark": "Required to use Postmark mail driver (^3.0)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "8.x-dev" + } + }, + "autoload": { + "files": [ + "src/Illuminate/Collections/helpers.php", + "src/Illuminate/Events/functions.php", + "src/Illuminate/Foundation/helpers.php", + "src/Illuminate/Support/helpers.php" + ], + "psr-4": { + "Illuminate\\": "src/Illuminate/", + "Illuminate\\Support\\": [ + "src/Illuminate/Macroable/", + "src/Illuminate/Collections/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Laravel Framework.", + "homepage": "https://laravel.com", + "keywords": [ + "framework", + "laravel" + ], + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2021-08-10T14:25:51+00:00" + }, + { + "name": "laravel/tinker", + "version": "v2.6.1", + "source": { + "type": "git", + "url": "https://github.com/laravel/tinker.git", + "reference": "04ad32c1a3328081097a181875733fa51f402083" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/tinker/zipball/04ad32c1a3328081097a181875733fa51f402083", + "reference": "04ad32c1a3328081097a181875733fa51f402083", + "shasum": "" + }, + "require": { + "illuminate/console": "^6.0|^7.0|^8.0", + "illuminate/contracts": "^6.0|^7.0|^8.0", + "illuminate/support": "^6.0|^7.0|^8.0", + "php": "^7.2.5|^8.0", + "psy/psysh": "^0.10.4", + "symfony/var-dumper": "^4.3.4|^5.0" + }, + "require-dev": { + "mockery/mockery": "~1.3.3|^1.4.2", + "phpunit/phpunit": "^8.5.8|^9.3.3" + }, + "suggest": { + "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + }, + "laravel": { + "providers": [ + "Laravel\\Tinker\\TinkerServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Tinker\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Powerful REPL for the Laravel framework.", + "keywords": [ + "REPL", + "Tinker", + "laravel", + "psysh" + ], + "support": { + "issues": "https://github.com/laravel/tinker/issues", + "source": "https://github.com/laravel/tinker/tree/v2.6.1" + }, + "time": "2021-03-02T16:53:12+00:00" + }, + { + "name": "league/commonmark", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/commonmark.git", + "reference": "0d57f20aa03129ee7ef5f690e634884315d4238c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/0d57f20aa03129ee7ef5f690e634884315d4238c", + "reference": "0d57f20aa03129ee7ef5f690e634884315d4238c", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "league/config": "^1.1", + "php": "^7.4 || ^8.0", + "psr/event-dispatcher": "^1.0", + "symfony/polyfill-php80": "^1.15" + }, + "require-dev": { + "cebe/markdown": "^1.0", + "commonmark/cmark": "0.30.0", + "commonmark/commonmark.js": "0.30.0", + "composer/package-versions-deprecated": "^1.8", + "erusev/parsedown": "^1.0", + "ext-json": "*", + "github/gfm": "0.29.0", + "michelf/php-markdown": "^1.4", + "phpstan/phpstan": "^0.12.88", + "phpunit/phpunit": "^9.5.5", + "scrutinizer/ocular": "^1.8.1", + "symfony/finder": "^5.3", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0", + "unleashedtech/php-coding-standard": "^3.1", + "vimeo/psalm": "^4.7.3" + }, + "suggest": { + "symfony/yaml": "v2.3+ required if using the Front Matter extension" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.1-dev" + } + }, + "autoload": { + "psr-4": { + "League\\CommonMark\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)", + "homepage": "https://commonmark.thephpleague.com", + "keywords": [ + "commonmark", + "flavored", + "gfm", + "github", + "github-flavored", + "markdown", + "md", + "parser" + ], + "support": { + "docs": "https://commonmark.thephpleague.com/", + "forum": "https://github.com/thephpleague/commonmark/discussions", + "issues": "https://github.com/thephpleague/commonmark/issues", + "rss": "https://github.com/thephpleague/commonmark/releases.atom", + "source": "https://github.com/thephpleague/commonmark" + }, + "funding": [ + { + "url": "https://enjoy.gitstore.app/repositories/thephpleague/commonmark", + "type": "custom" + }, + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + }, + { + "url": "https://www.patreon.com/colinodell", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/commonmark", + "type": "tidelift" + } + ], + "time": "2021-07-31T19:15:22+00:00" + }, + { + "name": "league/config", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/config.git", + "reference": "20d42d88f12a76ff862e17af4f14a5a4bbfd0925" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/config/zipball/20d42d88f12a76ff862e17af4f14a5a4bbfd0925", + "reference": "20d42d88f12a76ff862e17af4f14a5a4bbfd0925", + "shasum": "" + }, + "require": { + "dflydev/dot-access-data": "^3.0", + "nette/schema": "^1.2", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.90", + "phpunit/phpunit": "^9.5.5", + "scrutinizer/ocular": "^1.8.1", + "unleashedtech/php-coding-standard": "^3.1", + "vimeo/psalm": "^4.7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Config\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "Define configuration arrays with strict schemas and access values with dot notation", + "homepage": "https://config.thephpleague.com", + "keywords": [ + "array", + "config", + "configuration", + "dot", + "dot-access", + "nested", + "schema" + ], + "support": { + "docs": "https://config.thephpleague.com/", + "issues": "https://github.com/thephpleague/config/issues", + "rss": "https://github.com/thephpleague/config/releases.atom", + "source": "https://github.com/thephpleague/config" + }, + "funding": [ + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + } + ], + "time": "2021-06-19T15:52:37+00:00" + }, + { + "name": "league/flysystem", + "version": "1.1.4", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem.git", + "reference": "f3ad69181b8afed2c9edf7be5a2918144ff4ea32" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/f3ad69181b8afed2c9edf7be5a2918144ff4ea32", + "reference": "f3ad69181b8afed2c9edf7be5a2918144ff4ea32", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "league/mime-type-detection": "^1.3", + "php": "^7.2.5 || ^8.0" + }, + "conflict": { + "league/flysystem-sftp": "<1.0.6" + }, + "require-dev": { + "phpspec/prophecy": "^1.11.1", + "phpunit/phpunit": "^8.5.8" + }, + "suggest": { + "ext-ftp": "Allows you to use FTP server storage", + "ext-openssl": "Allows you to use FTPS server storage", + "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" + ], + "support": { + "issues": "https://github.com/thephpleague/flysystem/issues", + "source": "https://github.com/thephpleague/flysystem/tree/1.1.4" + }, + "funding": [ + { + "url": "https://offset.earth/frankdejonge", + "type": "other" + } + ], + "time": "2021-06-23T21:56:05+00:00" + }, + { + "name": "league/mime-type-detection", + "version": "1.7.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/mime-type-detection.git", + "reference": "3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3", + "reference": "3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.18", + "phpstan/phpstan": "^0.12.68", + "phpunit/phpunit": "^8.5.8 || ^9.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\MimeTypeDetection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "Mime-type detection for Flysystem", + "support": { + "issues": "https://github.com/thephpleague/mime-type-detection/issues", + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.7.0" + }, + "funding": [ + { + "url": "https://github.com/frankdejonge", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/flysystem", + "type": "tidelift" + } + ], + "time": "2021-01-18T20:58:21+00:00" + }, + { + "name": "monolog/monolog", + "version": "2.3.2", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "71312564759a7db5b789296369c1a264efc43aad" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/71312564759a7db5b789296369c1a264efc43aad", + "reference": "71312564759a7db5b789296369c1a264efc43aad", + "shasum": "" + }, + "require": { + "php": ">=7.2", + "psr/log": "^1.0.1" + }, + "provide": { + "psr/log-implementation": "1.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^2.4.9 || ^3.0", + "doctrine/couchdb": "~1.0@dev", + "elasticsearch/elasticsearch": "^7", + "graylog2/gelf-php": "^1.4.2", + "mongodb/mongodb": "^1.8", + "php-amqplib/php-amqplib": "~2.4", + "php-console/php-console": "^3.1.3", + "phpspec/prophecy": "^1.6.1", + "phpstan/phpstan": "^0.12.91", + "phpunit/phpunit": "^8.5", + "predis/predis": "^1.1", + "rollbar/rollbar": "^1.3", + "ruflin/elastica": ">=0.90 <7.0.1", + "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", + "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-mbstring": "Allow to work properly with unicode symbols", + "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", + "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" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.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": "https://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "https://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "support": { + "issues": "https://github.com/Seldaek/monolog/issues", + "source": "https://github.com/Seldaek/monolog/tree/2.3.2" + }, + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", + "type": "tidelift" + } + ], + "time": "2021-07-23T07:42:52+00:00" + }, + { + "name": "nesbot/carbon", + "version": "2.51.1", + "source": { + "type": "git", + "url": "https://github.com/briannesbitt/Carbon.git", + "reference": "8619c299d1e0d4b344e1f98ca07a1ce2cfbf1922" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/8619c299d1e0d4b344e1f98ca07a1ce2cfbf1922", + "reference": "8619c299d1e0d4b344e1f98ca07a1ce2cfbf1922", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "^7.1.8 || ^8.0", + "symfony/polyfill-mbstring": "^1.0", + "symfony/polyfill-php80": "^1.16", + "symfony/translation": "^3.4 || ^4.0 || ^5.0" + }, + "require-dev": { + "doctrine/orm": "^2.7", + "friendsofphp/php-cs-fixer": "^2.14 || ^3.0", + "kylekatarnls/multi-tester": "^2.0", + "phpmd/phpmd": "^2.9", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12.54", + "phpunit/phpunit": "^7.5.20 || ^8.5.14", + "squizlabs/php_codesniffer": "^3.4" + }, + "bin": [ + "bin/carbon" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-3.x": "3.x-dev", + "dev-master": "2.x-dev" + }, + "laravel": { + "providers": [ + "Carbon\\Laravel\\ServiceProvider" + ] + }, + "phpstan": { + "includes": [ + "extension.neon" + ] + } + }, + "autoload": { + "psr-4": { + "Carbon\\": "src/Carbon/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brian Nesbitt", + "email": "brian@nesbot.com", + "homepage": "https://markido.com" + }, + { + "name": "kylekatarnls", + "homepage": "https://github.com/kylekatarnls" + } + ], + "description": "An API extension for DateTime that supports 281 different languages.", + "homepage": "https://carbon.nesbot.com", + "keywords": [ + "date", + "datetime", + "time" + ], + "support": { + "issues": "https://github.com/briannesbitt/Carbon/issues", + "source": "https://github.com/briannesbitt/Carbon" + }, + "funding": [ + { + "url": "https://opencollective.com/Carbon", + "type": "open_collective" + }, + { + "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon", + "type": "tidelift" + } + ], + "time": "2021-07-28T13:16:28+00:00" + }, + { + "name": "nette/schema", + "version": "v1.2.1", + "source": { + "type": "git", + "url": "https://github.com/nette/schema.git", + "reference": "f5ed39fc96358f922cedfd1e516f0dadf5d2be0d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/schema/zipball/f5ed39fc96358f922cedfd1e516f0dadf5d2be0d", + "reference": "f5ed39fc96358f922cedfd1e516f0dadf5d2be0d", + "shasum": "" + }, + "require": { + "nette/utils": "^3.1.4 || ^4.0", + "php": ">=7.1 <8.1" + }, + "require-dev": { + "nette/tester": "^2.3 || ^2.4", + "phpstan/phpstan-nette": "^0.12", + "tracy/tracy": "^2.7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "📐 Nette Schema: validating data structures against a given Schema.", + "homepage": "https://nette.org", + "keywords": [ + "config", + "nette" + ], + "support": { + "issues": "https://github.com/nette/schema/issues", + "source": "https://github.com/nette/schema/tree/v1.2.1" + }, + "time": "2021-03-04T17:51:11+00:00" + }, + { + "name": "nette/utils", + "version": "v3.2.2", + "source": { + "type": "git", + "url": "https://github.com/nette/utils.git", + "reference": "967cfc4f9a1acd5f1058d76715a424c53343c20c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/utils/zipball/967cfc4f9a1acd5f1058d76715a424c53343c20c", + "reference": "967cfc4f9a1acd5f1058d76715a424c53343c20c", + "shasum": "" + }, + "require": { + "php": ">=7.2 <8.1" + }, + "conflict": { + "nette/di": "<3.0.6" + }, + "require-dev": { + "nette/tester": "~2.0", + "phpstan/phpstan": "^0.12", + "tracy/tracy": "^2.3" + }, + "suggest": { + "ext-gd": "to use Image", + "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()", + "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()", + "ext-json": "to use Nette\\Utils\\Json", + "ext-mbstring": "to use Strings::lower() etc...", + "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()", + "ext-xml": "to use Strings::length() etc. when mbstring is not available" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.", + "homepage": "https://nette.org", + "keywords": [ + "array", + "core", + "datetime", + "images", + "json", + "nette", + "paginator", + "password", + "slugify", + "string", + "unicode", + "utf-8", + "utility", + "validation" + ], + "support": { + "issues": "https://github.com/nette/utils/issues", + "source": "https://github.com/nette/utils/tree/v3.2.2" + }, + "time": "2021-03-03T22:53:25+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v4.12.0", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "6608f01670c3cc5079e18c1dab1104e002579143" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6608f01670c3cc5079e18c1dab1104e002579143", + "reference": "6608f01670c3cc5079e18c1dab1104e002579143", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=7.0" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.9-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" + ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v4.12.0" + }, + "time": "2021-07-21T10:44:31+00:00" + }, + { + "name": "opis/closure", + "version": "3.6.2", + "source": { + "type": "git", + "url": "https://github.com/opis/closure.git", + "reference": "06e2ebd25f2869e54a306dda991f7db58066f7f6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/opis/closure/zipball/06e2ebd25f2869e54a306dda991f7db58066f7f6", + "reference": "06e2ebd25f2869e54a306dda991f7db58066f7f6", + "shasum": "" + }, + "require": { + "php": "^5.4 || ^7.0 || ^8.0" + }, + "require-dev": { + "jeremeamia/superclosure": "^2.0", + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.6.x-dev" + } + }, + "autoload": { + "psr-4": { + "Opis\\Closure\\": "src/" + }, + "files": [ + "functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marius Sarca", + "email": "marius.sarca@gmail.com" + }, + { + "name": "Sorin Sarca", + "email": "sarca_sorin@hotmail.com" + } + ], + "description": "A library that can be used to serialize closures (anonymous functions) and arbitrary objects.", + "homepage": "https://opis.io/closure", + "keywords": [ + "anonymous functions", + "closure", + "function", + "serializable", + "serialization", + "serialize" + ], + "support": { + "issues": "https://github.com/opis/closure/issues", + "source": "https://github.com/opis/closure/tree/3.6.2" + }, + "time": "2021-04-09T13:42:10+00:00" + }, + { + "name": "phpoption/phpoption", + "version": "1.7.5", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/php-option.git", + "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/994ecccd8f3283ecf5ac33254543eb0ac946d525", + "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525", + "shasum": "" + }, + "require": { + "php": "^5.5.9 || ^7.0 || ^8.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", + "phpunit/phpunit": "^4.8.35 || ^5.7.27 || ^6.5.6 || ^7.0 || ^8.0 || ^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.7-dev" + } + }, + "autoload": { + "psr-4": { + "PhpOption\\": "src/PhpOption/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Graham Campbell", + "email": "graham@alt-three.com" + } + ], + "description": "Option Type for PHP", + "keywords": [ + "language", + "option", + "php", + "type" + ], + "support": { + "issues": "https://github.com/schmittjoh/php-option/issues", + "source": "https://github.com/schmittjoh/php-option/tree/1.7.5" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", + "type": "tidelift" + } + ], + "time": "2020-07-20T17:29:33+00:00" + }, + { + "name": "psr/container", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf", + "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/1.1.1" + }, + "time": "2021-03-05T17:36:06+00:00" + }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, + "time": "2019-01-08T18:20:26+00:00" + }, + { + "name": "psr/http-client", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-client.git", + "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", + "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0", + "psr/http-message": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Client\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP clients", + "homepage": "https://github.com/php-fig/http-client", + "keywords": [ + "http", + "http-client", + "psr", + "psr-18" + ], + "support": { + "source": "https://github.com/php-fig/http-client/tree/master" + }, + "time": "2020-06-29T06:28:15+00:00" + }, + { + "name": "psr/http-factory", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be", + "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be", + "shasum": "" + }, + "require": { + "php": ">=7.0.0", + "psr/http-message": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for PSR-7 HTTP message factories", + "keywords": [ + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-factory/tree/master" + }, + "time": "2019-04-30T12:38:16+00:00" + }, + { + "name": "psr/http-message", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/master" + }, + "time": "2016-08-06T14:39:51+00:00" + }, + { + "name": "psr/log", + "version": "1.1.4", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "d49695b909c3b7628b6289db5479a1c204601f11" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", + "reference": "d49695b909c3b7628b6289db5479a1c204601f11", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/1.1.4" + }, + "time": "2021-05-03T11:20:27+00:00" + }, + { + "name": "psr/simple-cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "support": { + "source": "https://github.com/php-fig/simple-cache/tree/master" + }, + "time": "2017-10-23T01:57:42+00:00" + }, + { + "name": "psy/psysh", + "version": "v0.10.8", + "source": { + "type": "git", + "url": "https://github.com/bobthecow/psysh.git", + "reference": "e4573f47750dd6c92dca5aee543fa77513cbd8d3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/e4573f47750dd6c92dca5aee543fa77513cbd8d3", + "reference": "e4573f47750dd6c92dca5aee543fa77513cbd8d3", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-tokenizer": "*", + "nikic/php-parser": "~4.0|~3.0|~2.0|~1.3", + "php": "^8.0 || ^7.0 || ^5.5.9", + "symfony/console": "~5.0|~4.0|~3.0|^2.4.2|~2.3.10", + "symfony/var-dumper": "~5.0|~4.0|~3.0|~2.7" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.2", + "hoa/console": "3.17.*" + }, + "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.", + "hoa/console": "A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit." + }, + "bin": [ + "bin/psysh" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "0.10.x-dev" + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Psy\\": "src/" + } + }, + "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" + ], + "support": { + "issues": "https://github.com/bobthecow/psysh/issues", + "source": "https://github.com/bobthecow/psysh/tree/v0.10.8" + }, + "time": "2021-04-10T16:23:39+00:00" + }, + { + "name": "ralouphie/getallheaders", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "120b605dfeb996808c31b6477290a714d356e822" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/getallheaders.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "description": "A polyfill for getallheaders.", + "support": { + "issues": "https://github.com/ralouphie/getallheaders/issues", + "source": "https://github.com/ralouphie/getallheaders/tree/develop" + }, + "time": "2019-03-08T08:55:37+00:00" + }, + { + "name": "ramsey/collection", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/ramsey/collection.git", + "reference": "eaca1dc1054ddd10cbd83c1461907bee6fb528fa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/collection/zipball/eaca1dc1054ddd10cbd83c1461907bee6fb528fa", + "reference": "eaca1dc1054ddd10cbd83c1461907bee6fb528fa", + "shasum": "" + }, + "require": { + "php": "^7.3 || ^8", + "symfony/polyfill-php81": "^1.23" + }, + "require-dev": { + "captainhook/captainhook": "^5.3", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", + "ergebnis/composer-normalize": "^2.6", + "fakerphp/faker": "^1.5", + "hamcrest/hamcrest-php": "^2", + "jangregor/phpstan-prophecy": "^0.8", + "mockery/mockery": "^1.3", + "phpspec/prophecy-phpunit": "^2.0", + "phpstan/extension-installer": "^1", + "phpstan/phpstan": "^0.12.32", + "phpstan/phpstan-mockery": "^0.12.5", + "phpstan/phpstan-phpunit": "^0.12.11", + "phpunit/phpunit": "^8.5 || ^9", + "psy/psysh": "^0.10.4", + "slevomat/coding-standard": "^6.3", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Ramsey\\Collection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" + } + ], + "description": "A PHP library for representing and manipulating collections.", + "keywords": [ + "array", + "collection", + "hash", + "map", + "queue", + "set" + ], + "support": { + "issues": "https://github.com/ramsey/collection/issues", + "source": "https://github.com/ramsey/collection/tree/1.2.1" + }, + "funding": [ + { + "url": "https://github.com/ramsey", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", + "type": "tidelift" + } + ], + "time": "2021-08-06T03:41:06+00:00" + }, + { + "name": "ramsey/uuid", + "version": "4.2.1", + "source": { + "type": "git", + "url": "https://github.com/ramsey/uuid.git", + "reference": "fe665a03df4f056aa65af552a96e1976df8c8dae" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/fe665a03df4f056aa65af552a96e1976df8c8dae", + "reference": "fe665a03df4f056aa65af552a96e1976df8c8dae", + "shasum": "" + }, + "require": { + "brick/math": "^0.8 || ^0.9", + "ext-json": "*", + "php": "^7.2 || ^8", + "ramsey/collection": "^1.0", + "symfony/polyfill-ctype": "^1.8" + }, + "replace": { + "rhumsaa/uuid": "self.version" + }, + "require-dev": { + "captainhook/captainhook": "^5.10", + "captainhook/plugin-composer": "^5.3", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", + "doctrine/annotations": "^1.8", + "ergebnis/composer-normalize": "^2.15", + "mockery/mockery": "^1.3", + "moontoast/math": "^1.1", + "paragonie/random-lib": "^2", + "php-mock/php-mock": "^2.2", + "php-mock/php-mock-mockery": "^1.3", + "php-parallel-lint/php-parallel-lint": "^1.1", + "phpbench/phpbench": "^1.0", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-mockery": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpunit/phpunit": "^8.5 || ^9", + "slevomat/coding-standard": "^7.0", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.9" + }, + "suggest": { + "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", + "ext-ctype": "Enables faster processing of character classification using ctype functions.", + "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", + "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", + "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", + "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.x-dev" + }, + "captainhook": { + "force-install": true + } + }, + "autoload": { + "psr-4": { + "Ramsey\\Uuid\\": "src/" + }, + "files": [ + "src/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", + "keywords": [ + "guid", + "identifier", + "uuid" + ], + "support": { + "issues": "https://github.com/ramsey/uuid/issues", + "source": "https://github.com/ramsey/uuid/tree/4.2.1" + }, + "funding": [ + { + "url": "https://github.com/ramsey", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid", + "type": "tidelift" + } + ], + "time": "2021-08-11T01:06:55+00:00" + }, + { + "name": "spatie/laravel-permission", + "version": "4.2.0", + "source": { + "type": "git", + "url": "https://github.com/spatie/laravel-permission.git", + "reference": "a6e4122b65094baba7f98df153af0768ef910c85" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/laravel-permission/zipball/a6e4122b65094baba7f98df153af0768ef910c85", + "reference": "a6e4122b65094baba7f98df153af0768ef910c85", + "shasum": "" + }, + "require": { + "illuminate/auth": "^6.0|^7.0|^8.0", + "illuminate/container": "^6.0|^7.0|^8.0", + "illuminate/contracts": "^6.0|^7.0|^8.0", + "illuminate/database": "^6.0|^7.0|^8.0", + "php": "^7.2.5|^8.0" + }, + "require-dev": { + "orchestra/testbench": "^4.0|^5.0|^6.0", + "phpunit/phpunit": "^8.0|^9.0", + "predis/predis": "^1.1" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Spatie\\Permission\\PermissionServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Spatie\\Permission\\": "src" + }, + "files": [ + "src/helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "Permission handling for Laravel 6.0 and up", + "homepage": "https://github.com/spatie/laravel-permission", + "keywords": [ + "acl", + "laravel", + "permission", + "permissions", + "rbac", + "roles", + "security", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/laravel-permission/issues", + "source": "https://github.com/spatie/laravel-permission/tree/4.2.0" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2021-06-04T23:47:08+00:00" + }, + { + "name": "stevebauman/purify", + "version": "v4.0.0", + "source": { + "type": "git", + "url": "https://github.com/stevebauman/purify.git", + "reference": "823ad75e35f94139ca99701dcbdab9851ad52105" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/stevebauman/purify/zipball/823ad75e35f94139ca99701dcbdab9851ad52105", + "reference": "823ad75e35f94139ca99701dcbdab9851ad52105", + "shasum": "" + }, + "require": { + "ezyang/htmlpurifier": "^4.9.0", + "illuminate/support": "~5.5|~6.0|~7.0|~8.0", + "php": ">=7.1" + }, + "require-dev": { + "orchestra/testbench": "~3.7", + "phpunit/phpunit": "~7.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Stevebauman\\Purify\\PurifyServiceProvider" + ], + "aliases": { + "Purify": "Stevebauman\\Purify\\Facades\\Purify" + } + } + }, + "autoload": { + "psr-4": { + "Stevebauman\\Purify\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Steve Bauman", + "email": "steven_bauman@outlook.com" + } + ], + "description": "An HTML Purifier / Sanitizer for Laravel", + "keywords": [ + "Purifier", + "clean", + "cleaner", + "html", + "laravel", + "purification", + "purify" + ], + "support": { + "issues": "https://github.com/stevebauman/purify/issues", + "source": "https://github.com/stevebauman/purify/tree/v4.0.0" + }, + "time": "2021-01-07T22:44:04+00:00" + }, + { + "name": "swiftmailer/swiftmailer", + "version": "v6.2.7", + "source": { + "type": "git", + "url": "https://github.com/swiftmailer/swiftmailer.git", + "reference": "15f7faf8508e04471f666633addacf54c0ab5933" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/15f7faf8508e04471f666633addacf54c0ab5933", + "reference": "15f7faf8508e04471f666633addacf54c0ab5933", + "shasum": "" + }, + "require": { + "egulias/email-validator": "^2.0|^3.1", + "php": ">=7.0.0", + "symfony/polyfill-iconv": "^1.0", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^1.0", + "symfony/phpunit-bridge": "^4.4|^5.0" + }, + "suggest": { + "ext-intl": "Needed to support internationalized email addresses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.2-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": "https://swiftmailer.symfony.com", + "keywords": [ + "email", + "mail", + "mailer" + ], + "support": { + "issues": "https://github.com/swiftmailer/swiftmailer/issues", + "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.2.7" + }, + "funding": [ + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/swiftmailer/swiftmailer", + "type": "tidelift" + } + ], + "time": "2021-03-09T12:30:35+00:00" + }, + { + "name": "symfony/console", + "version": "v5.3.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "51b71afd6d2dc8f5063199357b9880cea8d8bfe2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/51b71afd6d2dc8f5063199357b9880cea8d8bfe2", + "reference": "51b71afd6d2dc8f5063199357b9880cea8d8bfe2", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "^1.8", + "symfony/polyfill-php80": "^1.16", + "symfony/service-contracts": "^1.1|^2", + "symfony/string": "^5.1" + }, + "conflict": { + "psr/log": ">=3", + "symfony/dependency-injection": "<4.4", + "symfony/dotenv": "<5.1", + "symfony/event-dispatcher": "<4.4", + "symfony/lock": "<4.4", + "symfony/process": "<4.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0" + }, + "require-dev": { + "psr/log": "^1|^2", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/event-dispatcher": "^4.4|^5.0", + "symfony/lock": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "symfony/var-dumper": "^4.4|^5.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "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": "Eases the creation of beautiful and testable command line interfaces", + "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v5.3.6" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-07-27T19:10:22+00:00" + }, + { + "name": "symfony/css-selector", + "version": "v5.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/css-selector.git", + "reference": "7fb120adc7f600a59027775b224c13a33530dd90" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/7fb120adc7f600a59027775b224c13a33530dd90", + "reference": "7fb120adc7f600a59027775b224c13a33530dd90", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.16" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\CssSelector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Converts CSS selectors to XPath expressions", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/css-selector/tree/v5.3.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-07-21T12:38:00+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v2.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5f38c8804a9e97d23e0c8d63341088cd8a22d627", + "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.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": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v2.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-03-23T23:28:01+00:00" + }, + { + "name": "symfony/error-handler", + "version": "v5.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/error-handler.git", + "reference": "281f6c4660bcf5844bb0346fe3a4664722fe4c73" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/281f6c4660bcf5844bb0346fe3a4664722fe4c73", + "reference": "281f6c4660bcf5844bb0346fe3a4664722fe4c73", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/log": "^1|^2|^3", + "symfony/var-dumper": "^4.4|^5.0" + }, + "require-dev": { + "symfony/deprecation-contracts": "^2.1", + "symfony/http-kernel": "^4.4|^5.0", + "symfony/serializer": "^4.4|^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\ErrorHandler\\": "" + }, + "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": "Provides tools to manage errors and ease debugging PHP code", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/error-handler/tree/v5.3.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-07-23T15:55:36+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v5.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "f2fd2208157553874560f3645d4594303058c4bd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/f2fd2208157553874560f3645d4594303058c4bd", + "reference": "f2fd2208157553874560f3645d4594303058c4bd", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/event-dispatcher-contracts": "^2", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "symfony/dependency-injection": "<4.4" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "2.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/error-handler": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/service-contracts": "^1.1|^2", + "symfony/stopwatch": "^4.4|^5.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "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": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/event-dispatcher/tree/v5.3.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-07-23T15:55:36+00:00" + }, + { + "name": "symfony/event-dispatcher-contracts", + "version": "v2.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/69fee1ad2332a7cbab3aca13591953da9cdb7a11", + "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/event-dispatcher": "^1" + }, + "suggest": { + "symfony/event-dispatcher-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\EventDispatcher\\": "" + } + }, + "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": "Generic abstractions related to dispatching event", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-03-23T23:28:01+00:00" + }, + { + "name": "symfony/finder", + "version": "v5.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "17f50e06018baec41551a71a15731287dbaab186" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/17f50e06018baec41551a71a15731287dbaab186", + "reference": "17f50e06018baec41551a71a15731287dbaab186", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.16" + }, + "type": "library", + "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": "Finds files and directories via an intuitive fluent interface", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/v5.3.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-07-23T15:54:19+00:00" + }, + { + "name": "symfony/http-client-contracts", + "version": "v2.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-client-contracts.git", + "reference": "7e82f6084d7cae521a75ef2cb5c9457bbda785f4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/7e82f6084d7cae521a75ef2cb5c9457bbda785f4", + "reference": "7e82f6084d7cae521a75ef2cb5c9457bbda785f4", + "shasum": "" + }, + "require": { + "php": ">=7.2.5" + }, + "suggest": { + "symfony/http-client-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\HttpClient\\": "" + } + }, + "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": "Generic abstractions related to HTTP clients", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/http-client-contracts/tree/v2.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-04-11T23:07:08+00:00" + }, + { + "name": "symfony/http-foundation", + "version": "v5.3.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-foundation.git", + "reference": "a8388f7b7054a7401997008ce9cd8c6b0ab7ac75" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a8388f7b7054a7401997008ce9cd8c6b0ab7ac75", + "reference": "a8388f7b7054a7401997008ce9cd8c6b0ab7ac75", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php80": "^1.16" + }, + "require-dev": { + "predis/predis": "~1.0", + "symfony/cache": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/mime": "^4.4|^5.0" + }, + "suggest": { + "symfony/mime": "To use the file extension guesser" + }, + "type": "library", + "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": "Defines an object-oriented layer for the HTTP specification", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-foundation/tree/v5.3.6" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-07-27T17:08:17+00:00" + }, + { + "name": "symfony/http-kernel", + "version": "v5.3.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-kernel.git", + "reference": "60030f209018356b3b553b9dbd84ad2071c1b7e0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/60030f209018356b3b553b9dbd84ad2071c1b7e0", + "reference": "60030f209018356b3b553b9dbd84ad2071c1b7e0", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/log": "^1|^2", + "symfony/deprecation-contracts": "^2.1", + "symfony/error-handler": "^4.4|^5.0", + "symfony/event-dispatcher": "^5.0", + "symfony/http-client-contracts": "^1.1|^2", + "symfony/http-foundation": "^5.3", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-php73": "^1.9", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "symfony/browser-kit": "<4.4", + "symfony/cache": "<5.0", + "symfony/config": "<5.0", + "symfony/console": "<4.4", + "symfony/dependency-injection": "<5.3", + "symfony/doctrine-bridge": "<5.0", + "symfony/form": "<5.0", + "symfony/http-client": "<5.0", + "symfony/mailer": "<5.0", + "symfony/messenger": "<5.0", + "symfony/translation": "<5.0", + "symfony/twig-bridge": "<5.0", + "symfony/validator": "<5.0", + "twig/twig": "<2.13" + }, + "provide": { + "psr/log-implementation": "1.0|2.0" + }, + "require-dev": { + "psr/cache": "^1.0|^2.0|^3.0", + "symfony/browser-kit": "^4.4|^5.0", + "symfony/config": "^5.0", + "symfony/console": "^4.4|^5.0", + "symfony/css-selector": "^4.4|^5.0", + "symfony/dependency-injection": "^5.3", + "symfony/dom-crawler": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "symfony/routing": "^4.4|^5.0", + "symfony/stopwatch": "^4.4|^5.0", + "symfony/translation": "^4.4|^5.0", + "symfony/translation-contracts": "^1.1|^2", + "twig/twig": "^2.13|^3.0.4" + }, + "suggest": { + "symfony/browser-kit": "", + "symfony/config": "", + "symfony/console": "", + "symfony/dependency-injection": "" + }, + "type": "library", + "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": "Provides a structured process for converting a Request into a Response", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-kernel/tree/v5.3.6" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-07-29T07:06:27+00:00" + }, + { + "name": "symfony/mime", + "version": "v5.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/mime.git", + "reference": "633e4e8afe9e529e5599d71238849a4218dd497b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mime/zipball/633e4e8afe9e529e5599d71238849a4218dd497b", + "reference": "633e4e8afe9e529e5599d71238849a4218dd497b", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "egulias/email-validator": "~3.0.0", + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/mailer": "<4.4" + }, + "require-dev": { + "egulias/email-validator": "^2.1.10|^3.1", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/property-access": "^4.4|^5.1", + "symfony/property-info": "^4.4|^5.1", + "symfony/serializer": "^5.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Mime\\": "" + }, + "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": "Allows manipulating MIME messages", + "homepage": "https://symfony.com", + "keywords": [ + "mime", + "mime-type" + ], + "support": { + "source": "https://github.com/symfony/mime/tree/v5.3.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-07-21T12:40:44+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.23.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/46cd95797e9df938fdd2b03693b5fca5e64b01ce", + "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.23.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-02-19T12:13:01+00:00" + }, + { + "name": "symfony/polyfill-iconv", + "version": "v1.23.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-iconv.git", + "reference": "63b5bb7db83e5673936d6e3b8b3e022ff6474933" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/63b5bb7db83e5673936d6e3b8b3e022ff6474933", + "reference": "63b5bb7db83e5673936d6e3b8b3e022ff6474933", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-iconv": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Iconv\\": "" + }, + "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 Iconv extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "iconv", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.23.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-05-27T09:27:20+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.23.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "16880ba9c5ebe3642d1995ab866db29270b36535" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/16880ba9c5ebe3642d1995ab866db29270b36535", + "reference": "16880ba9c5ebe3642d1995ab866db29270b36535", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + }, + "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 intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-05-27T12:26:48+00:00" + }, + { + "name": "symfony/polyfill-intl-idn", + "version": "v1.23.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "65bd267525e82759e7d8c4e8ceea44f398838e65" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/65bd267525e82759e7d8c4e8ceea44f398838e65", + "reference": "65bd267525e82759e7d8c4e8ceea44f398838e65", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "symfony/polyfill-intl-normalizer": "^1.10", + "symfony/polyfill-php72": "^1.10" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Idn\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Laurent Bassin", + "email": "laurent@bassin.info" + }, + { + "name": "Trevor Rowbotham", + "email": "trevor.rowbotham@pm.me" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "idn", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.23.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-05-27T09:27:20+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.23.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8", + "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "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 intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.23.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-02-19T12:13:01+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.23.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6", + "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "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" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-05-27T12:26:48+00:00" + }, + { + "name": "symfony/polyfill-php72", + "version": "v1.23.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "9a142215a36a3888e30d0a9eeea9766764e96976" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9a142215a36a3888e30d0a9eeea9766764e96976", + "reference": "9a142215a36a3888e30d0a9eeea9766764e96976", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php72\\": "" + }, + "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 7.2+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php72/tree/v1.23.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-05-27T09:17:38+00:00" + }, + { + "name": "symfony/polyfill-php73", + "version": "v1.23.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fba8933c384d6476ab14fb7b8526e5287ca7e010", + "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "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 7.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php73/tree/v1.23.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-02-19T12:13:01+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.23.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be", + "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-07-28T13:41:28+00:00" + }, + { + "name": "symfony/polyfill-php81", + "version": "v1.23.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php81.git", + "reference": "e66119f3de95efc359483f810c4c3e6436279436" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/e66119f3de95efc359483f810c4c3e6436279436", + "reference": "e66119f3de95efc359483f810c4c3e6436279436", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php81\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "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 8.1+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php81/tree/v1.23.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-05-21T13:25:03+00:00" + }, + { + "name": "symfony/process", + "version": "v5.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "d16634ee55b895bd85ec714dadc58e4428ecf030" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/d16634ee55b895bd85ec714dadc58e4428ecf030", + "reference": "d16634ee55b895bd85ec714dadc58e4428ecf030", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.16" + }, + "type": "library", + "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": "Executes commands in sub-processes", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/process/tree/v5.3.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-07-23T15:54:19+00:00" + }, + { + "name": "symfony/routing", + "version": "v5.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/routing.git", + "reference": "0a35d2f57d73c46ab6d042ced783b81d09a624c4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/routing/zipball/0a35d2f57d73c46ab6d042ced783b81d09a624c4", + "reference": "0a35d2f57d73c46ab6d042ced783b81d09a624c4", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "doctrine/annotations": "<1.12", + "symfony/config": "<5.3", + "symfony/dependency-injection": "<4.4", + "symfony/yaml": "<4.4" + }, + "require-dev": { + "doctrine/annotations": "^1.12", + "psr/log": "^1|^2|^3", + "symfony/config": "^5.3", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/yaml": "^4.4|^5.0" + }, + "suggest": { + "symfony/config": "For using the all-in-one router or any loader", + "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", + "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": "Maps an HTTP request to a set of configuration variables", + "homepage": "https://symfony.com", + "keywords": [ + "router", + "routing", + "uri", + "url" + ], + "support": { + "source": "https://github.com/symfony/routing/tree/v5.3.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-07-23T15:55:36+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v2.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb", + "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/container": "^1.1" + }, + "suggest": { + "symfony/service-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + } + }, + "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": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/v2.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-04-01T10:43:52+00:00" + }, + { + "name": "symfony/string", + "version": "v5.3.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1", + "reference": "bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "~1.15" + }, + "require-dev": { + "symfony/error-handler": "^4.4|^5.0", + "symfony/http-client": "^4.4|^5.0", + "symfony/translation-contracts": "^1.1|^2", + "symfony/var-exporter": "^4.4|^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "files": [ + "Resources/functions.php" + ], + "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": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/v5.3.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-06-27T11:44:38+00:00" + }, + { + "name": "symfony/translation", + "version": "v5.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "d89ad7292932c2699cbe4af98d72c5c6bbc504c1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/d89ad7292932c2699cbe4af98d72c5c6bbc504c1", + "reference": "d89ad7292932c2699cbe4af98d72c5c6bbc504c1", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.16", + "symfony/translation-contracts": "^2.3" + }, + "conflict": { + "symfony/config": "<4.4", + "symfony/dependency-injection": "<5.0", + "symfony/http-kernel": "<5.0", + "symfony/twig-bundle": "<5.0", + "symfony/yaml": "<4.4" + }, + "provide": { + "symfony/translation-implementation": "2.3" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^4.4|^5.0", + "symfony/console": "^4.4|^5.0", + "symfony/dependency-injection": "^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/http-kernel": "^5.0", + "symfony/intl": "^4.4|^5.0", + "symfony/polyfill-intl-icu": "^1.21", + "symfony/service-contracts": "^1.1.2|^2", + "symfony/yaml": "^4.4|^5.0" + }, + "suggest": { + "psr/log-implementation": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "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": "Provides tools to internationalize your application", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/translation/tree/v5.3.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-07-25T09:39:16+00:00" + }, + { + "name": "symfony/translation-contracts", + "version": "v2.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation-contracts.git", + "reference": "95c812666f3e91db75385749fe219c5e494c7f95" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/95c812666f3e91db75385749fe219c5e494c7f95", + "reference": "95c812666f3e91db75385749fe219c5e494c7f95", + "shasum": "" + }, + "require": { + "php": ">=7.2.5" + }, + "suggest": { + "symfony/translation-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Translation\\": "" + } + }, + "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": "Generic abstractions related to translation", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/translation-contracts/tree/v2.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-03-23T23:28:01+00:00" + }, + { + "name": "symfony/var-dumper", + "version": "v5.3.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "3dd8ddd1e260e58ecc61bb78da3b6584b3bfcba0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/3dd8ddd1e260e58ecc61bb78da3b6584b3bfcba0", + "reference": "3dd8ddd1e260e58ecc61bb78da3b6584b3bfcba0", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "phpunit/phpunit": "<5.4.3", + "symfony/console": "<4.4" + }, + "require-dev": { + "ext-iconv": "*", + "symfony/console": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "twig/twig": "^2.13|^3.0.4" + }, + "suggest": { + "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", + "ext-intl": "To show region name in time zone dump", + "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" + }, + "bin": [ + "Resources/bin/var-dump-server" + ], + "type": "library", + "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": "Provides mechanisms for walking through any arbitrary PHP variable", + "homepage": "https://symfony.com", + "keywords": [ + "debug", + "dump" + ], + "support": { + "source": "https://github.com/symfony/var-dumper/tree/v5.3.6" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-07-27T01:56:02+00:00" + }, + { + "name": "tijsverkoyen/css-to-inline-styles", + "version": "2.2.3", + "source": { + "type": "git", + "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", + "reference": "b43b05cf43c1b6d849478965062b6ef73e223bb5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/b43b05cf43c1b6d849478965062b6ef73e223bb5", + "reference": "b43b05cf43c1b6d849478965062b6ef73e223bb5", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "php": "^5.5 || ^7.0 || ^8.0", + "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "TijsVerkoyen\\CssToInlineStyles\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Tijs Verkoyen", + "email": "css_to_inline_styles@verkoyen.eu", + "role": "Developer" + } + ], + "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", + "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", + "support": { + "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", + "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.3" + }, + "time": "2020-07-13T06:12:54+00:00" + }, + { + "name": "vlucas/phpdotenv", + "version": "v5.3.0", + "source": { + "type": "git", + "url": "https://github.com/vlucas/phpdotenv.git", + "reference": "b3eac5c7ac896e52deab4a99068e3f4ab12d9e56" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/b3eac5c7ac896e52deab4a99068e3f4ab12d9e56", + "reference": "b3eac5c7ac896e52deab4a99068e3f4ab12d9e56", + "shasum": "" + }, + "require": { + "ext-pcre": "*", + "graham-campbell/result-type": "^1.0.1", + "php": "^7.1.3 || ^8.0", + "phpoption/phpoption": "^1.7.4", + "symfony/polyfill-ctype": "^1.17", + "symfony/polyfill-mbstring": "^1.17", + "symfony/polyfill-php80": "^1.17" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", + "ext-filter": "*", + "phpunit/phpunit": "^7.5.20 || ^8.5.14 || ^9.5.1" + }, + "suggest": { + "ext-filter": "Required to use the boolean validator." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.3-dev" + } + }, + "autoload": { + "psr-4": { + "Dotenv\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "graham@alt-three.com", + "homepage": "https://gjcampbell.co.uk/" + }, + { + "name": "Vance Lucas", + "email": "vance@vancelucas.com", + "homepage": "https://vancelucas.com/" + } + ], + "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", + "keywords": [ + "dotenv", + "env", + "environment" + ], + "support": { + "issues": "https://github.com/vlucas/phpdotenv/issues", + "source": "https://github.com/vlucas/phpdotenv/tree/v5.3.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv", + "type": "tidelift" + } + ], + "time": "2021-01-20T15:23:13+00:00" + }, + { + "name": "voku/portable-ascii", + "version": "1.5.6", + "source": { + "type": "git", + "url": "https://github.com/voku/portable-ascii.git", + "reference": "80953678b19901e5165c56752d087fc11526017c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/80953678b19901e5165c56752d087fc11526017c", + "reference": "80953678b19901e5165c56752d087fc11526017c", + "shasum": "" + }, + "require": { + "php": ">=7.0.0" + }, + "require-dev": { + "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" + }, + "suggest": { + "ext-intl": "Use Intl for transliterator_transliterate() support" + }, + "type": "library", + "autoload": { + "psr-4": { + "voku\\": "src/voku/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Lars Moelleken", + "homepage": "http://www.moelleken.org/" + } + ], + "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", + "homepage": "https://github.com/voku/portable-ascii", + "keywords": [ + "ascii", + "clean", + "php" + ], + "support": { + "issues": "https://github.com/voku/portable-ascii/issues", + "source": "https://github.com/voku/portable-ascii/tree/1.5.6" + }, + "funding": [ + { + "url": "https://www.paypal.me/moelleken", + "type": "custom" + }, + { + "url": "https://github.com/voku", + "type": "github" + }, + { + "url": "https://opencollective.com/portable-ascii", + "type": "open_collective" + }, + { + "url": "https://www.patreon.com/voku", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", + "type": "tidelift" + } + ], + "time": "2020-11-12T00:07:28+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.10.0", + "source": { + "type": "git", + "url": "https://github.com/webmozarts/assert.git", + "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/6964c76c7804814a842473e0c8fd15bab0f18e25", + "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<4.6.1 || 4.6.2" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.13" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-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" + ], + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.10.0" + }, + "time": "2021-03-09T10:59:23+00:00" + } + ], + "packages-dev": [ + { + "name": "barryvdh/laravel-debugbar", + "version": "v3.6.2", + "source": { + "type": "git", + "url": "https://github.com/barryvdh/laravel-debugbar.git", + "reference": "70b89754913fd89fef16d0170a91dbc2a5cd633a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/70b89754913fd89fef16d0170a91dbc2a5cd633a", + "reference": "70b89754913fd89fef16d0170a91dbc2a5cd633a", + "shasum": "" + }, + "require": { + "illuminate/routing": "^6|^7|^8", + "illuminate/session": "^6|^7|^8", + "illuminate/support": "^6|^7|^8", + "maximebf/debugbar": "^1.16.3", + "php": ">=7.2", + "symfony/debug": "^4.3|^5", + "symfony/finder": "^4.3|^5" + }, + "require-dev": { + "mockery/mockery": "^1.3.3", + "orchestra/testbench-dusk": "^4|^5|^6", + "phpunit/phpunit": "^8.5|^9.0", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.5-dev" + }, + "laravel": { + "providers": [ + "Barryvdh\\Debugbar\\ServiceProvider" + ], + "aliases": { + "Debugbar": "Barryvdh\\Debugbar\\Facade" + } + } + }, + "autoload": { + "psr-4": { + "Barryvdh\\Debugbar\\": "src/" + }, + "files": [ + "src/helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" + } + ], + "description": "PHP Debugbar integration for Laravel", + "keywords": [ + "debug", + "debugbar", + "laravel", + "profiler", + "webprofiler" + ], + "support": { + "issues": "https://github.com/barryvdh/laravel-debugbar/issues", + "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.6.2" + }, + "funding": [ + { + "url": "https://fruitcake.nl", + "type": "custom" + }, + { + "url": "https://github.com/barryvdh", + "type": "github" + } + ], + "time": "2021-06-14T14:29:26+00:00" + }, + { + "name": "doctrine/instantiator", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b", + "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^8.0", + "ext-pdo": "*", + "ext-phar": "*", + "phpbench/phpbench": "^0.13 || 1.0.0-alpha2", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + }, + "type": "library", + "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": "https://ocramius.github.io/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://www.doctrine-project.org/projects/instantiator.html", + "keywords": [ + "constructor", + "instantiate" + ], + "support": { + "issues": "https://github.com/doctrine/instantiator/issues", + "source": "https://github.com/doctrine/instantiator/tree/1.4.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", + "type": "tidelift" + } + ], + "time": "2020-11-10T18:47:58+00:00" + }, + { + "name": "facade/flare-client-php", + "version": "1.8.1", + "source": { + "type": "git", + "url": "https://github.com/facade/flare-client-php.git", + "reference": "47b639dc02bcfdfc4ebb83de703856fa01e35f5f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/facade/flare-client-php/zipball/47b639dc02bcfdfc4ebb83de703856fa01e35f5f", + "reference": "47b639dc02bcfdfc4ebb83de703856fa01e35f5f", + "shasum": "" + }, + "require": { + "facade/ignition-contracts": "~1.0", + "illuminate/pipeline": "^5.5|^6.0|^7.0|^8.0", + "php": "^7.1|^8.0", + "symfony/http-foundation": "^3.3|^4.1|^5.0", + "symfony/mime": "^3.4|^4.0|^5.1", + "symfony/var-dumper": "^3.4|^4.0|^5.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.14", + "phpunit/phpunit": "^7.5.16", + "spatie/phpunit-snapshot-assertions": "^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Facade\\FlareClient\\": "src" + }, + "files": [ + "src/helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Send PHP errors to Flare", + "homepage": "https://github.com/facade/flare-client-php", + "keywords": [ + "exception", + "facade", + "flare", + "reporting" + ], + "support": { + "issues": "https://github.com/facade/flare-client-php/issues", + "source": "https://github.com/facade/flare-client-php/tree/1.8.1" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2021-05-31T19:23:29+00:00" + }, + { + "name": "facade/ignition", + "version": "2.11.2", + "source": { + "type": "git", + "url": "https://github.com/facade/ignition.git", + "reference": "7c4e7a7da184cd00c7ce6eacc590200bb9672de7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/facade/ignition/zipball/7c4e7a7da184cd00c7ce6eacc590200bb9672de7", + "reference": "7c4e7a7da184cd00c7ce6eacc590200bb9672de7", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "facade/flare-client-php": "^1.6", + "facade/ignition-contracts": "^1.0.2", + "illuminate/support": "^7.0|^8.0", + "monolog/monolog": "^2.0", + "php": "^7.2.5|^8.0", + "symfony/console": "^5.0", + "symfony/var-dumper": "^5.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.14", + "mockery/mockery": "^1.3", + "orchestra/testbench": "^5.0|^6.0", + "psalm/plugin-laravel": "^1.2" + }, + "suggest": { + "laravel/telescope": "^3.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + }, + "laravel": { + "providers": [ + "Facade\\Ignition\\IgnitionServiceProvider" + ], + "aliases": { + "Flare": "Facade\\Ignition\\Facades\\Flare" + } + } + }, + "autoload": { + "psr-4": { + "Facade\\Ignition\\": "src" + }, + "files": [ + "src/helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A beautiful error page for Laravel applications.", + "homepage": "https://github.com/facade/ignition", + "keywords": [ + "error", + "flare", + "laravel", + "page" + ], + "support": { + "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", + "forum": "https://twitter.com/flareappio", + "issues": "https://github.com/facade/ignition/issues", + "source": "https://github.com/facade/ignition" + }, + "time": "2021-07-20T14:01:22+00:00" + }, + { + "name": "facade/ignition-contracts", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/facade/ignition-contracts.git", + "reference": "3c921a1cdba35b68a7f0ccffc6dffc1995b18267" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/facade/ignition-contracts/zipball/3c921a1cdba35b68a7f0ccffc6dffc1995b18267", + "reference": "3c921a1cdba35b68a7f0ccffc6dffc1995b18267", + "shasum": "" + }, + "require": { + "php": "^7.3|^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^v2.15.8", + "phpunit/phpunit": "^9.3.11", + "vimeo/psalm": "^3.17.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Facade\\IgnitionContracts\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://flareapp.io", + "role": "Developer" + } + ], + "description": "Solution contracts for Ignition", + "homepage": "https://github.com/facade/ignition-contracts", + "keywords": [ + "contracts", + "flare", + "ignition" + ], + "support": { + "issues": "https://github.com/facade/ignition-contracts/issues", + "source": "https://github.com/facade/ignition-contracts/tree/1.0.2" + }, + "time": "2020-10-16T08:27:54+00:00" + }, + { + "name": "fakerphp/faker", + "version": "v1.15.0", + "source": { + "type": "git", + "url": "https://github.com/FakerPHP/Faker.git", + "reference": "89c6201c74db25fa759ff16e78a4d8f32547770e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/89c6201c74db25fa759ff16e78a4d8f32547770e", + "reference": "89c6201c74db25fa759ff16e78a4d8f32547770e", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0", + "psr/container": "^1.0", + "symfony/deprecation-contracts": "^2.2" + }, + "conflict": { + "fzaninotto/faker": "*" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", + "ext-intl": "*", + "symfony/phpunit-bridge": "^4.4 || ^5.2" + }, + "suggest": { + "ext-curl": "Required by Faker\\Provider\\Image to download images.", + "ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.", + "ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.", + "ext-mbstring": "Required for multibyte Unicode string functionality." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "v1.15-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" + ], + "support": { + "issues": "https://github.com/FakerPHP/Faker/issues", + "source": "https://github.com/FakerPHP/Faker/tree/v1.15.0" + }, + "time": "2021-07-06T20:39:40+00:00" + }, + { + "name": "filp/whoops", + "version": "2.14.0", + "source": { + "type": "git", + "url": "https://github.com/filp/whoops.git", + "reference": "fdf92f03e150ed84d5967a833ae93abffac0315b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filp/whoops/zipball/fdf92f03e150ed84d5967a833ae93abffac0315b", + "reference": "fdf92f03e150ed84d5967a833ae93abffac0315b", + "shasum": "" + }, + "require": { + "php": "^5.5.9 || ^7.0 || ^8.0", + "psr/log": "^1.0.1" + }, + "require-dev": { + "mockery/mockery": "^0.9 || ^1.0", + "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3", + "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0" + }, + "suggest": { + "symfony/var-dumper": "Pretty print complex values better with var-dumper available", + "whoops/soap": "Formats errors as SOAP responses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Whoops\\": "src/Whoops/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Filipe Dobreira", + "homepage": "https://github.com/filp", + "role": "Developer" + } + ], + "description": "php error handling for cool kids", + "homepage": "https://filp.github.io/whoops/", + "keywords": [ + "error", + "exception", + "handling", + "library", + "throwable", + "whoops" + ], + "support": { + "issues": "https://github.com/filp/whoops/issues", + "source": "https://github.com/filp/whoops/tree/2.14.0" + }, + "funding": [ + { + "url": "https://github.com/denis-sokolov", + "type": "github" + } + ], + "time": "2021-07-13T12:00:00+00:00" + }, + { + "name": "hamcrest/hamcrest-php", + "version": "v2.0.1", + "source": { + "type": "git", + "url": "https://github.com/hamcrest/hamcrest-php.git", + "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "shasum": "" + }, + "require": { + "php": "^5.3|^7.0|^8.0" + }, + "replace": { + "cordoval/hamcrest-php": "*", + "davedevelopment/hamcrest-php": "*", + "kodova/hamcrest-php": "*" + }, + "require-dev": { + "phpunit/php-file-iterator": "^1.4 || ^2.0", + "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1-dev" + } + }, + "autoload": { + "classmap": [ + "hamcrest" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "This is the PHP port of Hamcrest Matchers", + "keywords": [ + "test" + ], + "support": { + "issues": "https://github.com/hamcrest/hamcrest-php/issues", + "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1" + }, + "time": "2020-07-09T08:09:16+00:00" + }, + { + "name": "laravel/sail", + "version": "v1.9.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/sail.git", + "reference": "3e1aa8679b10ae9210eebfbc2ee5f3600f356702" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/sail/zipball/3e1aa8679b10ae9210eebfbc2ee5f3600f356702", + "reference": "3e1aa8679b10ae9210eebfbc2ee5f3600f356702", + "shasum": "" + }, + "require": { + "illuminate/console": "^8.0|^9.0", + "illuminate/contracts": "^8.0|^9.0", + "illuminate/support": "^8.0|^9.0", + "php": "^7.3|^8.0" + }, + "bin": [ + "bin/sail" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, + "laravel": { + "providers": [ + "Laravel\\Sail\\SailServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Sail\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Docker files for running a basic Laravel application.", + "keywords": [ + "docker", + "laravel" + ], + "support": { + "issues": "https://github.com/laravel/sail/issues", + "source": "https://github.com/laravel/sail" + }, + "time": "2021-08-03T18:51:44+00:00" + }, + { + "name": "laravel/ui", + "version": "v3.3.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/ui.git", + "reference": "07d725813350c695c779382cbd6dac0ab8665537" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/ui/zipball/07d725813350c695c779382cbd6dac0ab8665537", + "reference": "07d725813350c695c779382cbd6dac0ab8665537", + "shasum": "" + }, + "require": { + "illuminate/console": "^8.42", + "illuminate/filesystem": "^8.42", + "illuminate/support": "^8.42", + "illuminate/validation": "^8.42", + "php": "^7.3|^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + }, + "laravel": { + "providers": [ + "Laravel\\Ui\\UiServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Ui\\": "src/", + "Illuminate\\Foundation\\Auth\\": "auth-backend/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Laravel UI utilities and presets.", + "keywords": [ + "laravel", + "ui" + ], + "support": { + "source": "https://github.com/laravel/ui/tree/v3.3.0" + }, + "time": "2021-05-25T16:45:33+00:00" + }, + { + "name": "maximebf/debugbar", + "version": "v1.17.1", + "source": { + "type": "git", + "url": "https://github.com/maximebf/php-debugbar.git", + "reference": "0a3532556be0145603f8a9de23e76dc28eed7054" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/0a3532556be0145603f8a9de23e76dc28eed7054", + "reference": "0a3532556be0145603f8a9de23e76dc28eed7054", + "shasum": "" + }, + "require": { + "php": "^7.1|^8", + "psr/log": "^1.0", + "symfony/var-dumper": "^2.6|^3|^4|^5" + }, + "require-dev": { + "phpunit/phpunit": "^7.5.20 || ^9.4.2" + }, + "suggest": { + "kriswallsmith/assetic": "The best way to manage assets", + "monolog/monolog": "Log using Monolog", + "predis/predis": "Redis storage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.17-dev" + } + }, + "autoload": { + "psr-4": { + "DebugBar\\": "src/DebugBar/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Maxime Bouroumeau-Fuseau", + "email": "maxime.bouroumeau@gmail.com", + "homepage": "http://maximebf.com" + }, + { + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" + } + ], + "description": "Debug bar in the browser for php application", + "homepage": "https://github.com/maximebf/php-debugbar", + "keywords": [ + "debug", + "debugbar" + ], + "support": { + "issues": "https://github.com/maximebf/php-debugbar/issues", + "source": "https://github.com/maximebf/php-debugbar/tree/v1.17.1" + }, + "time": "2021-08-01T09:19:02+00:00" + }, + { + "name": "mockery/mockery", + "version": "1.4.3", + "source": { + "type": "git", + "url": "https://github.com/mockery/mockery.git", + "reference": "d1339f64479af1bee0e82a0413813fe5345a54ea" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mockery/mockery/zipball/d1339f64479af1bee0e82a0413813fe5345a54ea", + "reference": "d1339f64479af1bee0e82a0413813fe5345a54ea", + "shasum": "" + }, + "require": { + "hamcrest/hamcrest-php": "^2.0.1", + "lib-pcre": ">=7.0", + "php": "^7.3 || ^8.0" + }, + "conflict": { + "phpunit/phpunit": "<8.0" + }, + "require-dev": { + "phpunit/phpunit": "^8.5 || ^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4.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", + "homepage": "https://github.com/mockery/mockery", + "keywords": [ + "BDD", + "TDD", + "library", + "mock", + "mock objects", + "mockery", + "stub", + "test", + "test double", + "testing" + ], + "support": { + "issues": "https://github.com/mockery/mockery/issues", + "source": "https://github.com/mockery/mockery/tree/1.4.3" + }, + "time": "2021-02-24T09:51:49+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.10.2", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220", + "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "replace": { + "myclabs/deep-copy": "self.version" + }, + "require-dev": { + "doctrine/collections": "^1.0", + "doctrine/common": "^2.6", + "phpunit/phpunit": "^7.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + }, + "files": [ + "src/DeepCopy/deep_copy.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.10.2" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2020-11-13T09:40:50+00:00" + }, + { + "name": "nunomaduro/collision", + "version": "v5.8.0", + "source": { + "type": "git", + "url": "https://github.com/nunomaduro/collision.git", + "reference": "0c3c393462eada1233513664e2d22bb9f69ca393" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/0c3c393462eada1233513664e2d22bb9f69ca393", + "reference": "0c3c393462eada1233513664e2d22bb9f69ca393", + "shasum": "" + }, + "require": { + "facade/ignition-contracts": "^1.0", + "filp/whoops": "^2.7.2", + "php": "^7.3 || ^8.0", + "symfony/console": "^5.0" + }, + "require-dev": { + "brianium/paratest": "^6.1", + "fideloper/proxy": "^4.4.1", + "friendsofphp/php-cs-fixer": "^3.0", + "fruitcake/laravel-cors": "^2.0.3", + "laravel/framework": "^8.0 || ^9.0", + "nunomaduro/larastan": "^0.6.2", + "nunomaduro/mock-final-classes": "^1.0", + "orchestra/testbench": "^6.0 || ^7.0", + "phpstan/phpstan": "^0.12.64", + "phpunit/phpunit": "^9.5.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "NunoMaduro\\Collision\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "Cli error handling for console/command-line PHP applications.", + "keywords": [ + "artisan", + "cli", + "command-line", + "console", + "error", + "handling", + "laravel", + "laravel-zero", + "php", + "symfony" + ], + "support": { + "issues": "https://github.com/nunomaduro/collision/issues", + "source": "https://github.com/nunomaduro/collision" + }, + "funding": [ + { + "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://www.patreon.com/nunomaduro", + "type": "patreon" + } + ], + "time": "2021-08-13T14:23:01+00:00" + }, + { + "name": "phar-io/manifest", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-phar": "*", + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "support": { + "issues": "https://github.com/phar-io/manifest/issues", + "source": "https://github.com/phar-io/manifest/tree/2.0.3" + }, + "time": "2021-07-20T11:28:43+00:00" + }, + { + "name": "phar-io/version", + "version": "3.1.0", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "bae7c545bef187884426f042434e561ab1ddb182" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/bae7c545bef187884426f042434e561ab1ddb182", + "reference": "bae7c545bef187884426f042434e561ab1ddb182", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Library for handling version information and constraints", + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/3.1.0" + }, + "time": "2021-02-23T14:00:09+00:00" + }, + { + "name": "phpdocumentor/reflection-common", + "version": "2.2.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-2.x": "2.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" + ], + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", + "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" + }, + "time": "2020-06-27T09:03:43+00:00" + }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "5.2.2", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556", + "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556", + "shasum": "" + }, + "require": { + "ext-filter": "*", + "php": "^7.2 || ^8.0", + "phpdocumentor/reflection-common": "^2.2", + "phpdocumentor/type-resolver": "^1.3", + "webmozart/assert": "^1.9.1" + }, + "require-dev": { + "mockery/mockery": "~1.3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.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" + }, + { + "name": "Jaap van Otterdijk", + "email": "account@ijaap.nl" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master" + }, + "time": "2020-09-03T19:13:55+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", + "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0", + "phpdocumentor/reflection-common": "^2.0" + }, + "require-dev": { + "ext-tokenizer": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-1.x": "1.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" + } + ], + "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", + "support": { + "issues": "https://github.com/phpDocumentor/TypeResolver/issues", + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.4.0" + }, + "time": "2020-09-17T18:55:26+00:00" + }, + { + "name": "phpspec/prophecy", + "version": "1.13.0", + "source": { + "type": "git", + "url": "https://github.com/phpspec/prophecy.git", + "reference": "be1996ed8adc35c3fd795488a653f4b518be70ea" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/be1996ed8adc35c3fd795488a653f4b518be70ea", + "reference": "be1996ed8adc35c3fd795488a653f4b518be70ea", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.2", + "php": "^7.2 || ~8.0, <8.1", + "phpdocumentor/reflection-docblock": "^5.2", + "sebastian/comparator": "^3.0 || ^4.0", + "sebastian/recursion-context": "^3.0 || ^4.0" + }, + "require-dev": { + "phpspec/phpspec": "^6.0", + "phpunit/phpunit": "^8.0 || ^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.11.x-dev" + } + }, + "autoload": { + "psr-4": { + "Prophecy\\": "src/Prophecy" + } + }, + "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" + ], + "support": { + "issues": "https://github.com/phpspec/prophecy/issues", + "source": "https://github.com/phpspec/prophecy/tree/1.13.0" + }, + "time": "2021-03-17T13:42:18+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "9.2.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "f6293e1b30a2354e8428e004689671b83871edde" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f6293e1b30a2354e8428e004689671b83871edde", + "reference": "f6293e1b30a2354e8428e004689671b83871edde", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-xmlwriter": "*", + "nikic/php-parser": "^4.10.2", + "php": ">=7.3", + "phpunit/php-file-iterator": "^3.0.3", + "phpunit/php-text-template": "^2.0.2", + "sebastian/code-unit-reverse-lookup": "^2.0.2", + "sebastian/complexity": "^2.0", + "sebastian/environment": "^5.1.2", + "sebastian/lines-of-code": "^1.0.3", + "sebastian/version": "^3.0.1", + "theseer/tokenizer": "^1.2.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcov": "*", + "ext-xdebug": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.2-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": "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" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.6" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2021-03-28T07:26:59+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "3.0.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/aa4be8575f26070b100fccb67faabb28f21f66f8", + "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-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": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:57:25+00:00" + }, + { + "name": "phpunit/php-invoker", + "version": "3.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcntl": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-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": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", + "keywords": [ + "process" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:58:55+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-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": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T05:33:50+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "5.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-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": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:16:10+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "9.5.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "191768ccd5c85513b4068bdbe99bb6390c7d54fb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/191768ccd5c85513b4068bdbe99bb6390c7d54fb", + "reference": "191768ccd5c85513b4068bdbe99bb6390c7d54fb", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.3.1", + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.10.1", + "phar-io/manifest": "^2.0.3", + "phar-io/version": "^3.0.2", + "php": ">=7.3", + "phpspec/prophecy": "^1.12.1", + "phpunit/php-code-coverage": "^9.2.3", + "phpunit/php-file-iterator": "^3.0.5", + "phpunit/php-invoker": "^3.1.1", + "phpunit/php-text-template": "^2.0.3", + "phpunit/php-timer": "^5.0.2", + "sebastian/cli-parser": "^1.0.1", + "sebastian/code-unit": "^1.0.6", + "sebastian/comparator": "^4.0.5", + "sebastian/diff": "^4.0.3", + "sebastian/environment": "^5.1.3", + "sebastian/exporter": "^4.0.3", + "sebastian/global-state": "^5.0.1", + "sebastian/object-enumerator": "^4.0.3", + "sebastian/resource-operations": "^3.0.3", + "sebastian/type": "^2.3.4", + "sebastian/version": "^3.0.2" + }, + "require-dev": { + "ext-pdo": "*", + "phpspec/prophecy-phpunit": "^2.0.1" + }, + "suggest": { + "ext-soap": "*", + "ext-xdebug": "*" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.5-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ], + "files": [ + "src/Framework/Assert/Functions.php" + ] + }, + "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" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.8" + }, + "funding": [ + { + "url": "https://phpunit.de/donate.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2021-07-31T15:17:34+00:00" + }, + { + "name": "sebastian/cli-parser", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "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", + "role": "lead" + } + ], + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "support": { + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:08:49+00:00" + }, + { + "name": "sebastian/code-unit", + "version": "1.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "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", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the PHP code units", + "homepage": "https://github.com/sebastianbergmann/code-unit", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:08:54+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:30:19+00:00" + }, + { + "name": "sebastian/comparator", + "version": "4.0.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "55f4261989e546dc112258c7a75935a81a7ce382" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382", + "reference": "55f4261989e546dc112258c7a75935a81a7ce382", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/diff": "^4.0", + "sebastian/exporter": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T15:49:45+00:00" + }, + { + "name": "sebastian/complexity", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.7", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-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": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "support": { + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T15:52:27+00:00" + }, + { + "name": "sebastian/diff", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3", + "symfony/process": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:10:38+00:00" + }, + { + "name": "sebastian/environment", + "version": "5.1.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "388b6ced16caa751030f6a69e588299fa09200ac" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/388b6ced16caa751030f6a69e588299fa09200ac", + "reference": "388b6ced16caa751030f6a69e588299fa09200ac", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-posix": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.1-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" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "source": "https://github.com/sebastianbergmann/environment/tree/5.1.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:52:38+00:00" + }, + { + "name": "sebastian/exporter", + "version": "4.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/d89cc98761b8cb5a1a235a6b703ae50d34080e65", + "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "ext-mbstring": "*", + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "http://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:24:23+00:00" + }, + { + "name": "sebastian/global-state", + "version": "5.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "23bd5951f7ff26f12d4e3242864df3e08dec4e49" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/23bd5951f7ff26f12d4e3242864df3e08dec4e49", + "reference": "23bd5951f7ff26f12d4e3242864df3e08dec4e49", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "ext-dom": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-uopz": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.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" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2021-06-11T13:31:12+00:00" + }, + { + "name": "sebastian/lines-of-code", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.6", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "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", + "role": "lead" + } + ], + "description": "Library for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "support": { + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-28T06:42:11+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:12:34+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:14:26+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172", + "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "support": { + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:17:30+00:00" + }, + { + "name": "sebastian/resource-operations", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "support": { + "issues": "https://github.com/sebastianbergmann/resource-operations/issues", + "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:45:17+00:00" + }, + { + "name": "sebastian/type", + "version": "2.3.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "b8cd8a1c753c90bc1a0f5372170e3e489136f914" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b8cd8a1c753c90bc1a0f5372170e3e489136f914", + "reference": "b8cd8a1c753c90bc1a0f5372170e3e489136f914", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3-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": "Collection of value objects that represent the types of the PHP type system", + "homepage": "https://github.com/sebastianbergmann/type", + "support": { + "issues": "https://github.com/sebastianbergmann/type/issues", + "source": "https://github.com/sebastianbergmann/type/tree/2.3.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2021-06-15T12:49:02+00:00" + }, + { + "name": "sebastian/version", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "c6c1022351a901512170118436c764e473f6de8c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", + "reference": "c6c1022351a901512170118436c764e473f6de8c", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-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": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "support": { + "issues": "https://github.com/sebastianbergmann/version/issues", + "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:39:44+00:00" + }, + { + "name": "symfony/debug", + "version": "v4.4.27", + "source": { + "type": "git", + "url": "https://github.com/symfony/debug.git", + "reference": "2f9160e92eb64c95da7368c867b663a8e34e980c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/debug/zipball/2f9160e92eb64c95da7368c867b663a8e34e980c", + "reference": "2f9160e92eb64c95da7368c867b663a8e34e980c", + "shasum": "" + }, + "require": { + "php": ">=7.1.3", + "psr/log": "^1|^2|^3" + }, + "conflict": { + "symfony/http-kernel": "<3.4" + }, + "require-dev": { + "symfony/http-kernel": "^3.4|^4.0|^5.0" + }, + "type": "library", + "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": "Provides tools to ease debugging PHP code", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/debug/tree/v4.4.27" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-07-22T07:21:39+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + } + ], + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "support": { + "issues": "https://github.com/theseer/tokenizer/issues", + "source": "https://github.com/theseer/tokenizer/tree/1.2.1" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2021-07-28T10:34:58+00:00" + } + ], + "aliases": [], + "minimum-stability": "dev", + "stability-flags": [], + "prefer-stable": true, + "prefer-lowest": false, + "platform": { + "php": "^7.3|^8.0" + }, + "platform-dev": [], + "plugin-api-version": "2.1.0" +} diff --git a/config/app.php b/config/app.php new file mode 100644 index 000000000..72c5c1c07 --- /dev/null +++ b/config/app.php @@ -0,0 +1,242 @@ + env('APP_NAME', 'Unifiedtransform'), + + /* + |-------------------------------------------------------------------------- + | Application Environment + |-------------------------------------------------------------------------- + | + | This value determines the "environment" your application is currently + | running in. This may determine how you prefer to configure various + | services the 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' => (bool) 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'), + + 'asset_url' => env('ASSET_URL', null), + + /* + |-------------------------------------------------------------------------- + | 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' => 'en', + + /* + |-------------------------------------------------------------------------- + | 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' => 'en', + + /* + |-------------------------------------------------------------------------- + | Faker Locale + |-------------------------------------------------------------------------- + | + | This locale will be used by the Faker PHP library when generating fake + | data for your database seeds. For example, this will be used to get + | localized telephone numbers, street address information and more. + | + */ + + 'faker_locale' => 'en_US', + + /* + |-------------------------------------------------------------------------- + | 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', + + /* + |-------------------------------------------------------------------------- + | 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\Notifications\NotificationServiceProvider::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, + + /* + * Package Service Providers... + */ + + /* + * Application Service Providers... + */ + App\Providers\AppServiceProvider::class, + App\Providers\AuthServiceProvider::class, + // App\Providers\BroadcastServiceProvider::class, + App\Providers\EventServiceProvider::class, + App\Providers\RouteServiceProvider::class, + + App\Providers\SchoolSessionServiceProvider::class, + App\Providers\SemesterServiceProvider::class, + App\Providers\AcademicSettingServiceProvider::class, + App\Providers\SchoolClassServiceProvider::class, + App\Providers\SectionServiceProvider::class, + App\Providers\CourseServiceProvider::class, + App\Providers\UserServiceProvider::class, + App\Providers\PurifySetupProvider::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, + 'Arr' => Illuminate\Support\Arr::class, + 'Artisan' => Illuminate\Support\Facades\Artisan::class, + 'Auth' => Illuminate\Support\Facades\Auth::class, + 'Blade' => Illuminate\Support\Facades\Blade::class, + 'Broadcast' => Illuminate\Support\Facades\Broadcast::class, + 'Bus' => Illuminate\Support\Facades\Bus::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, + 'Date' => Illuminate\Support\Facades\Date::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, + 'Http' => Illuminate\Support\Facades\Http::class, + 'Lang' => Illuminate\Support\Facades\Lang::class, + 'Log' => Illuminate\Support\Facades\Log::class, + 'Mail' => Illuminate\Support\Facades\Mail::class, + 'Notification' => Illuminate\Support\Facades\Notification::class, + 'Password' => Illuminate\Support\Facades\Password::class, + 'Queue' => Illuminate\Support\Facades\Queue::class, + 'RateLimiter' => Illuminate\Support\Facades\RateLimiter::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, + 'Str' => Illuminate\Support\Str::class, + 'URL' => Illuminate\Support\Facades\URL::class, + 'Validator' => Illuminate\Support\Facades\Validator::class, + 'View' => Illuminate\Support\Facades\View::class, + + ], + +]; diff --git a/config/auth.php b/config/auth.php new file mode 100644 index 000000000..ba1a4d8cb --- /dev/null +++ b/config/auth.php @@ -0,0 +1,117 @@ + [ + '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', + 'hash' => false, + ], + ], + + /* + |-------------------------------------------------------------------------- + | 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\Models\User::class, + ], + + // 'users' => [ + // 'driver' => 'database', + // 'table' => 'users', + // ], + ], + + /* + |-------------------------------------------------------------------------- + | Resetting Passwords + |-------------------------------------------------------------------------- + | + | 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', + 'table' => 'password_resets', + 'expire' => 60, + 'throttle' => 60, + ], + ], + + /* + |-------------------------------------------------------------------------- + | Password Confirmation Timeout + |-------------------------------------------------------------------------- + | + | Here you may define the amount of seconds before a password confirmation + | times out and the user is prompted to re-enter their password via the + | confirmation screen. By default, the timeout lasts for three hours. + | + */ + + 'password_timeout' => 10800, + +]; diff --git a/config/broadcasting.php b/config/broadcasting.php new file mode 100644 index 000000000..2d529820c --- /dev/null +++ b/config/broadcasting.php @@ -0,0 +1,64 @@ + env('BROADCAST_DRIVER', 'null'), + + /* + |-------------------------------------------------------------------------- + | 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_APP_KEY'), + 'secret' => env('PUSHER_APP_SECRET'), + 'app_id' => env('PUSHER_APP_ID'), + 'options' => [ + 'cluster' => env('PUSHER_APP_CLUSTER'), + 'useTLS' => true, + ], + ], + + 'ably' => [ + 'driver' => 'ably', + 'key' => env('ABLY_KEY'), + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'default', + ], + + 'log' => [ + 'driver' => 'log', + ], + + 'null' => [ + 'driver' => 'null', + ], + + ], + +]; diff --git a/config/cache.php b/config/cache.php new file mode 100644 index 000000000..8736c7a7a --- /dev/null +++ b/config/cache.php @@ -0,0 +1,110 @@ + 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. + | + | Supported drivers: "apc", "array", "database", "file", + | "memcached", "redis", "dynamodb", "octane", "null" + | + */ + + 'stores' => [ + + 'apc' => [ + 'driver' => 'apc', + ], + + 'array' => [ + 'driver' => 'array', + 'serialize' => false, + ], + + 'database' => [ + 'driver' => 'database', + 'table' => 'cache', + 'connection' => null, + 'lock_connection' => null, + ], + + 'file' => [ + 'driver' => 'file', + 'path' => storage_path('framework/cache/data'), + ], + + 'memcached' => [ + 'driver' => 'memcached', + 'persistent_id' => env('MEMCACHED_PERSISTENT_ID'), + 'sasl' => [ + env('MEMCACHED_USERNAME'), + env('MEMCACHED_PASSWORD'), + ], + 'options' => [ + // Memcached::OPT_CONNECT_TIMEOUT => 2000, + ], + 'servers' => [ + [ + 'host' => env('MEMCACHED_HOST', '127.0.0.1'), + 'port' => env('MEMCACHED_PORT', 11211), + 'weight' => 100, + ], + ], + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'cache', + 'lock_connection' => 'default', + ], + + 'dynamodb' => [ + 'driver' => 'dynamodb', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + 'table' => env('DYNAMODB_CACHE_TABLE', 'cache'), + 'endpoint' => env('DYNAMODB_ENDPOINT'), + ], + + 'octane' => [ + 'driver' => 'octane', + ], + + ], + + /* + |-------------------------------------------------------------------------- + | 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' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache'), + +]; diff --git a/config/cors.php b/config/cors.php new file mode 100644 index 000000000..8a39e6daa --- /dev/null +++ b/config/cors.php @@ -0,0 +1,34 @@ + ['api/*', 'sanctum/csrf-cookie'], + + 'allowed_methods' => ['*'], + + 'allowed_origins' => ['*'], + + 'allowed_origins_patterns' => [], + + 'allowed_headers' => ['*'], + + 'exposed_headers' => [], + + 'max_age' => 0, + + 'supports_credentials' => false, + +]; diff --git a/config/database.php b/config/database.php new file mode 100644 index 000000000..b42d9b30a --- /dev/null +++ b/config/database.php @@ -0,0 +1,147 @@ + 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', + 'url' => env('DATABASE_URL'), + 'database' => env('DB_DATABASE', database_path('database.sqlite')), + 'prefix' => '', + 'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true), + ], + + 'mysql' => [ + 'driver' => 'mysql', + 'url' => env('DATABASE_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '3306'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'unix_socket' => env('DB_SOCKET', ''), + 'charset' => 'utf8mb4', + 'collation' => 'utf8mb4_unicode_ci', + 'prefix' => '', + 'prefix_indexes' => true, + 'strict' => true, + 'engine' => null, + 'options' => extension_loaded('pdo_mysql') ? array_filter([ + PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), + ]) : [], + ], + + 'pgsql' => [ + 'driver' => 'pgsql', + 'url' => env('DATABASE_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '5432'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => 'utf8', + 'prefix' => '', + 'prefix_indexes' => true, + 'schema' => 'public', + 'sslmode' => 'prefer', + ], + + 'sqlsrv' => [ + 'driver' => 'sqlsrv', + 'url' => env('DATABASE_URL'), + 'host' => env('DB_HOST', 'localhost'), + 'port' => env('DB_PORT', '1433'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => 'utf8', + 'prefix' => '', + 'prefix_indexes' => true, + ], + + ], + + /* + |-------------------------------------------------------------------------- + | 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 body of commands than a typical key-value system + | such as APC or Memcached. Laravel makes it easy to dig right in. + | + */ + + 'redis' => [ + + 'client' => env('REDIS_CLIENT', 'phpredis'), + + 'options' => [ + 'cluster' => env('REDIS_CLUSTER', 'redis'), + 'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'), + ], + + 'default' => [ + 'url' => env('REDIS_URL'), + 'host' => env('REDIS_HOST', '127.0.0.1'), + 'password' => env('REDIS_PASSWORD', null), + 'port' => env('REDIS_PORT', '6379'), + 'database' => env('REDIS_DB', '0'), + ], + + 'cache' => [ + 'url' => env('REDIS_URL'), + 'host' => env('REDIS_HOST', '127.0.0.1'), + 'password' => env('REDIS_PASSWORD', null), + 'port' => env('REDIS_PORT', '6379'), + 'database' => env('REDIS_CACHE_DB', '1'), + ], + + ], + +]; diff --git a/config/filesystems.php b/config/filesystems.php new file mode 100644 index 000000000..64ef5391b --- /dev/null +++ b/config/filesystems.php @@ -0,0 +1,74 @@ + env('FILESYSTEM_DRIVER', 'local'), + + /* + |-------------------------------------------------------------------------- + | 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. + | + | Supported Drivers: "local", "ftp", "sftp", "s3" + | + */ + + 'disks' => [ + + 'local' => [ + 'driver' => 'local', + 'root' => storage_path('app'), + ], + + 'public' => [ + 'driver' => 'local', + // 'root' => storage_path('app/public'), + 'root' => public_path('storage'), + 'url' => env('APP_URL').'/storage', + 'visibility' => 'public', + ], + + 's3' => [ + 'driver' => 's3', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION'), + 'bucket' => env('AWS_BUCKET'), + 'url' => env('AWS_URL'), + 'endpoint' => env('AWS_ENDPOINT'), + 'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false), + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Symbolic Links + |-------------------------------------------------------------------------- + | + | Here you may configure the symbolic links that will be created when the + | `storage:link` Artisan command is executed. The array keys should be + | the locations of the links and the values should be their targets. + | + */ + + 'links' => [ + public_path('storage') => storage_path('app/public'), + ], + +]; diff --git a/config/hashing.php b/config/hashing.php new file mode 100644 index 000000000..842577087 --- /dev/null +++ b/config/hashing.php @@ -0,0 +1,52 @@ + 'bcrypt', + + /* + |-------------------------------------------------------------------------- + | Bcrypt Options + |-------------------------------------------------------------------------- + | + | Here you may specify the configuration options that should be used when + | passwords are hashed using the Bcrypt algorithm. This will allow you + | to control the amount of time it takes to hash the given password. + | + */ + + 'bcrypt' => [ + 'rounds' => env('BCRYPT_ROUNDS', 10), + ], + + /* + |-------------------------------------------------------------------------- + | Argon Options + |-------------------------------------------------------------------------- + | + | Here you may specify the configuration options that should be used when + | passwords are hashed using the Argon algorithm. These will allow you + | to control the amount of time it takes to hash the given password. + | + */ + + 'argon' => [ + 'memory' => 1024, + 'threads' => 2, + 'time' => 2, + ], + +]; diff --git a/config/logging.php b/config/logging.php new file mode 100644 index 000000000..1aa06aa30 --- /dev/null +++ b/config/logging.php @@ -0,0 +1,105 @@ + env('LOG_CHANNEL', 'stack'), + + /* + |-------------------------------------------------------------------------- + | Log Channels + |-------------------------------------------------------------------------- + | + | Here you may configure the log channels 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 Drivers: "single", "daily", "slack", "syslog", + | "errorlog", "monolog", + | "custom", "stack" + | + */ + + 'channels' => [ + 'stack' => [ + 'driver' => 'stack', + 'channels' => ['single'], + 'ignore_exceptions' => false, + ], + + 'single' => [ + 'driver' => 'single', + 'path' => storage_path('logs/laravel.log'), + 'level' => env('LOG_LEVEL', 'debug'), + ], + + 'daily' => [ + 'driver' => 'daily', + 'path' => storage_path('logs/laravel.log'), + 'level' => env('LOG_LEVEL', 'debug'), + 'days' => 14, + ], + + 'slack' => [ + 'driver' => 'slack', + 'url' => env('LOG_SLACK_WEBHOOK_URL'), + 'username' => 'Laravel Log', + 'emoji' => ':boom:', + 'level' => env('LOG_LEVEL', 'critical'), + ], + + 'papertrail' => [ + 'driver' => 'monolog', + 'level' => env('LOG_LEVEL', 'debug'), + 'handler' => SyslogUdpHandler::class, + 'handler_with' => [ + 'host' => env('PAPERTRAIL_URL'), + 'port' => env('PAPERTRAIL_PORT'), + ], + ], + + 'stderr' => [ + 'driver' => 'monolog', + 'level' => env('LOG_LEVEL', 'debug'), + 'handler' => StreamHandler::class, + 'formatter' => env('LOG_STDERR_FORMATTER'), + 'with' => [ + 'stream' => 'php://stderr', + ], + ], + + 'syslog' => [ + 'driver' => 'syslog', + 'level' => env('LOG_LEVEL', 'debug'), + ], + + 'errorlog' => [ + 'driver' => 'errorlog', + 'level' => env('LOG_LEVEL', 'debug'), + ], + + 'null' => [ + 'driver' => 'monolog', + 'handler' => NullHandler::class, + ], + + 'emergency' => [ + 'path' => storage_path('logs/laravel.log'), + ], + ], + +]; diff --git a/config/mail.php b/config/mail.php new file mode 100644 index 000000000..54299aabf --- /dev/null +++ b/config/mail.php @@ -0,0 +1,110 @@ + env('MAIL_MAILER', 'smtp'), + + /* + |-------------------------------------------------------------------------- + | Mailer Configurations + |-------------------------------------------------------------------------- + | + | Here you may configure all of the mailers used by your application plus + | their respective settings. Several examples have been configured for + | you and you are free to add your own as your application requires. + | + | Laravel supports a variety of mail "transport" drivers to be used while + | sending an e-mail. You will specify which one you are using for your + | mailers below. You are free to add additional mailers as required. + | + | Supported: "smtp", "sendmail", "mailgun", "ses", + | "postmark", "log", "array" + | + */ + + 'mailers' => [ + 'smtp' => [ + 'transport' => 'smtp', + 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), + 'port' => env('MAIL_PORT', 587), + 'encryption' => env('MAIL_ENCRYPTION', 'tls'), + 'username' => env('MAIL_USERNAME'), + 'password' => env('MAIL_PASSWORD'), + 'timeout' => null, + 'auth_mode' => null, + ], + + 'ses' => [ + 'transport' => 'ses', + ], + + 'mailgun' => [ + 'transport' => 'mailgun', + ], + + 'postmark' => [ + 'transport' => 'postmark', + ], + + 'sendmail' => [ + 'transport' => 'sendmail', + 'path' => '/usr/sbin/sendmail -bs', + ], + + 'log' => [ + 'transport' => 'log', + 'channel' => env('MAIL_LOG_CHANNEL'), + ], + + 'array' => [ + 'transport' => 'array', + ], + ], + + /* + |-------------------------------------------------------------------------- + | 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' => env('MAIL_FROM_ADDRESS', 'hello@example.com'), + 'name' => env('MAIL_FROM_NAME', 'Example'), + ], + + /* + |-------------------------------------------------------------------------- + | Markdown Mail Settings + |-------------------------------------------------------------------------- + | + | If you are using Markdown based email rendering, you may configure your + | theme and component paths here, allowing you to customize the design + | of the emails. Or, you may simply stick with the Laravel defaults! + | + */ + + 'markdown' => [ + 'theme' => 'default', + + 'paths' => [ + resource_path('views/vendor/mail'), + ], + ], + +]; diff --git a/config/permission.php b/config/permission.php new file mode 100644 index 000000000..1a4207e6c --- /dev/null +++ b/config/permission.php @@ -0,0 +1,143 @@ + [ + + /* + * When using the "HasPermissions" trait from this package, we need to know which + * Eloquent model should be used to retrieve your permissions. Of course, it + * is often just the "Permission" model but you may use whatever you like. + * + * The model you want to use as a Permission model needs to implement the + * `Spatie\Permission\Contracts\Permission` contract. + */ + + 'permission' => Spatie\Permission\Models\Permission::class, + + /* + * When using the "HasRoles" trait from this package, we need to know which + * Eloquent model should be used to retrieve your roles. Of course, it + * is often just the "Role" model but you may use whatever you like. + * + * The model you want to use as a Role model needs to implement the + * `Spatie\Permission\Contracts\Role` contract. + */ + + 'role' => Spatie\Permission\Models\Role::class, + + ], + + 'table_names' => [ + + /* + * When using the "HasRoles" trait from this package, we need to know which + * table should be used to retrieve your roles. We have chosen a basic + * default value but you may easily change it to any table you like. + */ + + 'roles' => 'roles', + + /* + * When using the "HasPermissions" trait from this package, we need to know which + * table should be used to retrieve your permissions. We have chosen a basic + * default value but you may easily change it to any table you like. + */ + + 'permissions' => 'permissions', + + /* + * When using the "HasPermissions" trait from this package, we need to know which + * table should be used to retrieve your models permissions. We have chosen a + * basic default value but you may easily change it to any table you like. + */ + + 'model_has_permissions' => 'model_has_permissions', + + /* + * When using the "HasRoles" trait from this package, we need to know which + * table should be used to retrieve your models roles. We have chosen a + * basic default value but you may easily change it to any table you like. + */ + + 'model_has_roles' => 'model_has_roles', + + /* + * When using the "HasRoles" trait from this package, we need to know which + * table should be used to retrieve your roles permissions. We have chosen a + * basic default value but you may easily change it to any table you like. + */ + + 'role_has_permissions' => 'role_has_permissions', + ], + + 'column_names' => [ + + /* + * Change this if you want to name the related model primary key other than + * `model_id`. + * + * For example, this would be nice if your primary keys are all UUIDs. In + * that case, name this `model_uuid`. + */ + + 'model_morph_key' => 'model_id', + ], + + /* + * When set to true, the required permission names are added to the exception + * message. This could be considered an information leak in some contexts, so + * the default setting is false here for optimum safety. + */ + + 'display_permission_in_exception' => false, + + /* + * When set to true, the required role names are added to the exception + * message. This could be considered an information leak in some contexts, so + * the default setting is false here for optimum safety. + */ + + 'display_role_in_exception' => false, + + /* + * By default wildcard permission lookups are disabled. + */ + + 'enable_wildcard_permission' => false, + + 'cache' => [ + + /* + * By default all permissions are cached for 24 hours to speed up performance. + * When permissions or roles are updated the cache is flushed automatically. + */ + + 'expiration_time' => \DateInterval::createFromDateString('24 hours'), + + /* + * The cache key used to store all permissions. + */ + + 'key' => 'spatie.permission.cache', + + /* + * When checking for a permission against a model by passing a Permission + * instance to the check, this key determines what attribute on the + * Permissions model is used to cache against. + * + * Ideally, this should match your preferred way of checking permissions, eg: + * `$user->can('view-posts')` would be 'name'. + */ + + 'model_key' => 'name', + + /* + * You may optionally indicate a specific cache driver to use for permission and + * role caching using any of the `store` drivers listed in the cache.php config + * file. Using 'default' here means to use the `default` set in cache.php. + */ + + 'store' => 'default', + ], +]; diff --git a/config/purify.php b/config/purify.php new file mode 100644 index 000000000..3ee8a0eda --- /dev/null +++ b/config/purify.php @@ -0,0 +1,135 @@ + [ + + /* + |-------------------------------------------------------------------------- + | Core.Encoding + |-------------------------------------------------------------------------- + | + | The encoding to convert input to. + | + | http://htmlpurifier.org/live/configdoc/plain.html#Core.Encoding + | + */ + + 'Core.Encoding' => 'utf-8', + + /* + |-------------------------------------------------------------------------- + | Core.SerializerPath + |-------------------------------------------------------------------------- + | + | The HTML purifier serializer cache path. + | + | http://htmlpurifier.org/live/configdoc/plain.html#Cache.SerializerPath + | + */ + + 'Cache.SerializerPath' => storage_path('app/purify'), + + /* + |-------------------------------------------------------------------------- + | HTML.Doctype + |-------------------------------------------------------------------------- + | + | Doctype to use during filtering. + | + | http://htmlpurifier.org/live/configdoc/plain.html#HTML.Doctype + | + */ + + 'HTML.Doctype' => 'XHTML 1.0 Strict', + + /* + |-------------------------------------------------------------------------- + | HTML.Allowed + |-------------------------------------------------------------------------- + | + | The allowed HTML Elements with their allowed attributes. + | + | http://htmlpurifier.org/live/configdoc/plain.html#HTML.Allowed + | + */ + + 'HTML.Allowed' => 'h1,h2,h3,h4,h5,h6,b,strong,i,em,a[href|title],ul,ol,li,p[style],br,span,img[width|height|alt|src],figure[class],table,tr,th,td', + + /* + |-------------------------------------------------------------------------- + | HTML.ForbiddenElements + |-------------------------------------------------------------------------- + | + | The forbidden HTML elements. Elements that are listed in + | this string will be removed, however their content will remain. + | + | For example if 'p' is inside the string, the string: '

Test

', + | + | Will be cleaned to: 'Test' + | + | http://htmlpurifier.org/live/configdoc/plain.html#HTML.ForbiddenElements + | + */ + + 'HTML.ForbiddenElements' => '', + + /* + |-------------------------------------------------------------------------- + | CSS.AllowedProperties + |-------------------------------------------------------------------------- + | + | The Allowed CSS properties. + | + | http://htmlpurifier.org/live/configdoc/plain.html#CSS.AllowedProperties + | + */ + + 'CSS.AllowedProperties' => 'font,font-size,font-weight,font-style,font-family,text-decoration,padding-left,color,background-color,text-align', + + /* + |-------------------------------------------------------------------------- + | AutoFormat.AutoParagraph + |-------------------------------------------------------------------------- + | + | The Allowed CSS properties. + | + | This directive turns on auto-paragraphing, where double + | newlines are converted in to paragraphs whenever possible. + | + | http://htmlpurifier.org/live/configdoc/plain.html#AutoFormat.AutoParagraph + | + */ + + 'AutoFormat.AutoParagraph' => false, + + /* + |-------------------------------------------------------------------------- + | AutoFormat.RemoveEmpty + |-------------------------------------------------------------------------- + | + | When enabled, HTML Purifier will attempt to remove empty + | elements that contribute no semantic information to the document. + | + | http://htmlpurifier.org/live/configdoc/plain.html#AutoFormat.RemoveEmpty + | + */ + + 'AutoFormat.RemoveEmpty' => false, + + ], + +]; diff --git a/config/queue.php b/config/queue.php new file mode 100644 index 000000000..25ea5a819 --- /dev/null +++ b/config/queue.php @@ -0,0 +1,93 @@ + env('QUEUE_CONNECTION', '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. + | + | Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null" + | + */ + + 'connections' => [ + + 'sync' => [ + 'driver' => 'sync', + ], + + 'database' => [ + 'driver' => 'database', + 'table' => 'jobs', + 'queue' => 'default', + 'retry_after' => 90, + 'after_commit' => false, + ], + + 'beanstalkd' => [ + 'driver' => 'beanstalkd', + 'host' => 'localhost', + 'queue' => 'default', + 'retry_after' => 90, + 'block_for' => 0, + 'after_commit' => false, + ], + + 'sqs' => [ + 'driver' => 'sqs', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'), + 'queue' => env('SQS_QUEUE', 'default'), + 'suffix' => env('SQS_SUFFIX'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + 'after_commit' => false, + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'default', + 'queue' => env('REDIS_QUEUE', 'default'), + 'retry_after' => 90, + 'block_for' => null, + 'after_commit' => false, + ], + + ], + + /* + |-------------------------------------------------------------------------- + | 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' => [ + 'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'), + 'database' => env('DB_CONNECTION', 'mysql'), + 'table' => 'failed_jobs', + ], + +]; diff --git a/config/services.php b/config/services.php new file mode 100644 index 000000000..2a1d616c7 --- /dev/null +++ b/config/services.php @@ -0,0 +1,33 @@ + [ + 'domain' => env('MAILGUN_DOMAIN'), + 'secret' => env('MAILGUN_SECRET'), + 'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'), + ], + + 'postmark' => [ + 'token' => env('POSTMARK_TOKEN'), + ], + + 'ses' => [ + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + ], + +]; diff --git a/config/session.php b/config/session.php new file mode 100644 index 000000000..ac0802b19 --- /dev/null +++ b/config/session.php @@ -0,0 +1,201 @@ + 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' => env('SESSION_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' => env('SESSION_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 Cache Store + |-------------------------------------------------------------------------- + | + | While using one of the framework's cache driven session backends you may + | list a cache store that should be used for these sessions. This value + | must match with one of the application's configured cache "stores". + | + | Affects: "apc", "dynamodb", "memcached", "redis" + | + */ + + 'store' => env('SESSION_STORE', null), + + /* + |-------------------------------------------------------------------------- + | 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' => env( + 'SESSION_COOKIE', + Str::slug(env('APP_NAME', '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' => env('SESSION_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 when it can't be done securely. + | + */ + + 'secure' => env('SESSION_SECURE_COOKIE'), + + /* + |-------------------------------------------------------------------------- + | 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, + + /* + |-------------------------------------------------------------------------- + | Same-Site Cookies + |-------------------------------------------------------------------------- + | + | This option determines how your cookies behave when cross-site requests + | take place, and can be used to mitigate CSRF attacks. By default, we + | will set this value to "lax" since this is a secure default value. + | + | Supported: "lax", "strict", "none", null + | + */ + + 'same_site' => 'lax', + +]; diff --git a/config/view.php b/config/view.php new file mode 100644 index 000000000..22b8a18d3 --- /dev/null +++ b/config/view.php @@ -0,0 +1,36 @@ + [ + resource_path('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' => env( + 'VIEW_COMPILED_PATH', + realpath(storage_path('framework/views')) + ), + +]; diff --git a/database/.gitignore b/database/.gitignore new file mode 100644 index 000000000..9b19b93c9 --- /dev/null +++ b/database/.gitignore @@ -0,0 +1 @@ +*.sqlite* diff --git a/database/factories/AcademicSettingFactory.php b/database/factories/AcademicSettingFactory.php new file mode 100644 index 000000000..b55fcf67a --- /dev/null +++ b/database/factories/AcademicSettingFactory.php @@ -0,0 +1,29 @@ + 'section', + 'marks_submission_status' => 'off', + ]; + } +} diff --git a/database/factories/AssignedTeacherFactory.php b/database/factories/AssignedTeacherFactory.php new file mode 100644 index 000000000..5594bee3e --- /dev/null +++ b/database/factories/AssignedTeacherFactory.php @@ -0,0 +1,28 @@ + $this->faker->name(), + 'last_name' => $this->faker->name(), + 'email' => $this->faker->unique()->safeEmail(), + 'email_verified_at' => now(), + 'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password + 'remember_token' => Str::random(10), + 'gender' => $this->faker->randomElement(['Male', 'Female']), + 'nationality' => 'Bangladeshi', + 'phone' => 'Ex: 325 43657 7554', + 'address' => '568, Dhaka', + 'address2' => 'Same', + 'city' => 'Dhaka', + 'zip' => '32545', + 'photo' => null, + 'role' => 'admin', + ]; + } + + /** + * Indicate that the model's email address should be unverified. + * + * @return \Illuminate\Database\Eloquent\Factories\Factory + */ + public function unverified() + { + return $this->state(function (array $attributes) { + return [ + 'email_verified_at' => null, + ]; + }); + } +} diff --git a/database/migrations/2014_10_12_000000_create_users_table.php b/database/migrations/2014_10_12_000000_create_users_table.php new file mode 100644 index 000000000..c30689275 --- /dev/null +++ b/database/migrations/2014_10_12_000000_create_users_table.php @@ -0,0 +1,49 @@ +id(); + $table->string('first_name'); + $table->string('last_name'); + $table->string('email')->unique(); + $table->string('gender'); + $table->string('nationality'); + $table->string('phone'); + $table->string('address'); + $table->string('address2'); + $table->string('city'); + $table->string('zip'); + $table->string('photo')->nullable(); + $table->string('birthday')->nullable(); + $table->string('blood_type')->nullable(); + $table->string('religion')->nullable(); + $table->string('role'); + $table->timestamp('email_verified_at')->nullable(); + $table->string('password'); + $table->rememberToken(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('users'); + } +} diff --git a/database/migrations/2014_10_12_100000_create_password_resets_table.php b/database/migrations/2014_10_12_100000_create_password_resets_table.php new file mode 100644 index 000000000..0ee0a36a4 --- /dev/null +++ b/database/migrations/2014_10_12_100000_create_password_resets_table.php @@ -0,0 +1,32 @@ +string('email')->index(); + $table->string('token'); + $table->timestamp('created_at')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('password_resets'); + } +} diff --git a/database/migrations/2019_08_19_000000_create_failed_jobs_table.php b/database/migrations/2019_08_19_000000_create_failed_jobs_table.php new file mode 100644 index 000000000..6aa6d743e --- /dev/null +++ b/database/migrations/2019_08_19_000000_create_failed_jobs_table.php @@ -0,0 +1,36 @@ +id(); + $table->string('uuid')->unique(); + $table->text('connection'); + $table->text('queue'); + $table->longText('payload'); + $table->longText('exception'); + $table->timestamp('failed_at')->useCurrent(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('failed_jobs'); + } +} diff --git a/database/migrations/2021_08_14_063609_create_permission_tables.php b/database/migrations/2021_08_14_063609_create_permission_tables.php new file mode 100644 index 000000000..edf92e7a1 --- /dev/null +++ b/database/migrations/2021_08_14_063609_create_permission_tables.php @@ -0,0 +1,114 @@ +bigIncrements('id'); + $table->string('name'); // For MySQL 8.0 use string('name', 125); + $table->string('guard_name'); // For MySQL 8.0 use string('guard_name', 125); + $table->timestamps(); + + $table->unique(['name', 'guard_name']); + }); + + Schema::create($tableNames['roles'], function (Blueprint $table) { + $table->bigIncrements('id'); + $table->string('name'); // For MySQL 8.0 use string('name', 125); + $table->string('guard_name'); // For MySQL 8.0 use string('guard_name', 125); + $table->timestamps(); + + $table->unique(['name', 'guard_name']); + }); + + Schema::create($tableNames['model_has_permissions'], function (Blueprint $table) use ($tableNames, $columnNames) { + $table->unsignedBigInteger('permission_id'); + + $table->string('model_type'); + $table->unsignedBigInteger($columnNames['model_morph_key']); + $table->index([$columnNames['model_morph_key'], 'model_type'], 'model_has_permissions_model_id_model_type_index'); + + $table->foreign('permission_id') + ->references('id') + ->on($tableNames['permissions']) + ->onDelete('cascade'); + + $table->primary(['permission_id', $columnNames['model_morph_key'], 'model_type'], + 'model_has_permissions_permission_model_type_primary'); + }); + + Schema::create($tableNames['model_has_roles'], function (Blueprint $table) use ($tableNames, $columnNames) { + $table->unsignedBigInteger('role_id'); + + $table->string('model_type'); + $table->unsignedBigInteger($columnNames['model_morph_key']); + $table->index([$columnNames['model_morph_key'], 'model_type'], 'model_has_roles_model_id_model_type_index'); + + $table->foreign('role_id') + ->references('id') + ->on($tableNames['roles']) + ->onDelete('cascade'); + + $table->primary(['role_id', $columnNames['model_morph_key'], 'model_type'], + 'model_has_roles_role_model_type_primary'); + }); + + Schema::create($tableNames['role_has_permissions'], function (Blueprint $table) use ($tableNames) { + $table->unsignedBigInteger('permission_id'); + $table->unsignedBigInteger('role_id'); + + $table->foreign('permission_id') + ->references('id') + ->on($tableNames['permissions']) + ->onDelete('cascade'); + + $table->foreign('role_id') + ->references('id') + ->on($tableNames['roles']) + ->onDelete('cascade'); + + $table->primary(['permission_id', 'role_id'], 'role_has_permissions_permission_id_role_id_primary'); + }); + + app('cache') + ->store(config('permission.cache.store') != 'default' ? config('permission.cache.store') : null) + ->forget(config('permission.cache.key')); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + $tableNames = config('permission.table_names'); + + if (empty($tableNames)) { + throw new \Exception('Error: config/permission.php not found and defaults could not be merged. Please publish the package configuration before proceeding, or drop the tables manually.'); + } + + Schema::drop($tableNames['role_has_permissions']); + Schema::drop($tableNames['model_has_roles']); + Schema::drop($tableNames['model_has_permissions']); + Schema::drop($tableNames['roles']); + Schema::drop($tableNames['permissions']); + } +} diff --git a/database/migrations/2021_08_29_082638_create_school_sessions_table.php b/database/migrations/2021_08_29_082638_create_school_sessions_table.php new file mode 100644 index 000000000..dcb1d77c9 --- /dev/null +++ b/database/migrations/2021_08_29_082638_create_school_sessions_table.php @@ -0,0 +1,32 @@ +id(); + $table->string('session_name'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('school_sessions'); + } +} diff --git a/database/migrations/2021_08_29_082900_create_semesters_table.php b/database/migrations/2021_08_29_082900_create_semesters_table.php new file mode 100644 index 000000000..2d45477a4 --- /dev/null +++ b/database/migrations/2021_08_29_082900_create_semesters_table.php @@ -0,0 +1,35 @@ +id(); + $table->string('semester_name'); + $table->date('start_date'); + $table->date('end_date'); + $table->unsignedInteger('session_id'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('semesters'); + } +} diff --git a/database/migrations/2021_08_29_082956_create_school_classes_table.php b/database/migrations/2021_08_29_082956_create_school_classes_table.php new file mode 100644 index 000000000..e7e56b085 --- /dev/null +++ b/database/migrations/2021_08_29_082956_create_school_classes_table.php @@ -0,0 +1,33 @@ +id(); + $table->string('class_name'); + $table->unsignedInteger('session_id'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('school_classes'); + } +} diff --git a/database/migrations/2021_08_29_083021_create_sections_table.php b/database/migrations/2021_08_29_083021_create_sections_table.php new file mode 100644 index 000000000..bb2326df4 --- /dev/null +++ b/database/migrations/2021_08_29_083021_create_sections_table.php @@ -0,0 +1,35 @@ +id(); + $table->string('section_name'); + $table->string('room_no'); + $table->unsignedInteger('class_id'); + $table->unsignedInteger('session_id'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('sections'); + } +} diff --git a/database/migrations/2021_08_29_083216_create_courses_table.php b/database/migrations/2021_08_29_083216_create_courses_table.php new file mode 100644 index 000000000..0801014fc --- /dev/null +++ b/database/migrations/2021_08_29_083216_create_courses_table.php @@ -0,0 +1,36 @@ +id(); + $table->string('course_name'); + $table->string('course_type'); + $table->unsignedInteger('class_id'); + $table->unsignedInteger('semester_id'); + $table->unsignedInteger('session_id'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('courses'); + } +} diff --git a/database/migrations/2021_08_29_083346_create_academic_settings_table.php b/database/migrations/2021_08_29_083346_create_academic_settings_table.php new file mode 100644 index 000000000..104324c61 --- /dev/null +++ b/database/migrations/2021_08_29_083346_create_academic_settings_table.php @@ -0,0 +1,33 @@ +id(); + $table->string('attendance_type')->default('section'); + $table->string('marks_submission_status')->default('off'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('academic_settings'); + } +} diff --git a/database/migrations/2021_08_29_083429_create_promotions_table.php b/database/migrations/2021_08_29_083429_create_promotions_table.php new file mode 100644 index 000000000..604e2b787 --- /dev/null +++ b/database/migrations/2021_08_29_083429_create_promotions_table.php @@ -0,0 +1,36 @@ +id(); + $table->unsignedInteger('student_id'); + $table->unsignedInteger('class_id'); + $table->unsignedInteger('section_id'); + $table->unsignedInteger('session_id'); + $table->string('id_card_number'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('promotions'); + } +} diff --git a/database/migrations/2021_08_29_083504_create_exam_rules_table.php b/database/migrations/2021_08_29_083504_create_exam_rules_table.php new file mode 100644 index 000000000..3ed5ed5be --- /dev/null +++ b/database/migrations/2021_08_29_083504_create_exam_rules_table.php @@ -0,0 +1,36 @@ +id(); + $table->float('total_marks'); + $table->float('pass_marks'); + $table->text('marks_distribution_note'); + $table->unsignedInteger('exam_id'); + $table->unsignedInteger('session_id'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('exam_rules'); + } +} diff --git a/database/migrations/2021_08_29_083523_create_grade_rules_table.php b/database/migrations/2021_08_29_083523_create_grade_rules_table.php new file mode 100644 index 000000000..5ce94724d --- /dev/null +++ b/database/migrations/2021_08_29_083523_create_grade_rules_table.php @@ -0,0 +1,37 @@ +id(); + $table->float('point'); + $table->string('grade'); + $table->float('start_at'); + $table->float('end_at'); + $table->unsignedInteger('grading_system_id'); + $table->unsignedInteger('session_id'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('grade_rules'); + } +} diff --git a/database/migrations/2021_08_29_083603_create_marks_table.php b/database/migrations/2021_08_29_083603_create_marks_table.php new file mode 100644 index 000000000..9b35ebf70 --- /dev/null +++ b/database/migrations/2021_08_29_083603_create_marks_table.php @@ -0,0 +1,38 @@ +id(); + $table->float('marks')->default(0); + $table->unsignedInteger('student_id'); + $table->unsignedInteger('class_id'); + $table->unsignedInteger('section_id'); + $table->unsignedInteger('course_id'); + $table->unsignedInteger('exam_id'); + $table->unsignedInteger('session_id'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('marks'); + } +} diff --git a/database/migrations/2021_08_29_083628_create_exams_table.php b/database/migrations/2021_08_29_083628_create_exams_table.php new file mode 100644 index 000000000..9d3c4f85c --- /dev/null +++ b/database/migrations/2021_08_29_083628_create_exams_table.php @@ -0,0 +1,38 @@ +id(); + $table->string('exam_name'); + $table->dateTime('start_date'); + $table->dateTime('end_date'); + $table->unsignedInteger('class_id'); + $table->unsignedInteger('course_id'); + $table->unsignedInteger('semester_id'); + $table->unsignedInteger('session_id'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('exams'); + } +} diff --git a/database/migrations/2021_08_29_083730_create_student_parent_infos_table.php b/database/migrations/2021_08_29_083730_create_student_parent_infos_table.php new file mode 100644 index 000000000..7190e9cca --- /dev/null +++ b/database/migrations/2021_08_29_083730_create_student_parent_infos_table.php @@ -0,0 +1,37 @@ +id(); + $table->unsignedInteger('student_id'); + $table->string('father_name'); + $table->string('father_phone'); + $table->string('mother_name'); + $table->string('mother_phone'); + $table->string('parent_address'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('student_parent_infos'); + } +} diff --git a/database/migrations/2021_08_29_083742_create_student_academic_infos_table.php b/database/migrations/2021_08_29_083742_create_student_academic_infos_table.php new file mode 100644 index 000000000..1df7d54c9 --- /dev/null +++ b/database/migrations/2021_08_29_083742_create_student_academic_infos_table.php @@ -0,0 +1,33 @@ +id(); + $table->string('board_reg_no')->nullable(); + $table->unsignedInteger('student_id'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('student_academic_infos'); + } +} diff --git a/database/migrations/2021_08_29_083934_create_attendances_table.php b/database/migrations/2021_08_29_083934_create_attendances_table.php new file mode 100644 index 000000000..b6c95c072 --- /dev/null +++ b/database/migrations/2021_08_29_083934_create_attendances_table.php @@ -0,0 +1,37 @@ +id(); + $table->unsignedInteger('course_id')->default(0); + $table->unsignedInteger('class_id')->default(0); + $table->unsignedInteger('section_id')->default(0); + $table->unsignedInteger('student_id'); + $table->string('status'); + $table->unsignedInteger('session_id'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('attendances'); + } +} diff --git a/database/migrations/2021_08_29_084019_create_notices_table.php b/database/migrations/2021_08_29_084019_create_notices_table.php new file mode 100644 index 000000000..410f29c7f --- /dev/null +++ b/database/migrations/2021_08_29_084019_create_notices_table.php @@ -0,0 +1,33 @@ +id(); + $table->text('notice'); + $table->unsignedInteger('session_id'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('notices'); + } +} diff --git a/database/migrations/2021_08_29_084030_create_events_table.php b/database/migrations/2021_08_29_084030_create_events_table.php new file mode 100644 index 000000000..a66f3ee29 --- /dev/null +++ b/database/migrations/2021_08_29_084030_create_events_table.php @@ -0,0 +1,35 @@ +id(); + $table->string('title'); + $table->dateTime('start'); + $table->dateTime('end'); + $table->unsignedInteger('session_id'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('events'); + } +} diff --git a/database/migrations/2021_08_29_084041_create_syllabi_table.php b/database/migrations/2021_08_29_084041_create_syllabi_table.php new file mode 100644 index 000000000..82cdc1f26 --- /dev/null +++ b/database/migrations/2021_08_29_084041_create_syllabi_table.php @@ -0,0 +1,36 @@ +id(); + $table->string('syllabus_name'); + $table->string('syllabus_file_path'); + $table->unsignedInteger('class_id'); + $table->unsignedInteger('course_id'); + $table->unsignedInteger('session_id'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('syllabi'); + } +} diff --git a/database/migrations/2021_08_29_084056_create_routines_table.php b/database/migrations/2021_08_29_084056_create_routines_table.php new file mode 100644 index 000000000..84c570b73 --- /dev/null +++ b/database/migrations/2021_08_29_084056_create_routines_table.php @@ -0,0 +1,38 @@ +id(); + $table->string('start'); + $table->string('end'); + $table->integer('weekday'); + $table->unsignedInteger('class_id'); + $table->unsignedInteger('section_id'); + $table->unsignedInteger('course_id'); + $table->unsignedInteger('session_id'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('routines'); + } +} diff --git a/database/migrations/2021_10_07_134023_create_assigned_teachers_table.php b/database/migrations/2021_10_07_134023_create_assigned_teachers_table.php new file mode 100644 index 000000000..b91f31dbc --- /dev/null +++ b/database/migrations/2021_10_07_134023_create_assigned_teachers_table.php @@ -0,0 +1,37 @@ +id(); + $table->unsignedInteger('teacher_id'); + $table->unsignedInteger('semester_id'); + $table->unsignedInteger('class_id'); + $table->unsignedInteger('section_id'); + $table->unsignedInteger('course_id'); + $table->unsignedInteger('session_id'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('assigned_teachers'); + } +} diff --git a/database/migrations/2021_10_09_061039_create_grading_systems_table.php b/database/migrations/2021_10_09_061039_create_grading_systems_table.php new file mode 100644 index 000000000..c6ab4254f --- /dev/null +++ b/database/migrations/2021_10_09_061039_create_grading_systems_table.php @@ -0,0 +1,35 @@ +id(); + $table->string('system_name'); + $table->unsignedInteger('class_id'); + $table->unsignedInteger('semester_id'); + $table->unsignedInteger('session_id'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('grading_systems'); + } +} diff --git a/database/migrations/2021_10_16_123559_create_final_marks_table.php b/database/migrations/2021_10_16_123559_create_final_marks_table.php new file mode 100644 index 000000000..edee620c5 --- /dev/null +++ b/database/migrations/2021_10_16_123559_create_final_marks_table.php @@ -0,0 +1,40 @@ +id(); + $table->float('calculated_marks')->default(0); + $table->float('final_marks')->default(0); + $table->text('note')->nullable(); + $table->unsignedInteger('student_id'); + $table->unsignedInteger('class_id'); + $table->unsignedInteger('section_id'); + $table->unsignedInteger('course_id'); + $table->unsignedInteger('semester_id'); + $table->unsignedInteger('session_id'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('final_marks'); + } +} diff --git a/database/migrations/2021_11_26_040801_create_assignments_table.php b/database/migrations/2021_11_26_040801_create_assignments_table.php new file mode 100644 index 000000000..6d68ded18 --- /dev/null +++ b/database/migrations/2021_11_26_040801_create_assignments_table.php @@ -0,0 +1,39 @@ +id(); + $table->unsignedInteger('teacher_id'); + $table->unsignedInteger('semester_id'); + $table->unsignedInteger('class_id'); + $table->unsignedInteger('section_id'); + $table->unsignedInteger('course_id'); + $table->unsignedInteger('session_id'); + $table->string('assignment_name'); + $table->string('assignment_file_path'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('assignments'); + } +} diff --git a/database/seeders/AcademicSettingSeeder.php b/database/seeders/AcademicSettingSeeder.php new file mode 100644 index 000000000..012d78dd1 --- /dev/null +++ b/database/seeders/AcademicSettingSeeder.php @@ -0,0 +1,19 @@ +count(1)->create(); + } +} diff --git a/database/seeders/AssignedTeacherSeeder.php b/database/seeders/AssignedTeacherSeeder.php new file mode 100644 index 000000000..32eda889e --- /dev/null +++ b/database/seeders/AssignedTeacherSeeder.php @@ -0,0 +1,18 @@ +call([ + AcademicSettingSeeder::class, + PermissionSeeder::class, + ]); + } +} diff --git a/database/seeders/EventSeeder.php b/database/seeders/EventSeeder.php new file mode 100644 index 000000000..33a6278de --- /dev/null +++ b/database/seeders/EventSeeder.php @@ -0,0 +1,18 @@ +forgetCachedPermissions(); + + // create permissions + Permission::create(['name' => 'create users']); + Permission::create(['name' => 'view users']); + Permission::create(['name' => 'edit users']); + Permission::create(['name' => 'delete users']); + + Permission::create(['name' => 'promote students']); + + Permission::create(['name' => 'create notices']); + Permission::create(['name' => 'view notices']); + Permission::create(['name' => 'edit notices']); + Permission::create(['name' => 'delete notices']); + + Permission::create(['name' => 'create events']); + Permission::create(['name' => 'view events']); + Permission::create(['name' => 'edit events']); + Permission::create(['name' => 'delete events']); + + Permission::create(['name' => 'create syllabi']); + Permission::create(['name' => 'view syllabi']); + Permission::create(['name' => 'edit syllabi']); + Permission::create(['name' => 'delete syllabi']); + + Permission::create(['name' => 'create routines']); + Permission::create(['name' => 'view routines']); + Permission::create(['name' => 'edit routines']); + Permission::create(['name' => 'delete routines']); + + Permission::create(['name' => 'create exams']); + Permission::create(['name' => 'view exams']); + Permission::create(['name' => 'delete exams']); + Permission::create(['name' => 'create exams rule']); + Permission::create(['name' => 'view exams rule']); + Permission::create(['name' => 'edit exams rule']); + Permission::create(['name' => 'delete exams rule']); + Permission::create(['name' => 'view exams history']); + + Permission::create(['name' => 'create grading systems']); + Permission::create(['name' => 'view grading systems']); + Permission::create(['name' => 'edit grading systems']); + Permission::create(['name' => 'delete grading systems']); + Permission::create(['name' => 'create grading systems rule']); + Permission::create(['name' => 'view grading systems rule']); + Permission::create(['name' => 'edit grading systems rule']); + Permission::create(['name' => 'delete grading systems rule']); + + Permission::create(['name' => 'take attendances']); + Permission::create(['name' => 'view attendances']); + Permission::create(['name' => 'update attendances type']); + + Permission::create(['name' => 'submit assignments']); + Permission::create(['name' => 'create assignments']); + Permission::create(['name' => 'view assignments']); + + Permission::create(['name' => 'save marks']); + Permission::create(['name' => 'view marks']); + + Permission::create(['name' => 'create school sessions']); + + Permission::create(['name' => 'create semesters']); + Permission::create(['name' => 'view semesters']); + Permission::create(['name' => 'edit semesters']); + Permission::create(['name' => 'assign teachers']); + Permission::create(['name' => 'create courses']); + Permission::create(['name' => 'view courses']); + Permission::create(['name' => 'edit courses']); + + Permission::create(['name' => 'view academic settings']); + Permission::create(['name' => 'update marks submission window']); + Permission::create(['name' => 'update browse by session']); + + Permission::create(['name' => 'create classes']); + Permission::create(['name' => 'view classes']); + Permission::create(['name' => 'edit classes']); + // Permission::create(['name' => 'delete classes']); + + Permission::create(['name' => 'create sections']); + Permission::create(['name' => 'view sections']); + Permission::create(['name' => 'edit sections']); + // Permission::create(['name' => 'delete sections']); + + $user = \App\Models\User::factory()->create([ + 'email' => 'admin@ut.com', + 'first_name' => 'Hasib', + 'last_name' => 'Mahmud' + ]); + $user->givePermissionTo( + 'create school sessions', + 'update browse by session', + 'create semesters', + 'edit semesters', + 'assign teachers', + 'create courses', + 'view courses', + 'edit courses', + 'create classes', + 'view classes', + 'edit classes', + 'create sections', + 'view sections', + 'edit sections', + 'create exams', + 'view exams', + 'create exams rule', + 'edit exams rule', + 'delete exams rule', + 'view exams rule', + 'create routines', + 'view routines', + 'edit routines', + 'delete routines', + 'view marks', + 'view academic settings', + 'update marks submission window', + 'create users', + 'edit users', + 'view users', + 'promote students', + 'update attendances type', + 'view attendances', + 'take attendances',//Teacher only + 'create grading systems', + 'view grading systems', + 'edit grading systems', + 'delete grading systems', + 'create grading systems rule', + 'view grading systems rule', + 'edit grading systems rule', + 'delete grading systems rule', + 'create notices', + 'view notices', + 'edit notices', + 'delete notices', + 'create events', + 'view events', + 'edit events', + 'delete events', + 'create syllabi', + 'view syllabi', + 'edit syllabi', + 'delete syllabi', + 'view assignments' + ); + } +} diff --git a/database/seeders/PromotionSeeder.php b/database/seeders/PromotionSeeder.php new file mode 100644 index 000000000..ec0820b37 --- /dev/null +++ b/database/seeders/PromotionSeeder.php @@ -0,0 +1,18 @@ += 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "concat": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/concat/-/concat-1.0.3.tgz", + "integrity": "sha1-QPM1MInWVGdpXLGIa0Xt1jfYzKg=", + "dev": true, + "requires": { + "commander": "^2.9.0" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true + }, + "consola": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", + "dev": true + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "core-js-compat": { + "version": "3.16.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.16.1.tgz", + "integrity": "sha512-NHXQXvRbd4nxp9TEmooTJLUf94ySUG6+DSsscBpTftN1lQLQ4LjnWvc7AoIo4UjDsFF3hB8Uh5LLCRRdaiT5MQ==", + "dev": true, + "requires": { + "browserslist": "^4.16.7", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cosmiconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", + "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=", + "dev": true + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "css-color-names": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-1.0.1.tgz", + "integrity": "sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==", + "dev": true + }, + "css-declaration-sorter": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.1.tgz", + "integrity": "sha512-BZ1aOuif2Sb7tQYY1GeCjG7F++8ggnwUkH5Ictw0mrdpqpEd+zWmcPdstnH2TItlb74FqR0DrVEieon221T/1Q==", + "dev": true, + "requires": { + "timsort": "^0.3.0" + } + }, + "css-loader": { + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", + "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", + "dev": true, + "requires": { + "icss-utils": "^5.1.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.15", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^3.0.0", + "semver": "^7.3.5" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "css-select": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", + "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^5.0.0", + "domhandler": "^4.2.0", + "domutils": "^2.6.0", + "nth-check": "^2.0.0" + } + }, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "css-what": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz", + "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "cssnano": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.7.tgz", + "integrity": "sha512-7C0tbb298hef3rq+TtBbMuezBQ9VrFtrQEsPNuBKNVgWny/67vdRsnq8EoNu7TRjAHURgYvWlRIpCUmcMZkRzw==", + "dev": true, + "requires": { + "cssnano-preset-default": "^5.1.3", + "is-resolvable": "^1.1.0", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + } + }, + "cssnano-preset-default": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.3.tgz", + "integrity": "sha512-qo9tX+t4yAAZ/yagVV3b+QBKeLklQbmgR3wI7mccrDcR+bEk9iHgZN1E7doX68y9ThznLya3RDmR+nc7l6/2WQ==", + "dev": true, + "requires": { + "css-declaration-sorter": "^6.0.3", + "cssnano-utils": "^2.0.1", + "postcss-calc": "^8.0.0", + "postcss-colormin": "^5.2.0", + "postcss-convert-values": "^5.0.1", + "postcss-discard-comments": "^5.0.1", + "postcss-discard-duplicates": "^5.0.1", + "postcss-discard-empty": "^5.0.1", + "postcss-discard-overridden": "^5.0.1", + "postcss-merge-longhand": "^5.0.2", + "postcss-merge-rules": "^5.0.2", + "postcss-minify-font-values": "^5.0.1", + "postcss-minify-gradients": "^5.0.1", + "postcss-minify-params": "^5.0.1", + "postcss-minify-selectors": "^5.1.0", + "postcss-normalize-charset": "^5.0.1", + "postcss-normalize-display-values": "^5.0.1", + "postcss-normalize-positions": "^5.0.1", + "postcss-normalize-repeat-style": "^5.0.1", + "postcss-normalize-string": "^5.0.1", + "postcss-normalize-timing-functions": "^5.0.1", + "postcss-normalize-unicode": "^5.0.1", + "postcss-normalize-url": "^5.0.2", + "postcss-normalize-whitespace": "^5.0.1", + "postcss-ordered-values": "^5.0.2", + "postcss-reduce-initial": "^5.0.1", + "postcss-reduce-transforms": "^5.0.1", + "postcss-svgo": "^5.0.2", + "postcss-unique-selectors": "^5.0.1" + } + }, + "cssnano-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-2.0.1.tgz", + "integrity": "sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ==", + "dev": true + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "requires": { + "css-tree": "^1.1.2" + } + }, + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "dev": true, + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "requires": { + "execa": "^5.0.0" + } + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "del": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", + "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", + "dev": true, + "requires": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "dependencies": { + "globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + } + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", + "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", + "dev": true, + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true + }, + "domhandler": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz", + "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.7.0.tgz", + "integrity": "sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "dev": true + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.806", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.806.tgz", + "integrity": "sha512-AH/otJLAAecgyrYp0XK1DPiGVWcOgwPeJBOLeuFQ5l//vhQhwC9u6d+GijClqJAmsHG4XDue81ndSQPohUu0xA==", + "dev": true + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "enhanced-resolve": { + "version": "5.8.2", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz", + "integrity": "sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-module-lexer": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.7.1.tgz", + "integrity": "sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw==", + "dev": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "dev": true, + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fastest-levenshtein": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", + "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", + "dev": true + }, + "fastq": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.1.tgz", + "integrity": "sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "file-type": { + "version": "12.4.2", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-12.4.2.tgz", + "integrity": "sha512-UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg==", + "dev": true + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "follow-redirects": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", + "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==", + "dev": true + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true + }, + "fraction.js": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.1.tgz", + "integrity": "sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg==", + "dev": true + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + } + }, + "graceful-fs": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", + "dev": true + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", + "dev": true + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", + "dev": true + }, + "html-entities": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz", + "integrity": "sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==", + "dev": true + }, + "html-loader": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-1.3.2.tgz", + "integrity": "sha512-DEkUwSd0sijK5PF3kRWspYi56XP7bTNkyg5YWSzBdjaSDmvCufep5c4Vpb3PBf6lUL0YPtLwBfy9fL0t5hBAGA==", + "dev": true, + "requires": { + "html-minifier-terser": "^5.1.1", + "htmlparser2": "^4.1.0", + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "html-minifier-terser": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", + "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", + "dev": true, + "requires": { + "camel-case": "^4.1.1", + "clean-css": "^4.2.3", + "commander": "^4.1.1", + "he": "^1.2.0", + "param-case": "^3.0.3", + "relateurl": "^0.2.7", + "terser": "^4.6.3" + }, + "dependencies": { + "clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + } + }, + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + } + } + } + } + }, + "htmlparser2": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz", + "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^3.0.0", + "domutils": "^2.0.0", + "entities": "^2.0.0" + }, + "dependencies": { + "domhandler": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz", + "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1" + } + } + } + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "http-parser-js": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", + "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", + "dev": true + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-middleware": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-1.3.1.tgz", + "integrity": "sha512-13eVVDYS4z79w7f1+NPllJtOQFx/FdUW4btIvVRMaRlUY9VGstAbo5MOhLEuUgZFRHn3x50ufn25zkj/boZnEg==", + "dev": true, + "requires": { + "@types/http-proxy": "^1.17.5", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true + }, + "imagemin": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-7.0.1.tgz", + "integrity": "sha512-33AmZ+xjZhg2JMCe+vDf6a9mzWukE7l+wAtesjE7KyteqqKjzxv7aVQeWnul1Ve26mWvEQqyPwl0OctNBfSR9w==", + "dev": true, + "requires": { + "file-type": "^12.0.0", + "globby": "^10.0.0", + "graceful-fs": "^4.2.2", + "junk": "^3.1.0", + "make-dir": "^3.0.0", + "p-pipe": "^3.0.0", + "replace-ext": "^1.0.0" + } + }, + "img-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/img-loader/-/img-loader-4.0.0.tgz", + "integrity": "sha512-UwRcPQdwdOyEHyCxe1V9s9YFwInwEWCpoO+kJGfIqDrBDqA8jZUsEZTxQ0JteNPGw/Gupmwesk2OhLTcnw6tnQ==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0" + } + }, + "import-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz", + "integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==", + "dev": true, + "requires": { + "import-from": "^3.0.0" + } + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + } + } + }, + "import-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz", + "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "import-local": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "internal-ip": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-6.2.0.tgz", + "integrity": "sha512-D8WGsR6yDt8uq7vDMu7mjcR+yRMm3dW8yufyChmszWRjcSHuxLBkR3GdS2HZAjodsaGuCvXeEJpueisXJULghg==", + "dev": true, + "requires": { + "default-gateway": "^6.0.0", + "ipaddr.js": "^1.9.1", + "is-ip": "^3.1.0", + "p-event": "^4.2.0" + }, + "dependencies": { + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true + } + } + }, + "interpret": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", + "dev": true + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ip-regex": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", + "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", + "dev": true + }, + "ipaddr.js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "dev": true + }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "dev": true + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dev": true, + "requires": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + }, + "dependencies": { + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true + } + } + }, + "is-core-module": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz", + "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-ip": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", + "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", + "dev": true, + "requires": { + "ip-regex": "^4.0.0" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "jest-worker": { + "version": "27.0.6", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.6.tgz", + "integrity": "sha512-qupxcj/dRuA3xHPMUd40gr2EaAurFbkwzOh7wfPaeE9id7hyjURRQoqNfHifHK3XjJU6YJJUQKILGUnwGPEOCA==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jquery": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", + "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "junk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz", + "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==", + "dev": true + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "klona": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", + "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==", + "dev": true + }, + "laravel-mix": { + "version": "6.0.27", + "resolved": "https://registry.npmjs.org/laravel-mix/-/laravel-mix-6.0.27.tgz", + "integrity": "sha512-27KljRLiksseUNFwL3KhsdUKTBzo0JJllJAb1GhASq1JUg7YcP1f0uMj5xtdPBTdx3wOBraRWkGe82oCwpfU7g==", + "dev": true, + "requires": { + "@babel/core": "^7.14.5", + "@babel/plugin-proposal-object-rest-spread": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.14.5", + "@babel/preset-env": "^7.14.5", + "@babel/runtime": "^7.14.5", + "@types/babel__core": "^7.1.14", + "@types/clean-css": "^4.2.4", + "@types/imagemin-gifsicle": "^7.0.0", + "@types/imagemin-mozjpeg": "^8.0.0", + "@types/imagemin-optipng": "^5.2.0", + "@types/imagemin-svgo": "^8.0.0", + "autoprefixer": "^10.2.6", + "babel-loader": "^8.2.2", + "chalk": "^4.1.1", + "chokidar": "^3.5.1", + "clean-css": "^4.2.3 || ^5.1.2", + "cli-table3": "^0.6.0", + "collect.js": "^4.28.5", + "commander": "^7.2.0", + "concat": "^1.0.3", + "css-loader": "^5.2.6", + "cssnano": "^5.0.6", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "glob": "^7.1.7", + "html-loader": "^1.3.2", + "imagemin": "^7.0.1", + "img-loader": "^4.0.0", + "lodash": "^4.17.21", + "md5": "^2.3.0", + "mini-css-extract-plugin": "^1.6.0", + "node-libs-browser": "^2.2.1", + "postcss-load-config": "^3.0.1", + "postcss-loader": "^6.1.0", + "semver": "^7.3.5", + "strip-ansi": "^6.0.0", + "style-loader": "^2.0.0", + "terser": "^5.7.0", + "terser-webpack-plugin": "^5.1.3", + "vue-style-loader": "^4.1.3", + "webpack": "^5.38.1", + "webpack-cli": "^4.7.2", + "webpack-dev-server": "4.0.0-beta.3", + "webpack-merge": "^5.8.0", + "webpack-notifier": "^1.13.0", + "webpackbar": "^5.0.0-3", + "yargs": "^17.0.1" + } + }, + "lilconfig": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.3.tgz", + "integrity": "sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg==", + "dev": true + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "loader-runner": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", + "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", + "dev": true + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, + "requires": { + "p-defer": "^1.0.0" + } + }, + "md5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "dev": true, + "requires": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "mem": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/mem/-/mem-8.1.1.tgz", + "integrity": "sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA==", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.3", + "mimic-fn": "^3.1.0" + }, + "dependencies": { + "mimic-fn": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.1.0.tgz", + "integrity": "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==", + "dev": true + } + } + }, + "memfs": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.2.2.tgz", + "integrity": "sha512-RE0CwmIM3CEvpcdK3rZ19BC4E6hv9kADkMN5rPduRak58cNArWLi/9jFLsa4rhsjfVxMP3v0jO7FHXq7SvFY5Q==", + "dev": true, + "requires": { + "fs-monkey": "1.0.3" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "mime-db": { + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", + "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==", + "dev": true + }, + "mime-types": { + "version": "2.1.32", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", + "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", + "dev": true, + "requires": { + "mime-db": "1.49.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "mini-css-extract-plugin": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz", + "integrity": "sha512-WhDvO3SjGm40oV5y26GjMJYjd2UMqrLAGKy5YS2/3QKJy2F7jgynuHTir/tgUUOiNQu5saXHdc8reo7YuhhT4Q==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "webpack-sources": "^1.1.0" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "nanoid": { + "version": "3.1.25", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz", + "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==", + "dev": true + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node-forge": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", + "dev": true + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "node-notifier": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-9.0.1.tgz", + "integrity": "sha512-fPNFIp2hF/Dq7qLDzSg4vZ0J4e9v60gJR+Qx7RbjbWqzPDdEqeVpEx5CFeDAELIl+A/woaaNn1fQ5nEVerMxJg==", + "dev": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.2", + "shellwords": "^0.1.1", + "uuid": "^8.3.0", + "which": "^2.0.2" + }, + "dependencies": { + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + } + } + }, + "node-releases": { + "version": "1.1.74", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.74.tgz", + "integrity": "sha512-caJBVempXZPepZoZAPCWRTNxYQ+xtG/KAi4ozTA5A+nJ7IU+kLQCbqaUjb5Rwy14M9upBWiQ4NutcmW04LJSRw==", + "dev": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "nth-check": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", + "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "dev": true, + "requires": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true + }, + "p-event": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", + "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", + "dev": true, + "requires": { + "p-timeout": "^3.1.0" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-pipe": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz", + "integrity": "sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==", + "dev": true + }, + "p-retry": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz", + "integrity": "sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==", + "dev": true, + "requires": { + "@types/retry": "^0.12.0", + "retry": "^0.13.1" + } + }, + "p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "dev": true, + "requires": { + "p-finally": "^1.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "popper.js": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", + "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==", + "dev": true + }, + "portfinder": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", + "dev": true, + "requires": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "postcss": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz", + "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==", + "dev": true, + "requires": { + "colorette": "^1.2.2", + "nanoid": "^3.1.23", + "source-map-js": "^0.6.2" + } + }, + "postcss-calc": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.0.0.tgz", + "integrity": "sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + } + }, + "postcss-colormin": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.0.tgz", + "integrity": "sha512-+HC6GfWU3upe5/mqmxuqYZ9B2Wl4lcoUUNkoaX59nEWV4EtADCMiBqui111Bu8R8IvaZTmqmxrqOAqjbHIwXPw==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "colord": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-convert-values": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.1.tgz", + "integrity": "sha512-C3zR1Do2BkKkCgC0g3sF8TS0koF2G+mN8xxayZx3f10cIRmTaAnpgpRQZjNekTZxM2ciSPoh2IWJm0VZx8NoQg==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-discard-comments": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz", + "integrity": "sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==", + "dev": true + }, + "postcss-discard-duplicates": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz", + "integrity": "sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==", + "dev": true + }, + "postcss-discard-empty": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz", + "integrity": "sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==", + "dev": true + }, + "postcss-discard-overridden": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz", + "integrity": "sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q==", + "dev": true + }, + "postcss-load-config": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.0.tgz", + "integrity": "sha512-ipM8Ds01ZUophjDTQYSVP70slFSYg3T0/zyfII5vzhN6V57YSxMgG5syXuwi5VtS8wSf3iL30v0uBdoIVx4Q0g==", + "dev": true, + "requires": { + "import-cwd": "^3.0.0", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + } + }, + "postcss-loader": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.1.1.tgz", + "integrity": "sha512-lBmJMvRh1D40dqpWKr9Rpygwxn8M74U9uaCSeYGNKLGInbk9mXBt1ultHf2dH9Ghk6Ue4UXlXWwGMH9QdUJ5ug==", + "dev": true, + "requires": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.4", + "semver": "^7.3.5" + } + }, + "postcss-merge-longhand": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.2.tgz", + "integrity": "sha512-BMlg9AXSI5G9TBT0Lo/H3PfUy63P84rVz3BjCFE9e9Y9RXQZD3+h3YO1kgTNsNJy7bBc1YQp8DmSnwLIW5VPcw==", + "dev": true, + "requires": { + "css-color-names": "^1.0.1", + "postcss-value-parser": "^4.1.0", + "stylehacks": "^5.0.1" + } + }, + "postcss-merge-rules": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.2.tgz", + "integrity": "sha512-5K+Md7S3GwBewfB4rjDeol6V/RZ8S+v4B66Zk2gChRqLTCC8yjnHQ601omj9TKftS19OPGqZ/XzoqpzNQQLwbg==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^2.0.1", + "postcss-selector-parser": "^6.0.5", + "vendors": "^1.0.3" + } + }, + "postcss-minify-font-values": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz", + "integrity": "sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-minify-gradients": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.1.tgz", + "integrity": "sha512-odOwBFAIn2wIv+XYRpoN2hUV3pPQlgbJ10XeXPq8UY2N+9ZG42xu45lTn/g9zZ+d70NKSQD6EOi6UiCMu3FN7g==", + "dev": true, + "requires": { + "cssnano-utils": "^2.0.1", + "is-color-stop": "^1.1.0", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-minify-params": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.1.tgz", + "integrity": "sha512-4RUC4k2A/Q9mGco1Z8ODc7h+A0z7L7X2ypO1B6V8057eVK6mZ6xwz6QN64nHuHLbqbclkX1wyzRnIrdZehTEHw==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.2", + "browserslist": "^4.16.0", + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0", + "uniqs": "^2.0.0" + } + }, + "postcss-minify-selectors": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz", + "integrity": "sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.2", + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true + }, + "postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-normalize-charset": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz", + "integrity": "sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==", + "dev": true + }, + "postcss-normalize-display-values": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz", + "integrity": "sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ==", + "dev": true, + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-positions": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz", + "integrity": "sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz", + "integrity": "sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w==", + "dev": true, + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-string": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz", + "integrity": "sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz", + "integrity": "sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q==", + "dev": true, + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-unicode": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz", + "integrity": "sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA==", + "dev": true, + "requires": { + "browserslist": "^4.16.0", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-url": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.2.tgz", + "integrity": "sha512-k4jLTPUxREQ5bpajFQZpx8bCF2UrlqOTzP9kEqcEnOfwsRshWs2+oAFIHfDQB8GO2PaUaSE0NlTAYtbluZTlHQ==", + "dev": true, + "requires": { + "is-absolute-url": "^3.0.3", + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-whitespace": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz", + "integrity": "sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-ordered-values": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz", + "integrity": "sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ==", + "dev": true, + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-reduce-initial": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz", + "integrity": "sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw==", + "dev": true, + "requires": { + "browserslist": "^4.16.0", + "caniuse-api": "^3.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz", + "integrity": "sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA==", + "dev": true, + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-selector-parser": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", + "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.2.tgz", + "integrity": "sha512-YzQuFLZu3U3aheizD+B1joQ94vzPfE6BNUcSYuceNxlVnKKsOtdo6hL9/zyC168Q8EwfLSgaDSalsUGa9f2C0A==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0", + "svgo": "^2.3.0" + } + }, + "postcss-unique-selectors": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.1.tgz", + "integrity": "sha512-gwi1NhHV4FMmPn+qwBNuot1sG1t2OmacLQ/AX29lzyggnjd+MnVD5uqQmpXO3J17KGL2WAxQruj1qTd3H0gG/w==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.2", + "postcss-selector-parser": "^6.0.5", + "uniqs": "^2.0.0" + } + }, + "postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "dev": true + }, + "pretty-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", + "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "dependencies": { + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true + } + } + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + } + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "rechoir": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", + "dev": true, + "requires": { + "resolve": "^1.9.0" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "dev": true, + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "dev": true + }, + "regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", + "dev": true + }, + "regexp.prototype.flags": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "regexpu-core": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + } + }, + "regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "dev": true + }, + "regjsparser": { + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", + "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "dev": true + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "resolve-url-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", + "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", + "dev": true, + "requires": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^7.0.35", + "source-map": "0.6.1" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", + "dev": true + }, + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sass": { + "version": "1.37.5", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.37.5.tgz", + "integrity": "sha512-Cx3ewxz9QB/ErnVIiWg2cH0kiYZ0FPvheDTVC6BsiEGBTZKKZJ1Gq5Kq6jy3PKtL6+EJ8NIoaBW/RSd2R6cZOA==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0" + } + }, + "sass-loader": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-11.1.1.tgz", + "integrity": "sha512-fOCp/zLmj1V1WHDZbUbPgrZhA7HKXHEqkslzB+05U5K9SbSbcmH91C7QLW31AsXikxUMaxXRhhcqWZAxUMLDyA==", + "dev": true, + "requires": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + } + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selfsigned": { + "version": "1.10.11", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", + "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", + "dev": true, + "requires": { + "node-forge": "^0.10.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "sockjs": { + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", + "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", + "dev": true, + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^3.4.0", + "websocket-driver": "^0.7.4" + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", + "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", + "dev": true + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + }, + "std-env": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-2.3.0.tgz", + "integrity": "sha512-4qT5B45+Kjef2Z6pE0BkskzsH0GO7GrND0wGlTM1ioUe3v0dGYx9ZJH0Aro/YyA8fqQ5EyIKDRjZojJYMFTflw==", + "dev": true, + "requires": { + "ci-info": "^3.0.0" + } + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "style-loader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", + "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "stylehacks": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.1.tgz", + "integrity": "sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA==", + "dev": true, + "requires": { + "browserslist": "^4.16.0", + "postcss-selector-parser": "^6.0.4" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "svgo": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.4.0.tgz", + "integrity": "sha512-W25S1UUm9Lm9VnE0TvCzL7aso/NCzDEaXLaElCUO/KaVitw0+IBicSVfM1L1c0YHK5TOFh73yQ2naCpVHEQ/OQ==", + "dev": true, + "requires": { + "@trysound/sax": "0.1.1", + "colorette": "^1.2.2", + "commander": "^7.1.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.2", + "csso": "^4.2.0", + "stable": "^0.1.8" + } + }, + "tapable": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", + "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", + "dev": true + }, + "terser": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.1.tgz", + "integrity": "sha512-b3e+d5JbHAe/JSjwsC3Zn55wsBIM7AsHLjKxT31kGCldgbpFePaFo+PiddtO6uwRZWRw7sPXmAN8dTW61xmnSg==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.4.tgz", + "integrity": "sha512-C2WkFwstHDhVEmsmlCxrXUtVklS+Ir1A7twrYzrDrQQOIMOaVAYykaoo/Aq1K0QRkMoY2hhvDQY1cm4jnIMFwA==", + "dev": true, + "requires": { + "jest-worker": "^27.0.2", + "p-limit": "^3.1.0", + "schema-utils": "^3.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1", + "terser": "^5.7.0" + }, + "dependencies": { + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "dev": true + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "dev": true + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", + "dev": true + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "vue-style-loader": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz", + "integrity": "sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==", + "dev": true, + "requires": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + } + }, + "watchpack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz", + "integrity": "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==", + "dev": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "webpack": { + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.50.0.tgz", + "integrity": "sha512-hqxI7t/KVygs0WRv/kTgUW8Kl3YC81uyWQSo/7WUs5LsuRw0htH/fCwbVBGCuiX/t4s7qzjXFcf41O8Reiypag==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.0", + "@types/estree": "^0.0.50", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.8.0", + "es-module-lexer": "^0.7.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.4", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.2.0", + "webpack-sources": "^3.2.0" + }, + "dependencies": { + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "webpack-sources": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.0.tgz", + "integrity": "sha512-fahN08Et7P9trej8xz/Z7eRu8ltyiygEo/hnRi9KqBUs80KeDcnf96ZJo++ewWd84fEf3xSX9bp4ZS9hbw0OBw==", + "dev": true + } + } + }, + "webpack-cli": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.7.2.tgz", + "integrity": "sha512-mEoLmnmOIZQNiRl0ebnjzQ74Hk0iKS5SiEEnpq3dRezoyR3yPaeQZCMCe+db4524pj1Pd5ghZXjT41KLzIhSLw==", + "dev": true, + "requires": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^1.0.4", + "@webpack-cli/info": "^1.3.0", + "@webpack-cli/serve": "^1.5.1", + "colorette": "^1.2.1", + "commander": "^7.0.0", + "execa": "^5.0.0", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^2.2.0", + "rechoir": "^0.7.0", + "v8-compile-cache": "^2.2.0", + "webpack-merge": "^5.7.3" + } + }, + "webpack-dev-middleware": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-4.3.0.tgz", + "integrity": "sha512-PjwyVY95/bhBh6VUqt6z4THplYcsvQ8YNNBTBM873xLVmw8FLeALn0qurHbs9EmcfhzQis/eoqypSnZeuUz26w==", + "dev": true, + "requires": { + "colorette": "^1.2.2", + "mem": "^8.1.1", + "memfs": "^3.2.2", + "mime-types": "^2.1.30", + "range-parser": "^1.2.1", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "webpack-dev-server": { + "version": "4.0.0-beta.3", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.0.0-beta.3.tgz", + "integrity": "sha512-Ud7ieH15No/KiSdRuzk+2k+S4gSCR/N7m4hJhesDbKQEZy3P+NPXTXfsimNOZvbVX2TRuIEFB+VdLZFn8DwGwg==", + "dev": true, + "requires": { + "ansi-html": "^0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^3.5.1", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "del": "^6.0.0", + "express": "^4.17.1", + "find-cache-dir": "^3.3.1", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^1.3.1", + "internal-ip": "^6.2.0", + "ipaddr.js": "^2.0.0", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "open": "^7.4.2", + "p-retry": "^4.5.0", + "portfinder": "^1.0.28", + "schema-utils": "^3.0.0", + "selfsigned": "^1.10.11", + "serve-index": "^1.9.1", + "sockjs": "^0.3.21", + "spdy": "^4.0.2", + "strip-ansi": "^6.0.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^4.1.0", + "ws": "^7.4.5" + }, + "dependencies": { + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + } + }, + "webpack-notifier": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/webpack-notifier/-/webpack-notifier-1.13.0.tgz", + "integrity": "sha512-QLk6l/TZKGhyN6Hd1zobaiYno7S9YPX3wH86+YOSufHes77SegGhnGdj+4vrLDFK5A4ZKoQD5GRXXFnM0h0N8A==", + "dev": true, + "requires": { + "node-notifier": "^9.0.0", + "strip-ansi": "^6.0.0" + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "webpackbar": { + "version": "5.0.0-3", + "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.0-3.tgz", + "integrity": "sha512-viW6KCYjMb0NPoDrw2jAmLXU2dEOhRrtku28KmOfeE1vxbfwCYuTbTaMhnkrCZLFAFyY9Q49Z/jzYO80Dw5b8g==", + "dev": true, + "requires": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.1.0", + "consola": "^2.15.0", + "figures": "^3.2.0", + "pretty-time": "^1.1.0", + "std-env": "^2.2.1", + "text-table": "^0.2.0", + "wrap-ansi": "^7.0.0" + } + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "ws": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz", + "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true + }, + "yargs": { + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.1.1.tgz", + "integrity": "sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 000000000..87487073a --- /dev/null +++ b/package.json @@ -0,0 +1,24 @@ +{ + "private": true, + "scripts": { + "dev": "npm run development", + "development": "mix", + "watch": "mix watch", + "watch-poll": "mix watch -- --watch-options-poll=1000", + "hot": "mix watch --hot", + "prod": "npm run production", + "production": "mix --production" + }, + "devDependencies": { + "axios": "^0.21", + "bootstrap": "^4.6.0", + "jquery": "^3.6", + "laravel-mix": "^6.0.6", + "lodash": "^4.17.19", + "popper.js": "^1.16.1", + "postcss": "^8.1.14", + "resolve-url-loader": "^4.0.0", + "sass": "^1.32.11", + "sass-loader": "^11.0.1" + } +} diff --git a/php/local.ini b/php/local.ini new file mode 100644 index 000000000..2f65e1992 --- /dev/null +++ b/php/local.ini @@ -0,0 +1,2 @@ +upload_max_filesize=40M +post_max_size=40M \ No newline at end of file diff --git a/phpunit.xml b/phpunit.xml new file mode 100644 index 000000000..d6ce8a7d0 --- /dev/null +++ b/phpunit.xml @@ -0,0 +1,31 @@ + + + + + ./tests/Unit + + + ./tests/Feature + + + + + ./app + + + + + + + + server name="DB_DATABASE" value=":memory:"/> + + + + + + diff --git a/public/.htaccess b/public/.htaccess new file mode 100644 index 000000000..3aec5e27e --- /dev/null +++ b/public/.htaccess @@ -0,0 +1,21 @@ + + + Options -MultiViews -Indexes + + + RewriteEngine On + + # Handle Authorization Header + RewriteCond %{HTTP:Authorization} . + RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] + + # Redirect Trailing Slashes If Not A Folder... + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_URI} (.+)/$ + RewriteRule ^ %1 [L,R=301] + + # Send Requests To Front Controller... + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_FILENAME} !-f + RewriteRule ^ index.php [L] + diff --git a/public/appname.svg b/public/appname.svg new file mode 100644 index 000000000..f5c97e302 --- /dev/null +++ b/public/appname.svg @@ -0,0 +1,87 @@ + + + + +
+ +
+

UnifiedTransform

+

Makes managing schools an amazing experience

+
+
+
+
\ No newline at end of file diff --git a/public/bootstrap-5-1.svg b/public/bootstrap-5-1.svg new file mode 100644 index 000000000..7965e4c35 --- /dev/null +++ b/public/bootstrap-5-1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/css/app.css b/public/css/app.css new file mode 100644 index 000000000..0679e164f --- /dev/null +++ b/public/css/app.css @@ -0,0 +1,208 @@ +@import url("bootstrap-icons-1.7.1/font/bootstrap-icons.css"); +/* @import url('https://fonts.googleapis.com/css2?family=Ubuntu:wght@400&display=swap'); */ + +@font-face { + font-family: 'Ubuntu'; + src: URL('fonts/Ubuntu/Ubuntu-Regular.ttf') format('truetype'); +} + +body { + background-color: #f8f9fa; + font-family: 'Ubuntu', sans-serif; +} + +#watermark { + color: #efefef; + font-size: 50px; + transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); + -moz-transform: rotate(-45deg); + position: absolute; + margin: 0; + z-index: -1; + left:0; + top: 200px; +} + +.nav-item > .nav.collapse { + border: 1px solid #1693e3; +} + +/* .dashboard .card { + background-color: transparent; +} */ + +.bg-dark { + background-image: linear-gradient(-45deg,#1054a9,#179ceb); +} + +.nav-link { + color: #212529; +} + +.nav-link.active { + color: #fff !important;/*#212529;*/ + border-top: 1px solid #dee2e6; + border-left: 1px solid #dee2e6; + border-bottom: 1px solid #dee2e6; + /*background-color: #ffffff;#f8f9fa;#0d6efd;*/ + background-image: linear-gradient(-45deg,#1054a9,#179ceb); + box-shadow: 0 .125rem .25rem rgba(0,0,0,.075)!important; +} + +.navbar-pad { + padding-top: 0; + padding-bottom: 0; +} + +.pos-fix-bt0-z10 { + position: fixed; + bottom: 0; + z-index: 10; +} + +.border-top-e6 { + /* border-top: 1px solid #e6e6e6; */ + border-top: 1px solid #d9d9d9; +} + +.border-btm-e6 { + /* border-bottom: 1px solid #e6e6e6; */ + border-bottom: 1px solid #d9d9d9; +} + +.border-rt-e6 { + /* border-right: 1px solid #e6e6e6; */ + border-right: 1px solid #d9d9d9; +} + +.loading-bg-color { + background-color: #f8f9fa; +} + +.dropdown-toggle.caret-off::after { + display: none; +} +/*https://mdbootstrap.com/docs/standard/extended/timeline/*/ +.timeline-1 { + border-left: 3px solid #b565a7; + border-bottom-right-radius: 4px; + border-top-right-radius: 4px; + background: rgba(177, 99, 163, 0.09); + margin: 0 auto; + position: relative; + padding: 50px; + list-style: none; + text-align: left; + max-width: 40%; +} + +@media (max-width: 767px) { + .timeline-1 { + max-width: 98%; + padding: 25px; + } +} + + .timeline-1 .event { + border-bottom: 1px dashed #000; + padding-bottom: 25px; + margin-bottom: 25px; + position: relative; + } + + @media (max-width: 767px) { + .timeline-1 .event { + padding-top: 30px; + } + } + + .timeline-1 .event:last-of-type { + padding-bottom: 0; + margin-bottom: 0; + border: none; + } + + .timeline-1 .event:before, + .timeline-1 .event:after { + position: absolute; + display: block; + top: 0; + } + + .timeline-1 .event:before { + left: -207px; + content: attr(data-date); + text-align: right; + font-weight: 100; + font-size: 0.9em; + min-width: 120px; + } + + @media (max-width: 767px) { + .timeline-1 .event:before { + left: 0px; + text-align: left; + } + } + + .timeline-1 .event:after { + -webkit-box-shadow: 0 0 0 3px #b565a7; + box-shadow: 0 0 0 3px #b565a7; + left: -55.8px; + background: #fff; + border-radius: 50%; + height: 9px; + width: 9px; + content: ""; + top: 5px; + } + + @media (max-width: 767px) { + .timeline-1 .event:after { + left: -31.8px; + } + } + +/* https://laracasts.com/discuss/channels/laravel/loading-spinner-in-blade?page=1&replyId=611191*/ +.loading { + z-index: 20; + position: absolute; + top: 0; + left:-5px; + width: 100%; + height: 100%; + background-color: rgba(0,0,0,0.4); +} +.loading-content { + position: absolute; + border: 16px solid #f3f3f3; /* Light grey */ + border-top: 16px solid #3498db; /* Blue */ + border-radius: 50%; + width: 50px; + height: 50px; + top: 40%; + left:35%; + animation: spin 2s linear infinite; +} + +@keyframes spin { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(360deg); } +} + +/* .table:not(.syllabus-table) th:first-child, +.table:not(.syllabus-table) td:first-child { + position: sticky; + left: 0; + background-color: #fff; + color: #212529; +} */ + +.table th, .table td { + white-space: nowrap; +} + +figure.table th, figure.table td { + width: 100%; +} \ No newline at end of file diff --git a/public/css/bootstrap-icons-1.7.1/font/bootstrap-icons.css b/public/css/bootstrap-icons-1.7.1/font/bootstrap-icons.css new file mode 100644 index 000000000..add9409d8 --- /dev/null +++ b/public/css/bootstrap-icons-1.7.1/font/bootstrap-icons.css @@ -0,0 +1,1556 @@ +@font-face { + font-family: "bootstrap-icons"; + src: url("./fonts/bootstrap-icons.woff2?a74547b2f0863226942ff8ded57db345") format("woff2"), +url("./fonts/bootstrap-icons.woff?a74547b2f0863226942ff8ded57db345") format("woff"); +} + +.bi::before, +[class^="bi-"]::before, +[class*=" bi-"]::before { + display: inline-block; + font-family: bootstrap-icons !important; + font-style: normal; + font-weight: normal !important; + font-variant: normal; + text-transform: none; + line-height: 1; + vertical-align: -.125em; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.bi-123::before { content: "\f67f"; } +.bi-alarm-fill::before { content: "\f101"; } +.bi-alarm::before { content: "\f102"; } +.bi-align-bottom::before { content: "\f103"; } +.bi-align-center::before { content: "\f104"; } +.bi-align-end::before { content: "\f105"; } +.bi-align-middle::before { content: "\f106"; } +.bi-align-start::before { content: "\f107"; } +.bi-align-top::before { content: "\f108"; } +.bi-alt::before { content: "\f109"; } +.bi-app-indicator::before { content: "\f10a"; } +.bi-app::before { content: "\f10b"; } +.bi-archive-fill::before { content: "\f10c"; } +.bi-archive::before { content: "\f10d"; } +.bi-arrow-90deg-down::before { content: "\f10e"; } +.bi-arrow-90deg-left::before { content: "\f10f"; } +.bi-arrow-90deg-right::before { content: "\f110"; } +.bi-arrow-90deg-up::before { content: "\f111"; } +.bi-arrow-bar-down::before { content: "\f112"; } +.bi-arrow-bar-left::before { content: "\f113"; } +.bi-arrow-bar-right::before { content: "\f114"; } +.bi-arrow-bar-up::before { content: "\f115"; } +.bi-arrow-clockwise::before { content: "\f116"; } +.bi-arrow-counterclockwise::before { content: "\f117"; } +.bi-arrow-down-circle-fill::before { content: "\f118"; } +.bi-arrow-down-circle::before { content: "\f119"; } +.bi-arrow-down-left-circle-fill::before { content: "\f11a"; } +.bi-arrow-down-left-circle::before { content: "\f11b"; } +.bi-arrow-down-left-square-fill::before { content: "\f11c"; } +.bi-arrow-down-left-square::before { content: "\f11d"; } +.bi-arrow-down-left::before { content: "\f11e"; } +.bi-arrow-down-right-circle-fill::before { content: "\f11f"; } +.bi-arrow-down-right-circle::before { content: "\f120"; } +.bi-arrow-down-right-square-fill::before { content: "\f121"; } +.bi-arrow-down-right-square::before { content: "\f122"; } +.bi-arrow-down-right::before { content: "\f123"; } +.bi-arrow-down-short::before { content: "\f124"; } +.bi-arrow-down-square-fill::before { content: "\f125"; } +.bi-arrow-down-square::before { content: "\f126"; } +.bi-arrow-down-up::before { content: "\f127"; } +.bi-arrow-down::before { content: "\f128"; } +.bi-arrow-left-circle-fill::before { content: "\f129"; } +.bi-arrow-left-circle::before { content: "\f12a"; } +.bi-arrow-left-right::before { content: "\f12b"; } +.bi-arrow-left-short::before { content: "\f12c"; } +.bi-arrow-left-square-fill::before { content: "\f12d"; } +.bi-arrow-left-square::before { content: "\f12e"; } +.bi-arrow-left::before { content: "\f12f"; } +.bi-arrow-repeat::before { content: "\f130"; } +.bi-arrow-return-left::before { content: "\f131"; } +.bi-arrow-return-right::before { content: "\f132"; } +.bi-arrow-right-circle-fill::before { content: "\f133"; } +.bi-arrow-right-circle::before { content: "\f134"; } +.bi-arrow-right-short::before { content: "\f135"; } +.bi-arrow-right-square-fill::before { content: "\f136"; } +.bi-arrow-right-square::before { content: "\f137"; } +.bi-arrow-right::before { content: "\f138"; } +.bi-arrow-up-circle-fill::before { content: "\f139"; } +.bi-arrow-up-circle::before { content: "\f13a"; } +.bi-arrow-up-left-circle-fill::before { content: "\f13b"; } +.bi-arrow-up-left-circle::before { content: "\f13c"; } +.bi-arrow-up-left-square-fill::before { content: "\f13d"; } +.bi-arrow-up-left-square::before { content: "\f13e"; } +.bi-arrow-up-left::before { content: "\f13f"; } +.bi-arrow-up-right-circle-fill::before { content: "\f140"; } +.bi-arrow-up-right-circle::before { content: "\f141"; } +.bi-arrow-up-right-square-fill::before { content: "\f142"; } +.bi-arrow-up-right-square::before { content: "\f143"; } +.bi-arrow-up-right::before { content: "\f144"; } +.bi-arrow-up-short::before { content: "\f145"; } +.bi-arrow-up-square-fill::before { content: "\f146"; } +.bi-arrow-up-square::before { content: "\f147"; } +.bi-arrow-up::before { content: "\f148"; } +.bi-arrows-angle-contract::before { content: "\f149"; } +.bi-arrows-angle-expand::before { content: "\f14a"; } +.bi-arrows-collapse::before { content: "\f14b"; } +.bi-arrows-expand::before { content: "\f14c"; } +.bi-arrows-fullscreen::before { content: "\f14d"; } +.bi-arrows-move::before { content: "\f14e"; } +.bi-aspect-ratio-fill::before { content: "\f14f"; } +.bi-aspect-ratio::before { content: "\f150"; } +.bi-asterisk::before { content: "\f151"; } +.bi-at::before { content: "\f152"; } +.bi-award-fill::before { content: "\f153"; } +.bi-award::before { content: "\f154"; } +.bi-back::before { content: "\f155"; } +.bi-backspace-fill::before { content: "\f156"; } +.bi-backspace-reverse-fill::before { content: "\f157"; } +.bi-backspace-reverse::before { content: "\f158"; } +.bi-backspace::before { content: "\f159"; } +.bi-badge-3d-fill::before { content: "\f15a"; } +.bi-badge-3d::before { content: "\f15b"; } +.bi-badge-4k-fill::before { content: "\f15c"; } +.bi-badge-4k::before { content: "\f15d"; } +.bi-badge-8k-fill::before { content: "\f15e"; } +.bi-badge-8k::before { content: "\f15f"; } +.bi-badge-ad-fill::before { content: "\f160"; } +.bi-badge-ad::before { content: "\f161"; } +.bi-badge-ar-fill::before { content: "\f162"; } +.bi-badge-ar::before { content: "\f163"; } +.bi-badge-cc-fill::before { content: "\f164"; } +.bi-badge-cc::before { content: "\f165"; } +.bi-badge-hd-fill::before { content: "\f166"; } +.bi-badge-hd::before { content: "\f167"; } +.bi-badge-tm-fill::before { content: "\f168"; } +.bi-badge-tm::before { content: "\f169"; } +.bi-badge-vo-fill::before { content: "\f16a"; } +.bi-badge-vo::before { content: "\f16b"; } +.bi-badge-vr-fill::before { content: "\f16c"; } +.bi-badge-vr::before { content: "\f16d"; } +.bi-badge-wc-fill::before { content: "\f16e"; } +.bi-badge-wc::before { content: "\f16f"; } +.bi-bag-check-fill::before { content: "\f170"; } +.bi-bag-check::before { content: "\f171"; } +.bi-bag-dash-fill::before { content: "\f172"; } +.bi-bag-dash::before { content: "\f173"; } +.bi-bag-fill::before { content: "\f174"; } +.bi-bag-plus-fill::before { content: "\f175"; } +.bi-bag-plus::before { content: "\f176"; } +.bi-bag-x-fill::before { content: "\f177"; } +.bi-bag-x::before { content: "\f178"; } +.bi-bag::before { content: "\f179"; } +.bi-bar-chart-fill::before { content: "\f17a"; } +.bi-bar-chart-line-fill::before { content: "\f17b"; } +.bi-bar-chart-line::before { content: "\f17c"; } +.bi-bar-chart-steps::before { content: "\f17d"; } +.bi-bar-chart::before { content: "\f17e"; } +.bi-basket-fill::before { content: "\f17f"; } +.bi-basket::before { content: "\f180"; } +.bi-basket2-fill::before { content: "\f181"; } +.bi-basket2::before { content: "\f182"; } +.bi-basket3-fill::before { content: "\f183"; } +.bi-basket3::before { content: "\f184"; } +.bi-battery-charging::before { content: "\f185"; } +.bi-battery-full::before { content: "\f186"; } +.bi-battery-half::before { content: "\f187"; } +.bi-battery::before { content: "\f188"; } +.bi-bell-fill::before { content: "\f189"; } +.bi-bell::before { content: "\f18a"; } +.bi-bezier::before { content: "\f18b"; } +.bi-bezier2::before { content: "\f18c"; } +.bi-bicycle::before { content: "\f18d"; } +.bi-binoculars-fill::before { content: "\f18e"; } +.bi-binoculars::before { content: "\f18f"; } +.bi-blockquote-left::before { content: "\f190"; } +.bi-blockquote-right::before { content: "\f191"; } +.bi-book-fill::before { content: "\f192"; } +.bi-book-half::before { content: "\f193"; } +.bi-book::before { content: "\f194"; } +.bi-bookmark-check-fill::before { content: "\f195"; } +.bi-bookmark-check::before { content: "\f196"; } +.bi-bookmark-dash-fill::before { content: "\f197"; } +.bi-bookmark-dash::before { content: "\f198"; } +.bi-bookmark-fill::before { content: "\f199"; } +.bi-bookmark-heart-fill::before { content: "\f19a"; } +.bi-bookmark-heart::before { content: "\f19b"; } +.bi-bookmark-plus-fill::before { content: "\f19c"; } +.bi-bookmark-plus::before { content: "\f19d"; } +.bi-bookmark-star-fill::before { content: "\f19e"; } +.bi-bookmark-star::before { content: "\f19f"; } +.bi-bookmark-x-fill::before { content: "\f1a0"; } +.bi-bookmark-x::before { content: "\f1a1"; } +.bi-bookmark::before { content: "\f1a2"; } +.bi-bookmarks-fill::before { content: "\f1a3"; } +.bi-bookmarks::before { content: "\f1a4"; } +.bi-bookshelf::before { content: "\f1a5"; } +.bi-bootstrap-fill::before { content: "\f1a6"; } +.bi-bootstrap-reboot::before { content: "\f1a7"; } +.bi-bootstrap::before { content: "\f1a8"; } +.bi-border-all::before { content: "\f1a9"; } +.bi-border-bottom::before { content: "\f1aa"; } +.bi-border-center::before { content: "\f1ab"; } +.bi-border-inner::before { content: "\f1ac"; } +.bi-border-left::before { content: "\f1ad"; } +.bi-border-middle::before { content: "\f1ae"; } +.bi-border-outer::before { content: "\f1af"; } +.bi-border-right::before { content: "\f1b0"; } +.bi-border-style::before { content: "\f1b1"; } +.bi-border-top::before { content: "\f1b2"; } +.bi-border-width::before { content: "\f1b3"; } +.bi-border::before { content: "\f1b4"; } +.bi-bounding-box-circles::before { content: "\f1b5"; } +.bi-bounding-box::before { content: "\f1b6"; } +.bi-box-arrow-down-left::before { content: "\f1b7"; } +.bi-box-arrow-down-right::before { content: "\f1b8"; } +.bi-box-arrow-down::before { content: "\f1b9"; } +.bi-box-arrow-in-down-left::before { content: "\f1ba"; } +.bi-box-arrow-in-down-right::before { content: "\f1bb"; } +.bi-box-arrow-in-down::before { content: "\f1bc"; } +.bi-box-arrow-in-left::before { content: "\f1bd"; } +.bi-box-arrow-in-right::before { content: "\f1be"; } +.bi-box-arrow-in-up-left::before { content: "\f1bf"; } +.bi-box-arrow-in-up-right::before { content: "\f1c0"; } +.bi-box-arrow-in-up::before { content: "\f1c1"; } +.bi-box-arrow-left::before { content: "\f1c2"; } +.bi-box-arrow-right::before { content: "\f1c3"; } +.bi-box-arrow-up-left::before { content: "\f1c4"; } +.bi-box-arrow-up-right::before { content: "\f1c5"; } +.bi-box-arrow-up::before { content: "\f1c6"; } +.bi-box-seam::before { content: "\f1c7"; } +.bi-box::before { content: "\f1c8"; } +.bi-braces::before { content: "\f1c9"; } +.bi-bricks::before { content: "\f1ca"; } +.bi-briefcase-fill::before { content: "\f1cb"; } +.bi-briefcase::before { content: "\f1cc"; } +.bi-brightness-alt-high-fill::before { content: "\f1cd"; } +.bi-brightness-alt-high::before { content: "\f1ce"; } +.bi-brightness-alt-low-fill::before { content: "\f1cf"; } +.bi-brightness-alt-low::before { content: "\f1d0"; } +.bi-brightness-high-fill::before { content: "\f1d1"; } +.bi-brightness-high::before { content: "\f1d2"; } +.bi-brightness-low-fill::before { content: "\f1d3"; } +.bi-brightness-low::before { content: "\f1d4"; } +.bi-broadcast-pin::before { content: "\f1d5"; } +.bi-broadcast::before { content: "\f1d6"; } +.bi-brush-fill::before { content: "\f1d7"; } +.bi-brush::before { content: "\f1d8"; } +.bi-bucket-fill::before { content: "\f1d9"; } +.bi-bucket::before { content: "\f1da"; } +.bi-bug-fill::before { content: "\f1db"; } +.bi-bug::before { content: "\f1dc"; } +.bi-building::before { content: "\f1dd"; } +.bi-bullseye::before { content: "\f1de"; } +.bi-calculator-fill::before { content: "\f1df"; } +.bi-calculator::before { content: "\f1e0"; } +.bi-calendar-check-fill::before { content: "\f1e1"; } +.bi-calendar-check::before { content: "\f1e2"; } +.bi-calendar-date-fill::before { content: "\f1e3"; } +.bi-calendar-date::before { content: "\f1e4"; } +.bi-calendar-day-fill::before { content: "\f1e5"; } +.bi-calendar-day::before { content: "\f1e6"; } +.bi-calendar-event-fill::before { content: "\f1e7"; } +.bi-calendar-event::before { content: "\f1e8"; } +.bi-calendar-fill::before { content: "\f1e9"; } +.bi-calendar-minus-fill::before { content: "\f1ea"; } +.bi-calendar-minus::before { content: "\f1eb"; } +.bi-calendar-month-fill::before { content: "\f1ec"; } +.bi-calendar-month::before { content: "\f1ed"; } +.bi-calendar-plus-fill::before { content: "\f1ee"; } +.bi-calendar-plus::before { content: "\f1ef"; } +.bi-calendar-range-fill::before { content: "\f1f0"; } +.bi-calendar-range::before { content: "\f1f1"; } +.bi-calendar-week-fill::before { content: "\f1f2"; } +.bi-calendar-week::before { content: "\f1f3"; } +.bi-calendar-x-fill::before { content: "\f1f4"; } +.bi-calendar-x::before { content: "\f1f5"; } +.bi-calendar::before { content: "\f1f6"; } +.bi-calendar2-check-fill::before { content: "\f1f7"; } +.bi-calendar2-check::before { content: "\f1f8"; } +.bi-calendar2-date-fill::before { content: "\f1f9"; } +.bi-calendar2-date::before { content: "\f1fa"; } +.bi-calendar2-day-fill::before { content: "\f1fb"; } +.bi-calendar2-day::before { content: "\f1fc"; } +.bi-calendar2-event-fill::before { content: "\f1fd"; } +.bi-calendar2-event::before { content: "\f1fe"; } +.bi-calendar2-fill::before { content: "\f1ff"; } +.bi-calendar2-minus-fill::before { content: "\f200"; } +.bi-calendar2-minus::before { content: "\f201"; } +.bi-calendar2-month-fill::before { content: "\f202"; } +.bi-calendar2-month::before { content: "\f203"; } +.bi-calendar2-plus-fill::before { content: "\f204"; } +.bi-calendar2-plus::before { content: "\f205"; } +.bi-calendar2-range-fill::before { content: "\f206"; } +.bi-calendar2-range::before { content: "\f207"; } +.bi-calendar2-week-fill::before { content: "\f208"; } +.bi-calendar2-week::before { content: "\f209"; } +.bi-calendar2-x-fill::before { content: "\f20a"; } +.bi-calendar2-x::before { content: "\f20b"; } +.bi-calendar2::before { content: "\f20c"; } +.bi-calendar3-event-fill::before { content: "\f20d"; } +.bi-calendar3-event::before { content: "\f20e"; } +.bi-calendar3-fill::before { content: "\f20f"; } +.bi-calendar3-range-fill::before { content: "\f210"; } +.bi-calendar3-range::before { content: "\f211"; } +.bi-calendar3-week-fill::before { content: "\f212"; } +.bi-calendar3-week::before { content: "\f213"; } +.bi-calendar3::before { content: "\f214"; } +.bi-calendar4-event::before { content: "\f215"; } +.bi-calendar4-range::before { content: "\f216"; } +.bi-calendar4-week::before { content: "\f217"; } +.bi-calendar4::before { content: "\f218"; } +.bi-camera-fill::before { content: "\f219"; } +.bi-camera-reels-fill::before { content: "\f21a"; } +.bi-camera-reels::before { content: "\f21b"; } +.bi-camera-video-fill::before { content: "\f21c"; } +.bi-camera-video-off-fill::before { content: "\f21d"; } +.bi-camera-video-off::before { content: "\f21e"; } +.bi-camera-video::before { content: "\f21f"; } +.bi-camera::before { content: "\f220"; } +.bi-camera2::before { content: "\f221"; } +.bi-capslock-fill::before { content: "\f222"; } +.bi-capslock::before { content: "\f223"; } +.bi-card-checklist::before { content: "\f224"; } +.bi-card-heading::before { content: "\f225"; } +.bi-card-image::before { content: "\f226"; } +.bi-card-list::before { content: "\f227"; } +.bi-card-text::before { content: "\f228"; } +.bi-caret-down-fill::before { content: "\f229"; } +.bi-caret-down-square-fill::before { content: "\f22a"; } +.bi-caret-down-square::before { content: "\f22b"; } +.bi-caret-down::before { content: "\f22c"; } +.bi-caret-left-fill::before { content: "\f22d"; } +.bi-caret-left-square-fill::before { content: "\f22e"; } +.bi-caret-left-square::before { content: "\f22f"; } +.bi-caret-left::before { content: "\f230"; } +.bi-caret-right-fill::before { content: "\f231"; } +.bi-caret-right-square-fill::before { content: "\f232"; } +.bi-caret-right-square::before { content: "\f233"; } +.bi-caret-right::before { content: "\f234"; } +.bi-caret-up-fill::before { content: "\f235"; } +.bi-caret-up-square-fill::before { content: "\f236"; } +.bi-caret-up-square::before { content: "\f237"; } +.bi-caret-up::before { content: "\f238"; } +.bi-cart-check-fill::before { content: "\f239"; } +.bi-cart-check::before { content: "\f23a"; } +.bi-cart-dash-fill::before { content: "\f23b"; } +.bi-cart-dash::before { content: "\f23c"; } +.bi-cart-fill::before { content: "\f23d"; } +.bi-cart-plus-fill::before { content: "\f23e"; } +.bi-cart-plus::before { content: "\f23f"; } +.bi-cart-x-fill::before { content: "\f240"; } +.bi-cart-x::before { content: "\f241"; } +.bi-cart::before { content: "\f242"; } +.bi-cart2::before { content: "\f243"; } +.bi-cart3::before { content: "\f244"; } +.bi-cart4::before { content: "\f245"; } +.bi-cash-stack::before { content: "\f246"; } +.bi-cash::before { content: "\f247"; } +.bi-cast::before { content: "\f248"; } +.bi-chat-dots-fill::before { content: "\f249"; } +.bi-chat-dots::before { content: "\f24a"; } +.bi-chat-fill::before { content: "\f24b"; } +.bi-chat-left-dots-fill::before { content: "\f24c"; } +.bi-chat-left-dots::before { content: "\f24d"; } +.bi-chat-left-fill::before { content: "\f24e"; } +.bi-chat-left-quote-fill::before { content: "\f24f"; } +.bi-chat-left-quote::before { content: "\f250"; } +.bi-chat-left-text-fill::before { content: "\f251"; } +.bi-chat-left-text::before { content: "\f252"; } +.bi-chat-left::before { content: "\f253"; } +.bi-chat-quote-fill::before { content: "\f254"; } +.bi-chat-quote::before { content: "\f255"; } +.bi-chat-right-dots-fill::before { content: "\f256"; } +.bi-chat-right-dots::before { content: "\f257"; } +.bi-chat-right-fill::before { content: "\f258"; } +.bi-chat-right-quote-fill::before { content: "\f259"; } +.bi-chat-right-quote::before { content: "\f25a"; } +.bi-chat-right-text-fill::before { content: "\f25b"; } +.bi-chat-right-text::before { content: "\f25c"; } +.bi-chat-right::before { content: "\f25d"; } +.bi-chat-square-dots-fill::before { content: "\f25e"; } +.bi-chat-square-dots::before { content: "\f25f"; } +.bi-chat-square-fill::before { content: "\f260"; } +.bi-chat-square-quote-fill::before { content: "\f261"; } +.bi-chat-square-quote::before { content: "\f262"; } +.bi-chat-square-text-fill::before { content: "\f263"; } +.bi-chat-square-text::before { content: "\f264"; } +.bi-chat-square::before { content: "\f265"; } +.bi-chat-text-fill::before { content: "\f266"; } +.bi-chat-text::before { content: "\f267"; } +.bi-chat::before { content: "\f268"; } +.bi-check-all::before { content: "\f269"; } +.bi-check-circle-fill::before { content: "\f26a"; } +.bi-check-circle::before { content: "\f26b"; } +.bi-check-square-fill::before { content: "\f26c"; } +.bi-check-square::before { content: "\f26d"; } +.bi-check::before { content: "\f26e"; } +.bi-check2-all::before { content: "\f26f"; } +.bi-check2-circle::before { content: "\f270"; } +.bi-check2-square::before { content: "\f271"; } +.bi-check2::before { content: "\f272"; } +.bi-chevron-bar-contract::before { content: "\f273"; } +.bi-chevron-bar-down::before { content: "\f274"; } +.bi-chevron-bar-expand::before { content: "\f275"; } +.bi-chevron-bar-left::before { content: "\f276"; } +.bi-chevron-bar-right::before { content: "\f277"; } +.bi-chevron-bar-up::before { content: "\f278"; } +.bi-chevron-compact-down::before { content: "\f279"; } +.bi-chevron-compact-left::before { content: "\f27a"; } +.bi-chevron-compact-right::before { content: "\f27b"; } +.bi-chevron-compact-up::before { content: "\f27c"; } +.bi-chevron-contract::before { content: "\f27d"; } +.bi-chevron-double-down::before { content: "\f27e"; } +.bi-chevron-double-left::before { content: "\f27f"; } +.bi-chevron-double-right::before { content: "\f280"; } +.bi-chevron-double-up::before { content: "\f281"; } +.bi-chevron-down::before { content: "\f282"; } +.bi-chevron-expand::before { content: "\f283"; } +.bi-chevron-left::before { content: "\f284"; } +.bi-chevron-right::before { content: "\f285"; } +.bi-chevron-up::before { content: "\f286"; } +.bi-circle-fill::before { content: "\f287"; } +.bi-circle-half::before { content: "\f288"; } +.bi-circle-square::before { content: "\f289"; } +.bi-circle::before { content: "\f28a"; } +.bi-clipboard-check::before { content: "\f28b"; } +.bi-clipboard-data::before { content: "\f28c"; } +.bi-clipboard-minus::before { content: "\f28d"; } +.bi-clipboard-plus::before { content: "\f28e"; } +.bi-clipboard-x::before { content: "\f28f"; } +.bi-clipboard::before { content: "\f290"; } +.bi-clock-fill::before { content: "\f291"; } +.bi-clock-history::before { content: "\f292"; } +.bi-clock::before { content: "\f293"; } +.bi-cloud-arrow-down-fill::before { content: "\f294"; } +.bi-cloud-arrow-down::before { content: "\f295"; } +.bi-cloud-arrow-up-fill::before { content: "\f296"; } +.bi-cloud-arrow-up::before { content: "\f297"; } +.bi-cloud-check-fill::before { content: "\f298"; } +.bi-cloud-check::before { content: "\f299"; } +.bi-cloud-download-fill::before { content: "\f29a"; } +.bi-cloud-download::before { content: "\f29b"; } +.bi-cloud-drizzle-fill::before { content: "\f29c"; } +.bi-cloud-drizzle::before { content: "\f29d"; } +.bi-cloud-fill::before { content: "\f29e"; } +.bi-cloud-fog-fill::before { content: "\f29f"; } +.bi-cloud-fog::before { content: "\f2a0"; } +.bi-cloud-fog2-fill::before { content: "\f2a1"; } +.bi-cloud-fog2::before { content: "\f2a2"; } +.bi-cloud-hail-fill::before { content: "\f2a3"; } +.bi-cloud-hail::before { content: "\f2a4"; } +.bi-cloud-haze-1::before { content: "\f2a5"; } +.bi-cloud-haze-fill::before { content: "\f2a6"; } +.bi-cloud-haze::before { content: "\f2a7"; } +.bi-cloud-haze2-fill::before { content: "\f2a8"; } +.bi-cloud-lightning-fill::before { content: "\f2a9"; } +.bi-cloud-lightning-rain-fill::before { content: "\f2aa"; } +.bi-cloud-lightning-rain::before { content: "\f2ab"; } +.bi-cloud-lightning::before { content: "\f2ac"; } +.bi-cloud-minus-fill::before { content: "\f2ad"; } +.bi-cloud-minus::before { content: "\f2ae"; } +.bi-cloud-moon-fill::before { content: "\f2af"; } +.bi-cloud-moon::before { content: "\f2b0"; } +.bi-cloud-plus-fill::before { content: "\f2b1"; } +.bi-cloud-plus::before { content: "\f2b2"; } +.bi-cloud-rain-fill::before { content: "\f2b3"; } +.bi-cloud-rain-heavy-fill::before { content: "\f2b4"; } +.bi-cloud-rain-heavy::before { content: "\f2b5"; } +.bi-cloud-rain::before { content: "\f2b6"; } +.bi-cloud-slash-fill::before { content: "\f2b7"; } +.bi-cloud-slash::before { content: "\f2b8"; } +.bi-cloud-sleet-fill::before { content: "\f2b9"; } +.bi-cloud-sleet::before { content: "\f2ba"; } +.bi-cloud-snow-fill::before { content: "\f2bb"; } +.bi-cloud-snow::before { content: "\f2bc"; } +.bi-cloud-sun-fill::before { content: "\f2bd"; } +.bi-cloud-sun::before { content: "\f2be"; } +.bi-cloud-upload-fill::before { content: "\f2bf"; } +.bi-cloud-upload::before { content: "\f2c0"; } +.bi-cloud::before { content: "\f2c1"; } +.bi-clouds-fill::before { content: "\f2c2"; } +.bi-clouds::before { content: "\f2c3"; } +.bi-cloudy-fill::before { content: "\f2c4"; } +.bi-cloudy::before { content: "\f2c5"; } +.bi-code-slash::before { content: "\f2c6"; } +.bi-code-square::before { content: "\f2c7"; } +.bi-code::before { content: "\f2c8"; } +.bi-collection-fill::before { content: "\f2c9"; } +.bi-collection-play-fill::before { content: "\f2ca"; } +.bi-collection-play::before { content: "\f2cb"; } +.bi-collection::before { content: "\f2cc"; } +.bi-columns-gap::before { content: "\f2cd"; } +.bi-columns::before { content: "\f2ce"; } +.bi-command::before { content: "\f2cf"; } +.bi-compass-fill::before { content: "\f2d0"; } +.bi-compass::before { content: "\f2d1"; } +.bi-cone-striped::before { content: "\f2d2"; } +.bi-cone::before { content: "\f2d3"; } +.bi-controller::before { content: "\f2d4"; } +.bi-cpu-fill::before { content: "\f2d5"; } +.bi-cpu::before { content: "\f2d6"; } +.bi-credit-card-2-back-fill::before { content: "\f2d7"; } +.bi-credit-card-2-back::before { content: "\f2d8"; } +.bi-credit-card-2-front-fill::before { content: "\f2d9"; } +.bi-credit-card-2-front::before { content: "\f2da"; } +.bi-credit-card-fill::before { content: "\f2db"; } +.bi-credit-card::before { content: "\f2dc"; } +.bi-crop::before { content: "\f2dd"; } +.bi-cup-fill::before { content: "\f2de"; } +.bi-cup-straw::before { content: "\f2df"; } +.bi-cup::before { content: "\f2e0"; } +.bi-cursor-fill::before { content: "\f2e1"; } +.bi-cursor-text::before { content: "\f2e2"; } +.bi-cursor::before { content: "\f2e3"; } +.bi-dash-circle-dotted::before { content: "\f2e4"; } +.bi-dash-circle-fill::before { content: "\f2e5"; } +.bi-dash-circle::before { content: "\f2e6"; } +.bi-dash-square-dotted::before { content: "\f2e7"; } +.bi-dash-square-fill::before { content: "\f2e8"; } +.bi-dash-square::before { content: "\f2e9"; } +.bi-dash::before { content: "\f2ea"; } +.bi-diagram-2-fill::before { content: "\f2eb"; } +.bi-diagram-2::before { content: "\f2ec"; } +.bi-diagram-3-fill::before { content: "\f2ed"; } +.bi-diagram-3::before { content: "\f2ee"; } +.bi-diamond-fill::before { content: "\f2ef"; } +.bi-diamond-half::before { content: "\f2f0"; } +.bi-diamond::before { content: "\f2f1"; } +.bi-dice-1-fill::before { content: "\f2f2"; } +.bi-dice-1::before { content: "\f2f3"; } +.bi-dice-2-fill::before { content: "\f2f4"; } +.bi-dice-2::before { content: "\f2f5"; } +.bi-dice-3-fill::before { content: "\f2f6"; } +.bi-dice-3::before { content: "\f2f7"; } +.bi-dice-4-fill::before { content: "\f2f8"; } +.bi-dice-4::before { content: "\f2f9"; } +.bi-dice-5-fill::before { content: "\f2fa"; } +.bi-dice-5::before { content: "\f2fb"; } +.bi-dice-6-fill::before { content: "\f2fc"; } +.bi-dice-6::before { content: "\f2fd"; } +.bi-disc-fill::before { content: "\f2fe"; } +.bi-disc::before { content: "\f2ff"; } +.bi-discord::before { content: "\f300"; } +.bi-display-fill::before { content: "\f301"; } +.bi-display::before { content: "\f302"; } +.bi-distribute-horizontal::before { content: "\f303"; } +.bi-distribute-vertical::before { content: "\f304"; } +.bi-door-closed-fill::before { content: "\f305"; } +.bi-door-closed::before { content: "\f306"; } +.bi-door-open-fill::before { content: "\f307"; } +.bi-door-open::before { content: "\f308"; } +.bi-dot::before { content: "\f309"; } +.bi-download::before { content: "\f30a"; } +.bi-droplet-fill::before { content: "\f30b"; } +.bi-droplet-half::before { content: "\f30c"; } +.bi-droplet::before { content: "\f30d"; } +.bi-earbuds::before { content: "\f30e"; } +.bi-easel-fill::before { content: "\f30f"; } +.bi-easel::before { content: "\f310"; } +.bi-egg-fill::before { content: "\f311"; } +.bi-egg-fried::before { content: "\f312"; } +.bi-egg::before { content: "\f313"; } +.bi-eject-fill::before { content: "\f314"; } +.bi-eject::before { content: "\f315"; } +.bi-emoji-angry-fill::before { content: "\f316"; } +.bi-emoji-angry::before { content: "\f317"; } +.bi-emoji-dizzy-fill::before { content: "\f318"; } +.bi-emoji-dizzy::before { content: "\f319"; } +.bi-emoji-expressionless-fill::before { content: "\f31a"; } +.bi-emoji-expressionless::before { content: "\f31b"; } +.bi-emoji-frown-fill::before { content: "\f31c"; } +.bi-emoji-frown::before { content: "\f31d"; } +.bi-emoji-heart-eyes-fill::before { content: "\f31e"; } +.bi-emoji-heart-eyes::before { content: "\f31f"; } +.bi-emoji-laughing-fill::before { content: "\f320"; } +.bi-emoji-laughing::before { content: "\f321"; } +.bi-emoji-neutral-fill::before { content: "\f322"; } +.bi-emoji-neutral::before { content: "\f323"; } +.bi-emoji-smile-fill::before { content: "\f324"; } +.bi-emoji-smile-upside-down-fill::before { content: "\f325"; } +.bi-emoji-smile-upside-down::before { content: "\f326"; } +.bi-emoji-smile::before { content: "\f327"; } +.bi-emoji-sunglasses-fill::before { content: "\f328"; } +.bi-emoji-sunglasses::before { content: "\f329"; } +.bi-emoji-wink-fill::before { content: "\f32a"; } +.bi-emoji-wink::before { content: "\f32b"; } +.bi-envelope-fill::before { content: "\f32c"; } +.bi-envelope-open-fill::before { content: "\f32d"; } +.bi-envelope-open::before { content: "\f32e"; } +.bi-envelope::before { content: "\f32f"; } +.bi-eraser-fill::before { content: "\f330"; } +.bi-eraser::before { content: "\f331"; } +.bi-exclamation-circle-fill::before { content: "\f332"; } +.bi-exclamation-circle::before { content: "\f333"; } +.bi-exclamation-diamond-fill::before { content: "\f334"; } +.bi-exclamation-diamond::before { content: "\f335"; } +.bi-exclamation-octagon-fill::before { content: "\f336"; } +.bi-exclamation-octagon::before { content: "\f337"; } +.bi-exclamation-square-fill::before { content: "\f338"; } +.bi-exclamation-square::before { content: "\f339"; } +.bi-exclamation-triangle-fill::before { content: "\f33a"; } +.bi-exclamation-triangle::before { content: "\f33b"; } +.bi-exclamation::before { content: "\f33c"; } +.bi-exclude::before { content: "\f33d"; } +.bi-eye-fill::before { content: "\f33e"; } +.bi-eye-slash-fill::before { content: "\f33f"; } +.bi-eye-slash::before { content: "\f340"; } +.bi-eye::before { content: "\f341"; } +.bi-eyedropper::before { content: "\f342"; } +.bi-eyeglasses::before { content: "\f343"; } +.bi-facebook::before { content: "\f344"; } +.bi-file-arrow-down-fill::before { content: "\f345"; } +.bi-file-arrow-down::before { content: "\f346"; } +.bi-file-arrow-up-fill::before { content: "\f347"; } +.bi-file-arrow-up::before { content: "\f348"; } +.bi-file-bar-graph-fill::before { content: "\f349"; } +.bi-file-bar-graph::before { content: "\f34a"; } +.bi-file-binary-fill::before { content: "\f34b"; } +.bi-file-binary::before { content: "\f34c"; } +.bi-file-break-fill::before { content: "\f34d"; } +.bi-file-break::before { content: "\f34e"; } +.bi-file-check-fill::before { content: "\f34f"; } +.bi-file-check::before { content: "\f350"; } +.bi-file-code-fill::before { content: "\f351"; } +.bi-file-code::before { content: "\f352"; } +.bi-file-diff-fill::before { content: "\f353"; } +.bi-file-diff::before { content: "\f354"; } +.bi-file-earmark-arrow-down-fill::before { content: "\f355"; } +.bi-file-earmark-arrow-down::before { content: "\f356"; } +.bi-file-earmark-arrow-up-fill::before { content: "\f357"; } +.bi-file-earmark-arrow-up::before { content: "\f358"; } +.bi-file-earmark-bar-graph-fill::before { content: "\f359"; } +.bi-file-earmark-bar-graph::before { content: "\f35a"; } +.bi-file-earmark-binary-fill::before { content: "\f35b"; } +.bi-file-earmark-binary::before { content: "\f35c"; } +.bi-file-earmark-break-fill::before { content: "\f35d"; } +.bi-file-earmark-break::before { content: "\f35e"; } +.bi-file-earmark-check-fill::before { content: "\f35f"; } +.bi-file-earmark-check::before { content: "\f360"; } +.bi-file-earmark-code-fill::before { content: "\f361"; } +.bi-file-earmark-code::before { content: "\f362"; } +.bi-file-earmark-diff-fill::before { content: "\f363"; } +.bi-file-earmark-diff::before { content: "\f364"; } +.bi-file-earmark-easel-fill::before { content: "\f365"; } +.bi-file-earmark-easel::before { content: "\f366"; } +.bi-file-earmark-excel-fill::before { content: "\f367"; } +.bi-file-earmark-excel::before { content: "\f368"; } +.bi-file-earmark-fill::before { content: "\f369"; } +.bi-file-earmark-font-fill::before { content: "\f36a"; } +.bi-file-earmark-font::before { content: "\f36b"; } +.bi-file-earmark-image-fill::before { content: "\f36c"; } +.bi-file-earmark-image::before { content: "\f36d"; } +.bi-file-earmark-lock-fill::before { content: "\f36e"; } +.bi-file-earmark-lock::before { content: "\f36f"; } +.bi-file-earmark-lock2-fill::before { content: "\f370"; } +.bi-file-earmark-lock2::before { content: "\f371"; } +.bi-file-earmark-medical-fill::before { content: "\f372"; } +.bi-file-earmark-medical::before { content: "\f373"; } +.bi-file-earmark-minus-fill::before { content: "\f374"; } +.bi-file-earmark-minus::before { content: "\f375"; } +.bi-file-earmark-music-fill::before { content: "\f376"; } +.bi-file-earmark-music::before { content: "\f377"; } +.bi-file-earmark-person-fill::before { content: "\f378"; } +.bi-file-earmark-person::before { content: "\f379"; } +.bi-file-earmark-play-fill::before { content: "\f37a"; } +.bi-file-earmark-play::before { content: "\f37b"; } +.bi-file-earmark-plus-fill::before { content: "\f37c"; } +.bi-file-earmark-plus::before { content: "\f37d"; } +.bi-file-earmark-post-fill::before { content: "\f37e"; } +.bi-file-earmark-post::before { content: "\f37f"; } +.bi-file-earmark-ppt-fill::before { content: "\f380"; } +.bi-file-earmark-ppt::before { content: "\f381"; } +.bi-file-earmark-richtext-fill::before { content: "\f382"; } +.bi-file-earmark-richtext::before { content: "\f383"; } +.bi-file-earmark-ruled-fill::before { content: "\f384"; } +.bi-file-earmark-ruled::before { content: "\f385"; } +.bi-file-earmark-slides-fill::before { content: "\f386"; } +.bi-file-earmark-slides::before { content: "\f387"; } +.bi-file-earmark-spreadsheet-fill::before { content: "\f388"; } +.bi-file-earmark-spreadsheet::before { content: "\f389"; } +.bi-file-earmark-text-fill::before { content: "\f38a"; } +.bi-file-earmark-text::before { content: "\f38b"; } +.bi-file-earmark-word-fill::before { content: "\f38c"; } +.bi-file-earmark-word::before { content: "\f38d"; } +.bi-file-earmark-x-fill::before { content: "\f38e"; } +.bi-file-earmark-x::before { content: "\f38f"; } +.bi-file-earmark-zip-fill::before { content: "\f390"; } +.bi-file-earmark-zip::before { content: "\f391"; } +.bi-file-earmark::before { content: "\f392"; } +.bi-file-easel-fill::before { content: "\f393"; } +.bi-file-easel::before { content: "\f394"; } +.bi-file-excel-fill::before { content: "\f395"; } +.bi-file-excel::before { content: "\f396"; } +.bi-file-fill::before { content: "\f397"; } +.bi-file-font-fill::before { content: "\f398"; } +.bi-file-font::before { content: "\f399"; } +.bi-file-image-fill::before { content: "\f39a"; } +.bi-file-image::before { content: "\f39b"; } +.bi-file-lock-fill::before { content: "\f39c"; } +.bi-file-lock::before { content: "\f39d"; } +.bi-file-lock2-fill::before { content: "\f39e"; } +.bi-file-lock2::before { content: "\f39f"; } +.bi-file-medical-fill::before { content: "\f3a0"; } +.bi-file-medical::before { content: "\f3a1"; } +.bi-file-minus-fill::before { content: "\f3a2"; } +.bi-file-minus::before { content: "\f3a3"; } +.bi-file-music-fill::before { content: "\f3a4"; } +.bi-file-music::before { content: "\f3a5"; } +.bi-file-person-fill::before { content: "\f3a6"; } +.bi-file-person::before { content: "\f3a7"; } +.bi-file-play-fill::before { content: "\f3a8"; } +.bi-file-play::before { content: "\f3a9"; } +.bi-file-plus-fill::before { content: "\f3aa"; } +.bi-file-plus::before { content: "\f3ab"; } +.bi-file-post-fill::before { content: "\f3ac"; } +.bi-file-post::before { content: "\f3ad"; } +.bi-file-ppt-fill::before { content: "\f3ae"; } +.bi-file-ppt::before { content: "\f3af"; } +.bi-file-richtext-fill::before { content: "\f3b0"; } +.bi-file-richtext::before { content: "\f3b1"; } +.bi-file-ruled-fill::before { content: "\f3b2"; } +.bi-file-ruled::before { content: "\f3b3"; } +.bi-file-slides-fill::before { content: "\f3b4"; } +.bi-file-slides::before { content: "\f3b5"; } +.bi-file-spreadsheet-fill::before { content: "\f3b6"; } +.bi-file-spreadsheet::before { content: "\f3b7"; } +.bi-file-text-fill::before { content: "\f3b8"; } +.bi-file-text::before { content: "\f3b9"; } +.bi-file-word-fill::before { content: "\f3ba"; } +.bi-file-word::before { content: "\f3bb"; } +.bi-file-x-fill::before { content: "\f3bc"; } +.bi-file-x::before { content: "\f3bd"; } +.bi-file-zip-fill::before { content: "\f3be"; } +.bi-file-zip::before { content: "\f3bf"; } +.bi-file::before { content: "\f3c0"; } +.bi-files-alt::before { content: "\f3c1"; } +.bi-files::before { content: "\f3c2"; } +.bi-film::before { content: "\f3c3"; } +.bi-filter-circle-fill::before { content: "\f3c4"; } +.bi-filter-circle::before { content: "\f3c5"; } +.bi-filter-left::before { content: "\f3c6"; } +.bi-filter-right::before { content: "\f3c7"; } +.bi-filter-square-fill::before { content: "\f3c8"; } +.bi-filter-square::before { content: "\f3c9"; } +.bi-filter::before { content: "\f3ca"; } +.bi-flag-fill::before { content: "\f3cb"; } +.bi-flag::before { content: "\f3cc"; } +.bi-flower1::before { content: "\f3cd"; } +.bi-flower2::before { content: "\f3ce"; } +.bi-flower3::before { content: "\f3cf"; } +.bi-folder-check::before { content: "\f3d0"; } +.bi-folder-fill::before { content: "\f3d1"; } +.bi-folder-minus::before { content: "\f3d2"; } +.bi-folder-plus::before { content: "\f3d3"; } +.bi-folder-symlink-fill::before { content: "\f3d4"; } +.bi-folder-symlink::before { content: "\f3d5"; } +.bi-folder-x::before { content: "\f3d6"; } +.bi-folder::before { content: "\f3d7"; } +.bi-folder2-open::before { content: "\f3d8"; } +.bi-folder2::before { content: "\f3d9"; } +.bi-fonts::before { content: "\f3da"; } +.bi-forward-fill::before { content: "\f3db"; } +.bi-forward::before { content: "\f3dc"; } +.bi-front::before { content: "\f3dd"; } +.bi-fullscreen-exit::before { content: "\f3de"; } +.bi-fullscreen::before { content: "\f3df"; } +.bi-funnel-fill::before { content: "\f3e0"; } +.bi-funnel::before { content: "\f3e1"; } +.bi-gear-fill::before { content: "\f3e2"; } +.bi-gear-wide-connected::before { content: "\f3e3"; } +.bi-gear-wide::before { content: "\f3e4"; } +.bi-gear::before { content: "\f3e5"; } +.bi-gem::before { content: "\f3e6"; } +.bi-geo-alt-fill::before { content: "\f3e7"; } +.bi-geo-alt::before { content: "\f3e8"; } +.bi-geo-fill::before { content: "\f3e9"; } +.bi-geo::before { content: "\f3ea"; } +.bi-gift-fill::before { content: "\f3eb"; } +.bi-gift::before { content: "\f3ec"; } +.bi-github::before { content: "\f3ed"; } +.bi-globe::before { content: "\f3ee"; } +.bi-globe2::before { content: "\f3ef"; } +.bi-google::before { content: "\f3f0"; } +.bi-graph-down::before { content: "\f3f1"; } +.bi-graph-up::before { content: "\f3f2"; } +.bi-grid-1x2-fill::before { content: "\f3f3"; } +.bi-grid-1x2::before { content: "\f3f4"; } +.bi-grid-3x2-gap-fill::before { content: "\f3f5"; } +.bi-grid-3x2-gap::before { content: "\f3f6"; } +.bi-grid-3x2::before { content: "\f3f7"; } +.bi-grid-3x3-gap-fill::before { content: "\f3f8"; } +.bi-grid-3x3-gap::before { content: "\f3f9"; } +.bi-grid-3x3::before { content: "\f3fa"; } +.bi-grid-fill::before { content: "\f3fb"; } +.bi-grid::before { content: "\f3fc"; } +.bi-grip-horizontal::before { content: "\f3fd"; } +.bi-grip-vertical::before { content: "\f3fe"; } +.bi-hammer::before { content: "\f3ff"; } +.bi-hand-index-fill::before { content: "\f400"; } +.bi-hand-index-thumb-fill::before { content: "\f401"; } +.bi-hand-index-thumb::before { content: "\f402"; } +.bi-hand-index::before { content: "\f403"; } +.bi-hand-thumbs-down-fill::before { content: "\f404"; } +.bi-hand-thumbs-down::before { content: "\f405"; } +.bi-hand-thumbs-up-fill::before { content: "\f406"; } +.bi-hand-thumbs-up::before { content: "\f407"; } +.bi-handbag-fill::before { content: "\f408"; } +.bi-handbag::before { content: "\f409"; } +.bi-hash::before { content: "\f40a"; } +.bi-hdd-fill::before { content: "\f40b"; } +.bi-hdd-network-fill::before { content: "\f40c"; } +.bi-hdd-network::before { content: "\f40d"; } +.bi-hdd-rack-fill::before { content: "\f40e"; } +.bi-hdd-rack::before { content: "\f40f"; } +.bi-hdd-stack-fill::before { content: "\f410"; } +.bi-hdd-stack::before { content: "\f411"; } +.bi-hdd::before { content: "\f412"; } +.bi-headphones::before { content: "\f413"; } +.bi-headset::before { content: "\f414"; } +.bi-heart-fill::before { content: "\f415"; } +.bi-heart-half::before { content: "\f416"; } +.bi-heart::before { content: "\f417"; } +.bi-heptagon-fill::before { content: "\f418"; } +.bi-heptagon-half::before { content: "\f419"; } +.bi-heptagon::before { content: "\f41a"; } +.bi-hexagon-fill::before { content: "\f41b"; } +.bi-hexagon-half::before { content: "\f41c"; } +.bi-hexagon::before { content: "\f41d"; } +.bi-hourglass-bottom::before { content: "\f41e"; } +.bi-hourglass-split::before { content: "\f41f"; } +.bi-hourglass-top::before { content: "\f420"; } +.bi-hourglass::before { content: "\f421"; } +.bi-house-door-fill::before { content: "\f422"; } +.bi-house-door::before { content: "\f423"; } +.bi-house-fill::before { content: "\f424"; } +.bi-house::before { content: "\f425"; } +.bi-hr::before { content: "\f426"; } +.bi-hurricane::before { content: "\f427"; } +.bi-image-alt::before { content: "\f428"; } +.bi-image-fill::before { content: "\f429"; } +.bi-image::before { content: "\f42a"; } +.bi-images::before { content: "\f42b"; } +.bi-inbox-fill::before { content: "\f42c"; } +.bi-inbox::before { content: "\f42d"; } +.bi-inboxes-fill::before { content: "\f42e"; } +.bi-inboxes::before { content: "\f42f"; } +.bi-info-circle-fill::before { content: "\f430"; } +.bi-info-circle::before { content: "\f431"; } +.bi-info-square-fill::before { content: "\f432"; } +.bi-info-square::before { content: "\f433"; } +.bi-info::before { content: "\f434"; } +.bi-input-cursor-text::before { content: "\f435"; } +.bi-input-cursor::before { content: "\f436"; } +.bi-instagram::before { content: "\f437"; } +.bi-intersect::before { content: "\f438"; } +.bi-journal-album::before { content: "\f439"; } +.bi-journal-arrow-down::before { content: "\f43a"; } +.bi-journal-arrow-up::before { content: "\f43b"; } +.bi-journal-bookmark-fill::before { content: "\f43c"; } +.bi-journal-bookmark::before { content: "\f43d"; } +.bi-journal-check::before { content: "\f43e"; } +.bi-journal-code::before { content: "\f43f"; } +.bi-journal-medical::before { content: "\f440"; } +.bi-journal-minus::before { content: "\f441"; } +.bi-journal-plus::before { content: "\f442"; } +.bi-journal-richtext::before { content: "\f443"; } +.bi-journal-text::before { content: "\f444"; } +.bi-journal-x::before { content: "\f445"; } +.bi-journal::before { content: "\f446"; } +.bi-journals::before { content: "\f447"; } +.bi-joystick::before { content: "\f448"; } +.bi-justify-left::before { content: "\f449"; } +.bi-justify-right::before { content: "\f44a"; } +.bi-justify::before { content: "\f44b"; } +.bi-kanban-fill::before { content: "\f44c"; } +.bi-kanban::before { content: "\f44d"; } +.bi-key-fill::before { content: "\f44e"; } +.bi-key::before { content: "\f44f"; } +.bi-keyboard-fill::before { content: "\f450"; } +.bi-keyboard::before { content: "\f451"; } +.bi-ladder::before { content: "\f452"; } +.bi-lamp-fill::before { content: "\f453"; } +.bi-lamp::before { content: "\f454"; } +.bi-laptop-fill::before { content: "\f455"; } +.bi-laptop::before { content: "\f456"; } +.bi-layer-backward::before { content: "\f457"; } +.bi-layer-forward::before { content: "\f458"; } +.bi-layers-fill::before { content: "\f459"; } +.bi-layers-half::before { content: "\f45a"; } +.bi-layers::before { content: "\f45b"; } +.bi-layout-sidebar-inset-reverse::before { content: "\f45c"; } +.bi-layout-sidebar-inset::before { content: "\f45d"; } +.bi-layout-sidebar-reverse::before { content: "\f45e"; } +.bi-layout-sidebar::before { content: "\f45f"; } +.bi-layout-split::before { content: "\f460"; } +.bi-layout-text-sidebar-reverse::before { content: "\f461"; } +.bi-layout-text-sidebar::before { content: "\f462"; } +.bi-layout-text-window-reverse::before { content: "\f463"; } +.bi-layout-text-window::before { content: "\f464"; } +.bi-layout-three-columns::before { content: "\f465"; } +.bi-layout-wtf::before { content: "\f466"; } +.bi-life-preserver::before { content: "\f467"; } +.bi-lightbulb-fill::before { content: "\f468"; } +.bi-lightbulb-off-fill::before { content: "\f469"; } +.bi-lightbulb-off::before { content: "\f46a"; } +.bi-lightbulb::before { content: "\f46b"; } +.bi-lightning-charge-fill::before { content: "\f46c"; } +.bi-lightning-charge::before { content: "\f46d"; } +.bi-lightning-fill::before { content: "\f46e"; } +.bi-lightning::before { content: "\f46f"; } +.bi-link-45deg::before { content: "\f470"; } +.bi-link::before { content: "\f471"; } +.bi-linkedin::before { content: "\f472"; } +.bi-list-check::before { content: "\f473"; } +.bi-list-nested::before { content: "\f474"; } +.bi-list-ol::before { content: "\f475"; } +.bi-list-stars::before { content: "\f476"; } +.bi-list-task::before { content: "\f477"; } +.bi-list-ul::before { content: "\f478"; } +.bi-list::before { content: "\f479"; } +.bi-lock-fill::before { content: "\f47a"; } +.bi-lock::before { content: "\f47b"; } +.bi-mailbox::before { content: "\f47c"; } +.bi-mailbox2::before { content: "\f47d"; } +.bi-map-fill::before { content: "\f47e"; } +.bi-map::before { content: "\f47f"; } +.bi-markdown-fill::before { content: "\f480"; } +.bi-markdown::before { content: "\f481"; } +.bi-mask::before { content: "\f482"; } +.bi-megaphone-fill::before { content: "\f483"; } +.bi-megaphone::before { content: "\f484"; } +.bi-menu-app-fill::before { content: "\f485"; } +.bi-menu-app::before { content: "\f486"; } +.bi-menu-button-fill::before { content: "\f487"; } +.bi-menu-button-wide-fill::before { content: "\f488"; } +.bi-menu-button-wide::before { content: "\f489"; } +.bi-menu-button::before { content: "\f48a"; } +.bi-menu-down::before { content: "\f48b"; } +.bi-menu-up::before { content: "\f48c"; } +.bi-mic-fill::before { content: "\f48d"; } +.bi-mic-mute-fill::before { content: "\f48e"; } +.bi-mic-mute::before { content: "\f48f"; } +.bi-mic::before { content: "\f490"; } +.bi-minecart-loaded::before { content: "\f491"; } +.bi-minecart::before { content: "\f492"; } +.bi-moisture::before { content: "\f493"; } +.bi-moon-fill::before { content: "\f494"; } +.bi-moon-stars-fill::before { content: "\f495"; } +.bi-moon-stars::before { content: "\f496"; } +.bi-moon::before { content: "\f497"; } +.bi-mouse-fill::before { content: "\f498"; } +.bi-mouse::before { content: "\f499"; } +.bi-mouse2-fill::before { content: "\f49a"; } +.bi-mouse2::before { content: "\f49b"; } +.bi-mouse3-fill::before { content: "\f49c"; } +.bi-mouse3::before { content: "\f49d"; } +.bi-music-note-beamed::before { content: "\f49e"; } +.bi-music-note-list::before { content: "\f49f"; } +.bi-music-note::before { content: "\f4a0"; } +.bi-music-player-fill::before { content: "\f4a1"; } +.bi-music-player::before { content: "\f4a2"; } +.bi-newspaper::before { content: "\f4a3"; } +.bi-node-minus-fill::before { content: "\f4a4"; } +.bi-node-minus::before { content: "\f4a5"; } +.bi-node-plus-fill::before { content: "\f4a6"; } +.bi-node-plus::before { content: "\f4a7"; } +.bi-nut-fill::before { content: "\f4a8"; } +.bi-nut::before { content: "\f4a9"; } +.bi-octagon-fill::before { content: "\f4aa"; } +.bi-octagon-half::before { content: "\f4ab"; } +.bi-octagon::before { content: "\f4ac"; } +.bi-option::before { content: "\f4ad"; } +.bi-outlet::before { content: "\f4ae"; } +.bi-paint-bucket::before { content: "\f4af"; } +.bi-palette-fill::before { content: "\f4b0"; } +.bi-palette::before { content: "\f4b1"; } +.bi-palette2::before { content: "\f4b2"; } +.bi-paperclip::before { content: "\f4b3"; } +.bi-paragraph::before { content: "\f4b4"; } +.bi-patch-check-fill::before { content: "\f4b5"; } +.bi-patch-check::before { content: "\f4b6"; } +.bi-patch-exclamation-fill::before { content: "\f4b7"; } +.bi-patch-exclamation::before { content: "\f4b8"; } +.bi-patch-minus-fill::before { content: "\f4b9"; } +.bi-patch-minus::before { content: "\f4ba"; } +.bi-patch-plus-fill::before { content: "\f4bb"; } +.bi-patch-plus::before { content: "\f4bc"; } +.bi-patch-question-fill::before { content: "\f4bd"; } +.bi-patch-question::before { content: "\f4be"; } +.bi-pause-btn-fill::before { content: "\f4bf"; } +.bi-pause-btn::before { content: "\f4c0"; } +.bi-pause-circle-fill::before { content: "\f4c1"; } +.bi-pause-circle::before { content: "\f4c2"; } +.bi-pause-fill::before { content: "\f4c3"; } +.bi-pause::before { content: "\f4c4"; } +.bi-peace-fill::before { content: "\f4c5"; } +.bi-peace::before { content: "\f4c6"; } +.bi-pen-fill::before { content: "\f4c7"; } +.bi-pen::before { content: "\f4c8"; } +.bi-pencil-fill::before { content: "\f4c9"; } +.bi-pencil-square::before { content: "\f4ca"; } +.bi-pencil::before { content: "\f4cb"; } +.bi-pentagon-fill::before { content: "\f4cc"; } +.bi-pentagon-half::before { content: "\f4cd"; } +.bi-pentagon::before { content: "\f4ce"; } +.bi-people-fill::before { content: "\f4cf"; } +.bi-people::before { content: "\f4d0"; } +.bi-percent::before { content: "\f4d1"; } +.bi-person-badge-fill::before { content: "\f4d2"; } +.bi-person-badge::before { content: "\f4d3"; } +.bi-person-bounding-box::before { content: "\f4d4"; } +.bi-person-check-fill::before { content: "\f4d5"; } +.bi-person-check::before { content: "\f4d6"; } +.bi-person-circle::before { content: "\f4d7"; } +.bi-person-dash-fill::before { content: "\f4d8"; } +.bi-person-dash::before { content: "\f4d9"; } +.bi-person-fill::before { content: "\f4da"; } +.bi-person-lines-fill::before { content: "\f4db"; } +.bi-person-plus-fill::before { content: "\f4dc"; } +.bi-person-plus::before { content: "\f4dd"; } +.bi-person-square::before { content: "\f4de"; } +.bi-person-x-fill::before { content: "\f4df"; } +.bi-person-x::before { content: "\f4e0"; } +.bi-person::before { content: "\f4e1"; } +.bi-phone-fill::before { content: "\f4e2"; } +.bi-phone-landscape-fill::before { content: "\f4e3"; } +.bi-phone-landscape::before { content: "\f4e4"; } +.bi-phone-vibrate-fill::before { content: "\f4e5"; } +.bi-phone-vibrate::before { content: "\f4e6"; } +.bi-phone::before { content: "\f4e7"; } +.bi-pie-chart-fill::before { content: "\f4e8"; } +.bi-pie-chart::before { content: "\f4e9"; } +.bi-pin-angle-fill::before { content: "\f4ea"; } +.bi-pin-angle::before { content: "\f4eb"; } +.bi-pin-fill::before { content: "\f4ec"; } +.bi-pin::before { content: "\f4ed"; } +.bi-pip-fill::before { content: "\f4ee"; } +.bi-pip::before { content: "\f4ef"; } +.bi-play-btn-fill::before { content: "\f4f0"; } +.bi-play-btn::before { content: "\f4f1"; } +.bi-play-circle-fill::before { content: "\f4f2"; } +.bi-play-circle::before { content: "\f4f3"; } +.bi-play-fill::before { content: "\f4f4"; } +.bi-play::before { content: "\f4f5"; } +.bi-plug-fill::before { content: "\f4f6"; } +.bi-plug::before { content: "\f4f7"; } +.bi-plus-circle-dotted::before { content: "\f4f8"; } +.bi-plus-circle-fill::before { content: "\f4f9"; } +.bi-plus-circle::before { content: "\f4fa"; } +.bi-plus-square-dotted::before { content: "\f4fb"; } +.bi-plus-square-fill::before { content: "\f4fc"; } +.bi-plus-square::before { content: "\f4fd"; } +.bi-plus::before { content: "\f4fe"; } +.bi-power::before { content: "\f4ff"; } +.bi-printer-fill::before { content: "\f500"; } +.bi-printer::before { content: "\f501"; } +.bi-puzzle-fill::before { content: "\f502"; } +.bi-puzzle::before { content: "\f503"; } +.bi-question-circle-fill::before { content: "\f504"; } +.bi-question-circle::before { content: "\f505"; } +.bi-question-diamond-fill::before { content: "\f506"; } +.bi-question-diamond::before { content: "\f507"; } +.bi-question-octagon-fill::before { content: "\f508"; } +.bi-question-octagon::before { content: "\f509"; } +.bi-question-square-fill::before { content: "\f50a"; } +.bi-question-square::before { content: "\f50b"; } +.bi-question::before { content: "\f50c"; } +.bi-rainbow::before { content: "\f50d"; } +.bi-receipt-cutoff::before { content: "\f50e"; } +.bi-receipt::before { content: "\f50f"; } +.bi-reception-0::before { content: "\f510"; } +.bi-reception-1::before { content: "\f511"; } +.bi-reception-2::before { content: "\f512"; } +.bi-reception-3::before { content: "\f513"; } +.bi-reception-4::before { content: "\f514"; } +.bi-record-btn-fill::before { content: "\f515"; } +.bi-record-btn::before { content: "\f516"; } +.bi-record-circle-fill::before { content: "\f517"; } +.bi-record-circle::before { content: "\f518"; } +.bi-record-fill::before { content: "\f519"; } +.bi-record::before { content: "\f51a"; } +.bi-record2-fill::before { content: "\f51b"; } +.bi-record2::before { content: "\f51c"; } +.bi-reply-all-fill::before { content: "\f51d"; } +.bi-reply-all::before { content: "\f51e"; } +.bi-reply-fill::before { content: "\f51f"; } +.bi-reply::before { content: "\f520"; } +.bi-rss-fill::before { content: "\f521"; } +.bi-rss::before { content: "\f522"; } +.bi-rulers::before { content: "\f523"; } +.bi-save-fill::before { content: "\f524"; } +.bi-save::before { content: "\f525"; } +.bi-save2-fill::before { content: "\f526"; } +.bi-save2::before { content: "\f527"; } +.bi-scissors::before { content: "\f528"; } +.bi-screwdriver::before { content: "\f529"; } +.bi-search::before { content: "\f52a"; } +.bi-segmented-nav::before { content: "\f52b"; } +.bi-server::before { content: "\f52c"; } +.bi-share-fill::before { content: "\f52d"; } +.bi-share::before { content: "\f52e"; } +.bi-shield-check::before { content: "\f52f"; } +.bi-shield-exclamation::before { content: "\f530"; } +.bi-shield-fill-check::before { content: "\f531"; } +.bi-shield-fill-exclamation::before { content: "\f532"; } +.bi-shield-fill-minus::before { content: "\f533"; } +.bi-shield-fill-plus::before { content: "\f534"; } +.bi-shield-fill-x::before { content: "\f535"; } +.bi-shield-fill::before { content: "\f536"; } +.bi-shield-lock-fill::before { content: "\f537"; } +.bi-shield-lock::before { content: "\f538"; } +.bi-shield-minus::before { content: "\f539"; } +.bi-shield-plus::before { content: "\f53a"; } +.bi-shield-shaded::before { content: "\f53b"; } +.bi-shield-slash-fill::before { content: "\f53c"; } +.bi-shield-slash::before { content: "\f53d"; } +.bi-shield-x::before { content: "\f53e"; } +.bi-shield::before { content: "\f53f"; } +.bi-shift-fill::before { content: "\f540"; } +.bi-shift::before { content: "\f541"; } +.bi-shop-window::before { content: "\f542"; } +.bi-shop::before { content: "\f543"; } +.bi-shuffle::before { content: "\f544"; } +.bi-signpost-2-fill::before { content: "\f545"; } +.bi-signpost-2::before { content: "\f546"; } +.bi-signpost-fill::before { content: "\f547"; } +.bi-signpost-split-fill::before { content: "\f548"; } +.bi-signpost-split::before { content: "\f549"; } +.bi-signpost::before { content: "\f54a"; } +.bi-sim-fill::before { content: "\f54b"; } +.bi-sim::before { content: "\f54c"; } +.bi-skip-backward-btn-fill::before { content: "\f54d"; } +.bi-skip-backward-btn::before { content: "\f54e"; } +.bi-skip-backward-circle-fill::before { content: "\f54f"; } +.bi-skip-backward-circle::before { content: "\f550"; } +.bi-skip-backward-fill::before { content: "\f551"; } +.bi-skip-backward::before { content: "\f552"; } +.bi-skip-end-btn-fill::before { content: "\f553"; } +.bi-skip-end-btn::before { content: "\f554"; } +.bi-skip-end-circle-fill::before { content: "\f555"; } +.bi-skip-end-circle::before { content: "\f556"; } +.bi-skip-end-fill::before { content: "\f557"; } +.bi-skip-end::before { content: "\f558"; } +.bi-skip-forward-btn-fill::before { content: "\f559"; } +.bi-skip-forward-btn::before { content: "\f55a"; } +.bi-skip-forward-circle-fill::before { content: "\f55b"; } +.bi-skip-forward-circle::before { content: "\f55c"; } +.bi-skip-forward-fill::before { content: "\f55d"; } +.bi-skip-forward::before { content: "\f55e"; } +.bi-skip-start-btn-fill::before { content: "\f55f"; } +.bi-skip-start-btn::before { content: "\f560"; } +.bi-skip-start-circle-fill::before { content: "\f561"; } +.bi-skip-start-circle::before { content: "\f562"; } +.bi-skip-start-fill::before { content: "\f563"; } +.bi-skip-start::before { content: "\f564"; } +.bi-slack::before { content: "\f565"; } +.bi-slash-circle-fill::before { content: "\f566"; } +.bi-slash-circle::before { content: "\f567"; } +.bi-slash-square-fill::before { content: "\f568"; } +.bi-slash-square::before { content: "\f569"; } +.bi-slash::before { content: "\f56a"; } +.bi-sliders::before { content: "\f56b"; } +.bi-smartwatch::before { content: "\f56c"; } +.bi-snow::before { content: "\f56d"; } +.bi-snow2::before { content: "\f56e"; } +.bi-snow3::before { content: "\f56f"; } +.bi-sort-alpha-down-alt::before { content: "\f570"; } +.bi-sort-alpha-down::before { content: "\f571"; } +.bi-sort-alpha-up-alt::before { content: "\f572"; } +.bi-sort-alpha-up::before { content: "\f573"; } +.bi-sort-down-alt::before { content: "\f574"; } +.bi-sort-down::before { content: "\f575"; } +.bi-sort-numeric-down-alt::before { content: "\f576"; } +.bi-sort-numeric-down::before { content: "\f577"; } +.bi-sort-numeric-up-alt::before { content: "\f578"; } +.bi-sort-numeric-up::before { content: "\f579"; } +.bi-sort-up-alt::before { content: "\f57a"; } +.bi-sort-up::before { content: "\f57b"; } +.bi-soundwave::before { content: "\f57c"; } +.bi-speaker-fill::before { content: "\f57d"; } +.bi-speaker::before { content: "\f57e"; } +.bi-speedometer::before { content: "\f57f"; } +.bi-speedometer2::before { content: "\f580"; } +.bi-spellcheck::before { content: "\f581"; } +.bi-square-fill::before { content: "\f582"; } +.bi-square-half::before { content: "\f583"; } +.bi-square::before { content: "\f584"; } +.bi-stack::before { content: "\f585"; } +.bi-star-fill::before { content: "\f586"; } +.bi-star-half::before { content: "\f587"; } +.bi-star::before { content: "\f588"; } +.bi-stars::before { content: "\f589"; } +.bi-stickies-fill::before { content: "\f58a"; } +.bi-stickies::before { content: "\f58b"; } +.bi-sticky-fill::before { content: "\f58c"; } +.bi-sticky::before { content: "\f58d"; } +.bi-stop-btn-fill::before { content: "\f58e"; } +.bi-stop-btn::before { content: "\f58f"; } +.bi-stop-circle-fill::before { content: "\f590"; } +.bi-stop-circle::before { content: "\f591"; } +.bi-stop-fill::before { content: "\f592"; } +.bi-stop::before { content: "\f593"; } +.bi-stoplights-fill::before { content: "\f594"; } +.bi-stoplights::before { content: "\f595"; } +.bi-stopwatch-fill::before { content: "\f596"; } +.bi-stopwatch::before { content: "\f597"; } +.bi-subtract::before { content: "\f598"; } +.bi-suit-club-fill::before { content: "\f599"; } +.bi-suit-club::before { content: "\f59a"; } +.bi-suit-diamond-fill::before { content: "\f59b"; } +.bi-suit-diamond::before { content: "\f59c"; } +.bi-suit-heart-fill::before { content: "\f59d"; } +.bi-suit-heart::before { content: "\f59e"; } +.bi-suit-spade-fill::before { content: "\f59f"; } +.bi-suit-spade::before { content: "\f5a0"; } +.bi-sun-fill::before { content: "\f5a1"; } +.bi-sun::before { content: "\f5a2"; } +.bi-sunglasses::before { content: "\f5a3"; } +.bi-sunrise-fill::before { content: "\f5a4"; } +.bi-sunrise::before { content: "\f5a5"; } +.bi-sunset-fill::before { content: "\f5a6"; } +.bi-sunset::before { content: "\f5a7"; } +.bi-symmetry-horizontal::before { content: "\f5a8"; } +.bi-symmetry-vertical::before { content: "\f5a9"; } +.bi-table::before { content: "\f5aa"; } +.bi-tablet-fill::before { content: "\f5ab"; } +.bi-tablet-landscape-fill::before { content: "\f5ac"; } +.bi-tablet-landscape::before { content: "\f5ad"; } +.bi-tablet::before { content: "\f5ae"; } +.bi-tag-fill::before { content: "\f5af"; } +.bi-tag::before { content: "\f5b0"; } +.bi-tags-fill::before { content: "\f5b1"; } +.bi-tags::before { content: "\f5b2"; } +.bi-telegram::before { content: "\f5b3"; } +.bi-telephone-fill::before { content: "\f5b4"; } +.bi-telephone-forward-fill::before { content: "\f5b5"; } +.bi-telephone-forward::before { content: "\f5b6"; } +.bi-telephone-inbound-fill::before { content: "\f5b7"; } +.bi-telephone-inbound::before { content: "\f5b8"; } +.bi-telephone-minus-fill::before { content: "\f5b9"; } +.bi-telephone-minus::before { content: "\f5ba"; } +.bi-telephone-outbound-fill::before { content: "\f5bb"; } +.bi-telephone-outbound::before { content: "\f5bc"; } +.bi-telephone-plus-fill::before { content: "\f5bd"; } +.bi-telephone-plus::before { content: "\f5be"; } +.bi-telephone-x-fill::before { content: "\f5bf"; } +.bi-telephone-x::before { content: "\f5c0"; } +.bi-telephone::before { content: "\f5c1"; } +.bi-terminal-fill::before { content: "\f5c2"; } +.bi-terminal::before { content: "\f5c3"; } +.bi-text-center::before { content: "\f5c4"; } +.bi-text-indent-left::before { content: "\f5c5"; } +.bi-text-indent-right::before { content: "\f5c6"; } +.bi-text-left::before { content: "\f5c7"; } +.bi-text-paragraph::before { content: "\f5c8"; } +.bi-text-right::before { content: "\f5c9"; } +.bi-textarea-resize::before { content: "\f5ca"; } +.bi-textarea-t::before { content: "\f5cb"; } +.bi-textarea::before { content: "\f5cc"; } +.bi-thermometer-half::before { content: "\f5cd"; } +.bi-thermometer-high::before { content: "\f5ce"; } +.bi-thermometer-low::before { content: "\f5cf"; } +.bi-thermometer-snow::before { content: "\f5d0"; } +.bi-thermometer-sun::before { content: "\f5d1"; } +.bi-thermometer::before { content: "\f5d2"; } +.bi-three-dots-vertical::before { content: "\f5d3"; } +.bi-three-dots::before { content: "\f5d4"; } +.bi-toggle-off::before { content: "\f5d5"; } +.bi-toggle-on::before { content: "\f5d6"; } +.bi-toggle2-off::before { content: "\f5d7"; } +.bi-toggle2-on::before { content: "\f5d8"; } +.bi-toggles::before { content: "\f5d9"; } +.bi-toggles2::before { content: "\f5da"; } +.bi-tools::before { content: "\f5db"; } +.bi-tornado::before { content: "\f5dc"; } +.bi-trash-fill::before { content: "\f5dd"; } +.bi-trash::before { content: "\f5de"; } +.bi-trash2-fill::before { content: "\f5df"; } +.bi-trash2::before { content: "\f5e0"; } +.bi-tree-fill::before { content: "\f5e1"; } +.bi-tree::before { content: "\f5e2"; } +.bi-triangle-fill::before { content: "\f5e3"; } +.bi-triangle-half::before { content: "\f5e4"; } +.bi-triangle::before { content: "\f5e5"; } +.bi-trophy-fill::before { content: "\f5e6"; } +.bi-trophy::before { content: "\f5e7"; } +.bi-tropical-storm::before { content: "\f5e8"; } +.bi-truck-flatbed::before { content: "\f5e9"; } +.bi-truck::before { content: "\f5ea"; } +.bi-tsunami::before { content: "\f5eb"; } +.bi-tv-fill::before { content: "\f5ec"; } +.bi-tv::before { content: "\f5ed"; } +.bi-twitch::before { content: "\f5ee"; } +.bi-twitter::before { content: "\f5ef"; } +.bi-type-bold::before { content: "\f5f0"; } +.bi-type-h1::before { content: "\f5f1"; } +.bi-type-h2::before { content: "\f5f2"; } +.bi-type-h3::before { content: "\f5f3"; } +.bi-type-italic::before { content: "\f5f4"; } +.bi-type-strikethrough::before { content: "\f5f5"; } +.bi-type-underline::before { content: "\f5f6"; } +.bi-type::before { content: "\f5f7"; } +.bi-ui-checks-grid::before { content: "\f5f8"; } +.bi-ui-checks::before { content: "\f5f9"; } +.bi-ui-radios-grid::before { content: "\f5fa"; } +.bi-ui-radios::before { content: "\f5fb"; } +.bi-umbrella-fill::before { content: "\f5fc"; } +.bi-umbrella::before { content: "\f5fd"; } +.bi-union::before { content: "\f5fe"; } +.bi-unlock-fill::before { content: "\f5ff"; } +.bi-unlock::before { content: "\f600"; } +.bi-upc-scan::before { content: "\f601"; } +.bi-upc::before { content: "\f602"; } +.bi-upload::before { content: "\f603"; } +.bi-vector-pen::before { content: "\f604"; } +.bi-view-list::before { content: "\f605"; } +.bi-view-stacked::before { content: "\f606"; } +.bi-vinyl-fill::before { content: "\f607"; } +.bi-vinyl::before { content: "\f608"; } +.bi-voicemail::before { content: "\f609"; } +.bi-volume-down-fill::before { content: "\f60a"; } +.bi-volume-down::before { content: "\f60b"; } +.bi-volume-mute-fill::before { content: "\f60c"; } +.bi-volume-mute::before { content: "\f60d"; } +.bi-volume-off-fill::before { content: "\f60e"; } +.bi-volume-off::before { content: "\f60f"; } +.bi-volume-up-fill::before { content: "\f610"; } +.bi-volume-up::before { content: "\f611"; } +.bi-vr::before { content: "\f612"; } +.bi-wallet-fill::before { content: "\f613"; } +.bi-wallet::before { content: "\f614"; } +.bi-wallet2::before { content: "\f615"; } +.bi-watch::before { content: "\f616"; } +.bi-water::before { content: "\f617"; } +.bi-whatsapp::before { content: "\f618"; } +.bi-wifi-1::before { content: "\f619"; } +.bi-wifi-2::before { content: "\f61a"; } +.bi-wifi-off::before { content: "\f61b"; } +.bi-wifi::before { content: "\f61c"; } +.bi-wind::before { content: "\f61d"; } +.bi-window-dock::before { content: "\f61e"; } +.bi-window-sidebar::before { content: "\f61f"; } +.bi-window::before { content: "\f620"; } +.bi-wrench::before { content: "\f621"; } +.bi-x-circle-fill::before { content: "\f622"; } +.bi-x-circle::before { content: "\f623"; } +.bi-x-diamond-fill::before { content: "\f624"; } +.bi-x-diamond::before { content: "\f625"; } +.bi-x-octagon-fill::before { content: "\f626"; } +.bi-x-octagon::before { content: "\f627"; } +.bi-x-square-fill::before { content: "\f628"; } +.bi-x-square::before { content: "\f629"; } +.bi-x::before { content: "\f62a"; } +.bi-youtube::before { content: "\f62b"; } +.bi-zoom-in::before { content: "\f62c"; } +.bi-zoom-out::before { content: "\f62d"; } +.bi-bank::before { content: "\f62e"; } +.bi-bank2::before { content: "\f62f"; } +.bi-bell-slash-fill::before { content: "\f630"; } +.bi-bell-slash::before { content: "\f631"; } +.bi-cash-coin::before { content: "\f632"; } +.bi-check-lg::before { content: "\f633"; } +.bi-coin::before { content: "\f634"; } +.bi-currency-bitcoin::before { content: "\f635"; } +.bi-currency-dollar::before { content: "\f636"; } +.bi-currency-euro::before { content: "\f637"; } +.bi-currency-exchange::before { content: "\f638"; } +.bi-currency-pound::before { content: "\f639"; } +.bi-currency-yen::before { content: "\f63a"; } +.bi-dash-lg::before { content: "\f63b"; } +.bi-exclamation-lg::before { content: "\f63c"; } +.bi-file-earmark-pdf-fill::before { content: "\f63d"; } +.bi-file-earmark-pdf::before { content: "\f63e"; } +.bi-file-pdf-fill::before { content: "\f63f"; } +.bi-file-pdf::before { content: "\f640"; } +.bi-gender-ambiguous::before { content: "\f641"; } +.bi-gender-female::before { content: "\f642"; } +.bi-gender-male::before { content: "\f643"; } +.bi-gender-trans::before { content: "\f644"; } +.bi-headset-vr::before { content: "\f645"; } +.bi-info-lg::before { content: "\f646"; } +.bi-mastodon::before { content: "\f647"; } +.bi-messenger::before { content: "\f648"; } +.bi-piggy-bank-fill::before { content: "\f649"; } +.bi-piggy-bank::before { content: "\f64a"; } +.bi-pin-map-fill::before { content: "\f64b"; } +.bi-pin-map::before { content: "\f64c"; } +.bi-plus-lg::before { content: "\f64d"; } +.bi-question-lg::before { content: "\f64e"; } +.bi-recycle::before { content: "\f64f"; } +.bi-reddit::before { content: "\f650"; } +.bi-safe-fill::before { content: "\f651"; } +.bi-safe2-fill::before { content: "\f652"; } +.bi-safe2::before { content: "\f653"; } +.bi-sd-card-fill::before { content: "\f654"; } +.bi-sd-card::before { content: "\f655"; } +.bi-skype::before { content: "\f656"; } +.bi-slash-lg::before { content: "\f657"; } +.bi-translate::before { content: "\f658"; } +.bi-x-lg::before { content: "\f659"; } +.bi-safe::before { content: "\f65a"; } +.bi-apple::before { content: "\f65b"; } +.bi-microsoft::before { content: "\f65d"; } +.bi-windows::before { content: "\f65e"; } +.bi-behance::before { content: "\f65c"; } +.bi-dribbble::before { content: "\f65f"; } +.bi-line::before { content: "\f660"; } +.bi-medium::before { content: "\f661"; } +.bi-paypal::before { content: "\f662"; } +.bi-pinterest::before { content: "\f663"; } +.bi-signal::before { content: "\f664"; } +.bi-snapchat::before { content: "\f665"; } +.bi-spotify::before { content: "\f666"; } +.bi-stack-overflow::before { content: "\f667"; } +.bi-strava::before { content: "\f668"; } +.bi-wordpress::before { content: "\f669"; } +.bi-vimeo::before { content: "\f66a"; } +.bi-activity::before { content: "\f66b"; } +.bi-easel2-fill::before { content: "\f66c"; } +.bi-easel2::before { content: "\f66d"; } +.bi-easel3-fill::before { content: "\f66e"; } +.bi-easel3::before { content: "\f66f"; } +.bi-fan::before { content: "\f670"; } +.bi-fingerprint::before { content: "\f671"; } +.bi-graph-down-arrow::before { content: "\f672"; } +.bi-graph-up-arrow::before { content: "\f673"; } +.bi-hypnotize::before { content: "\f674"; } +.bi-magic::before { content: "\f675"; } +.bi-person-rolodex::before { content: "\f676"; } +.bi-person-video::before { content: "\f677"; } +.bi-person-video2::before { content: "\f678"; } +.bi-person-video3::before { content: "\f679"; } +.bi-person-workspace::before { content: "\f67a"; } +.bi-radioactive::before { content: "\f67b"; } +.bi-webcam-fill::before { content: "\f67c"; } +.bi-webcam::before { content: "\f67d"; } +.bi-yin-yang::before { content: "\f67e"; } +.bi-bandaid-fill::before { content: "\f680"; } +.bi-bandaid::before { content: "\f681"; } +.bi-bluetooth::before { content: "\f682"; } +.bi-body-text::before { content: "\f683"; } +.bi-boombox::before { content: "\f684"; } +.bi-boxes::before { content: "\f685"; } +.bi-dpad-fill::before { content: "\f686"; } +.bi-dpad::before { content: "\f687"; } +.bi-ear-fill::before { content: "\f688"; } +.bi-ear::before { content: "\f689"; } +.bi-envelope-check-1::before { content: "\f68a"; } +.bi-envelope-check-fill::before { content: "\f68b"; } +.bi-envelope-check::before { content: "\f68c"; } +.bi-envelope-dash-1::before { content: "\f68d"; } +.bi-envelope-dash-fill::before { content: "\f68e"; } +.bi-envelope-dash::before { content: "\f68f"; } +.bi-envelope-exclamation-1::before { content: "\f690"; } +.bi-envelope-exclamation-fill::before { content: "\f691"; } +.bi-envelope-exclamation::before { content: "\f692"; } +.bi-envelope-plus-fill::before { content: "\f693"; } +.bi-envelope-plus::before { content: "\f694"; } +.bi-envelope-slash-1::before { content: "\f695"; } +.bi-envelope-slash-fill::before { content: "\f696"; } +.bi-envelope-slash::before { content: "\f697"; } +.bi-envelope-x-1::before { content: "\f698"; } +.bi-envelope-x-fill::before { content: "\f699"; } +.bi-envelope-x::before { content: "\f69a"; } +.bi-explicit-fill::before { content: "\f69b"; } +.bi-explicit::before { content: "\f69c"; } +.bi-git::before { content: "\f69d"; } +.bi-infinity::before { content: "\f69e"; } +.bi-list-columns-reverse::before { content: "\f69f"; } +.bi-list-columns::before { content: "\f6a0"; } +.bi-meta::before { content: "\f6a1"; } +.bi-mortorboard-fill::before { content: "\f6a2"; } +.bi-mortorboard::before { content: "\f6a3"; } +.bi-nintendo-switch::before { content: "\f6a4"; } +.bi-pc-display-horizontal::before { content: "\f6a5"; } +.bi-pc-display::before { content: "\f6a6"; } +.bi-pc-horizontal::before { content: "\f6a7"; } +.bi-pc::before { content: "\f6a8"; } +.bi-playstation::before { content: "\f6a9"; } +.bi-plus-slash-minus::before { content: "\f6aa"; } +.bi-projector-fill::before { content: "\f6ab"; } +.bi-projector::before { content: "\f6ac"; } +.bi-qr-code-scan::before { content: "\f6ad"; } +.bi-qr-code::before { content: "\f6ae"; } +.bi-quora::before { content: "\f6af"; } +.bi-quote::before { content: "\f6b0"; } +.bi-robot::before { content: "\f6b1"; } +.bi-send-check-fill::before { content: "\f6b2"; } +.bi-send-check::before { content: "\f6b3"; } +.bi-send-dash-fill::before { content: "\f6b4"; } +.bi-send-dash::before { content: "\f6b5"; } +.bi-send-exclamation-1::before { content: "\f6b6"; } +.bi-send-exclamation-fill::before { content: "\f6b7"; } +.bi-send-exclamation::before { content: "\f6b8"; } +.bi-send-fill::before { content: "\f6b9"; } +.bi-send-plus-fill::before { content: "\f6ba"; } +.bi-send-plus::before { content: "\f6bb"; } +.bi-send-slash-fill::before { content: "\f6bc"; } +.bi-send-slash::before { content: "\f6bd"; } +.bi-send-x-fill::before { content: "\f6be"; } +.bi-send-x::before { content: "\f6bf"; } +.bi-send::before { content: "\f6c0"; } +.bi-steam::before { content: "\f6c1"; } +.bi-terminal-dash-1::before { content: "\f6c2"; } +.bi-terminal-dash::before { content: "\f6c3"; } +.bi-terminal-plus::before { content: "\f6c4"; } +.bi-terminal-split::before { content: "\f6c5"; } +.bi-ticket-detailed-fill::before { content: "\f6c6"; } +.bi-ticket-detailed::before { content: "\f6c7"; } +.bi-ticket-fill::before { content: "\f6c8"; } +.bi-ticket-perferated-fill::before { content: "\f6c9"; } +.bi-ticket-perferated::before { content: "\f6ca"; } +.bi-ticket::before { content: "\f6cb"; } +.bi-tiktok::before { content: "\f6cc"; } +.bi-window-dash::before { content: "\f6cd"; } +.bi-window-desktop::before { content: "\f6ce"; } +.bi-window-fullscreen::before { content: "\f6cf"; } +.bi-window-plus::before { content: "\f6d0"; } +.bi-window-split::before { content: "\f6d1"; } +.bi-window-stack::before { content: "\f6d2"; } +.bi-window-x::before { content: "\f6d3"; } +.bi-xbox::before { content: "\f6d4"; } +.bi-ethernet::before { content: "\f6d5"; } +.bi-hdmi-fill::before { content: "\f6d6"; } +.bi-hdmi::before { content: "\f6d7"; } +.bi-usb-c-fill::before { content: "\f6d8"; } +.bi-usb-c::before { content: "\f6d9"; } +.bi-usb-fill::before { content: "\f6da"; } +.bi-usb-plug-fill::before { content: "\f6db"; } +.bi-usb-plug::before { content: "\f6dc"; } +.bi-usb-symbol::before { content: "\f6dd"; } +.bi-usb::before { content: "\f6de"; } +.bi-boombox-fill::before { content: "\f6df"; } +.bi-displayport-1::before { content: "\f6e0"; } +.bi-displayport::before { content: "\f6e1"; } +.bi-gpu-card::before { content: "\f6e2"; } +.bi-memory::before { content: "\f6e3"; } +.bi-modem-fill::before { content: "\f6e4"; } +.bi-modem::before { content: "\f6e5"; } +.bi-motherboard-fill::before { content: "\f6e6"; } +.bi-motherboard::before { content: "\f6e7"; } +.bi-optical-audio-fill::before { content: "\f6e8"; } +.bi-optical-audio::before { content: "\f6e9"; } +.bi-pci-card::before { content: "\f6ea"; } +.bi-router-fill::before { content: "\f6eb"; } +.bi-router::before { content: "\f6ec"; } +.bi-ssd-fill::before { content: "\f6ed"; } +.bi-ssd::before { content: "\f6ee"; } +.bi-thunderbolt-fill::before { content: "\f6ef"; } +.bi-thunderbolt::before { content: "\f6f0"; } +.bi-usb-drive-fill::before { content: "\f6f1"; } +.bi-usb-drive::before { content: "\f6f2"; } +.bi-usb-micro-fill::before { content: "\f6f3"; } +.bi-usb-micro::before { content: "\f6f4"; } +.bi-usb-mini-fill::before { content: "\f6f5"; } +.bi-usb-mini::before { content: "\f6f6"; } +.bi-cloud-haze2::before { content: "\f6f7"; } +.bi-device-hdd-fill::before { content: "\f6f8"; } +.bi-device-hdd::before { content: "\f6f9"; } +.bi-device-ssd-fill::before { content: "\f6fa"; } +.bi-device-ssd::before { content: "\f6fb"; } +.bi-displayport-fill::before { content: "\f6fc"; } +.bi-mortarboard-fill::before { content: "\f6fd"; } +.bi-mortarboard::before { content: "\f6fe"; } +.bi-terminal-x::before { content: "\f6ff"; } diff --git a/public/css/bootstrap-icons-1.7.1/font/bootstrap-icons.json b/public/css/bootstrap-icons-1.7.1/font/bootstrap-icons.json new file mode 100644 index 000000000..8fc583d56 --- /dev/null +++ b/public/css/bootstrap-icons-1.7.1/font/bootstrap-icons.json @@ -0,0 +1,1537 @@ +{ + "123": 63103, + "alarm-fill": 61697, + "alarm": 61698, + "align-bottom": 61699, + "align-center": 61700, + "align-end": 61701, + "align-middle": 61702, + "align-start": 61703, + "align-top": 61704, + "alt": 61705, + "app-indicator": 61706, + "app": 61707, + "archive-fill": 61708, + "archive": 61709, + "arrow-90deg-down": 61710, + "arrow-90deg-left": 61711, + "arrow-90deg-right": 61712, + "arrow-90deg-up": 61713, + "arrow-bar-down": 61714, + "arrow-bar-left": 61715, + "arrow-bar-right": 61716, + "arrow-bar-up": 61717, + "arrow-clockwise": 61718, + "arrow-counterclockwise": 61719, + "arrow-down-circle-fill": 61720, + "arrow-down-circle": 61721, + "arrow-down-left-circle-fill": 61722, + "arrow-down-left-circle": 61723, + "arrow-down-left-square-fill": 61724, + "arrow-down-left-square": 61725, + "arrow-down-left": 61726, + "arrow-down-right-circle-fill": 61727, + "arrow-down-right-circle": 61728, + "arrow-down-right-square-fill": 61729, + "arrow-down-right-square": 61730, + "arrow-down-right": 61731, + "arrow-down-short": 61732, + "arrow-down-square-fill": 61733, + "arrow-down-square": 61734, + "arrow-down-up": 61735, + "arrow-down": 61736, + "arrow-left-circle-fill": 61737, + "arrow-left-circle": 61738, + "arrow-left-right": 61739, + "arrow-left-short": 61740, + "arrow-left-square-fill": 61741, + "arrow-left-square": 61742, + "arrow-left": 61743, + "arrow-repeat": 61744, + "arrow-return-left": 61745, + "arrow-return-right": 61746, + "arrow-right-circle-fill": 61747, + "arrow-right-circle": 61748, + "arrow-right-short": 61749, + "arrow-right-square-fill": 61750, + "arrow-right-square": 61751, + "arrow-right": 61752, + "arrow-up-circle-fill": 61753, + "arrow-up-circle": 61754, + "arrow-up-left-circle-fill": 61755, + "arrow-up-left-circle": 61756, + "arrow-up-left-square-fill": 61757, + "arrow-up-left-square": 61758, + "arrow-up-left": 61759, + "arrow-up-right-circle-fill": 61760, + "arrow-up-right-circle": 61761, + "arrow-up-right-square-fill": 61762, + "arrow-up-right-square": 61763, + "arrow-up-right": 61764, + "arrow-up-short": 61765, + "arrow-up-square-fill": 61766, + "arrow-up-square": 61767, + "arrow-up": 61768, + "arrows-angle-contract": 61769, + "arrows-angle-expand": 61770, + "arrows-collapse": 61771, + "arrows-expand": 61772, + "arrows-fullscreen": 61773, + "arrows-move": 61774, + "aspect-ratio-fill": 61775, + "aspect-ratio": 61776, + "asterisk": 61777, + "at": 61778, + "award-fill": 61779, + "award": 61780, + "back": 61781, + "backspace-fill": 61782, + "backspace-reverse-fill": 61783, + "backspace-reverse": 61784, + "backspace": 61785, + "badge-3d-fill": 61786, + "badge-3d": 61787, + "badge-4k-fill": 61788, + "badge-4k": 61789, + "badge-8k-fill": 61790, + "badge-8k": 61791, + "badge-ad-fill": 61792, + "badge-ad": 61793, + "badge-ar-fill": 61794, + "badge-ar": 61795, + "badge-cc-fill": 61796, + "badge-cc": 61797, + "badge-hd-fill": 61798, + "badge-hd": 61799, + "badge-tm-fill": 61800, + "badge-tm": 61801, + "badge-vo-fill": 61802, + "badge-vo": 61803, + "badge-vr-fill": 61804, + "badge-vr": 61805, + "badge-wc-fill": 61806, + "badge-wc": 61807, + "bag-check-fill": 61808, + "bag-check": 61809, + "bag-dash-fill": 61810, + "bag-dash": 61811, + "bag-fill": 61812, + "bag-plus-fill": 61813, + "bag-plus": 61814, + "bag-x-fill": 61815, + "bag-x": 61816, + "bag": 61817, + "bar-chart-fill": 61818, + "bar-chart-line-fill": 61819, + "bar-chart-line": 61820, + "bar-chart-steps": 61821, + "bar-chart": 61822, + "basket-fill": 61823, + "basket": 61824, + "basket2-fill": 61825, + "basket2": 61826, + "basket3-fill": 61827, + "basket3": 61828, + "battery-charging": 61829, + "battery-full": 61830, + "battery-half": 61831, + "battery": 61832, + "bell-fill": 61833, + "bell": 61834, + "bezier": 61835, + "bezier2": 61836, + "bicycle": 61837, + "binoculars-fill": 61838, + "binoculars": 61839, + "blockquote-left": 61840, + "blockquote-right": 61841, + "book-fill": 61842, + "book-half": 61843, + "book": 61844, + "bookmark-check-fill": 61845, + "bookmark-check": 61846, + "bookmark-dash-fill": 61847, + "bookmark-dash": 61848, + "bookmark-fill": 61849, + "bookmark-heart-fill": 61850, + "bookmark-heart": 61851, + "bookmark-plus-fill": 61852, + "bookmark-plus": 61853, + "bookmark-star-fill": 61854, + "bookmark-star": 61855, + "bookmark-x-fill": 61856, + "bookmark-x": 61857, + "bookmark": 61858, + "bookmarks-fill": 61859, + "bookmarks": 61860, + "bookshelf": 61861, + "bootstrap-fill": 61862, + "bootstrap-reboot": 61863, + "bootstrap": 61864, + "border-all": 61865, + "border-bottom": 61866, + "border-center": 61867, + "border-inner": 61868, + "border-left": 61869, + "border-middle": 61870, + "border-outer": 61871, + "border-right": 61872, + "border-style": 61873, + "border-top": 61874, + "border-width": 61875, + "border": 61876, + "bounding-box-circles": 61877, + "bounding-box": 61878, + "box-arrow-down-left": 61879, + "box-arrow-down-right": 61880, + "box-arrow-down": 61881, + "box-arrow-in-down-left": 61882, + "box-arrow-in-down-right": 61883, + "box-arrow-in-down": 61884, + "box-arrow-in-left": 61885, + "box-arrow-in-right": 61886, + "box-arrow-in-up-left": 61887, + "box-arrow-in-up-right": 61888, + "box-arrow-in-up": 61889, + "box-arrow-left": 61890, + "box-arrow-right": 61891, + "box-arrow-up-left": 61892, + "box-arrow-up-right": 61893, + "box-arrow-up": 61894, + "box-seam": 61895, + "box": 61896, + "braces": 61897, + "bricks": 61898, + "briefcase-fill": 61899, + "briefcase": 61900, + "brightness-alt-high-fill": 61901, + "brightness-alt-high": 61902, + "brightness-alt-low-fill": 61903, + "brightness-alt-low": 61904, + "brightness-high-fill": 61905, + "brightness-high": 61906, + "brightness-low-fill": 61907, + "brightness-low": 61908, + "broadcast-pin": 61909, + "broadcast": 61910, + "brush-fill": 61911, + "brush": 61912, + "bucket-fill": 61913, + "bucket": 61914, + "bug-fill": 61915, + "bug": 61916, + "building": 61917, + "bullseye": 61918, + "calculator-fill": 61919, + "calculator": 61920, + "calendar-check-fill": 61921, + "calendar-check": 61922, + "calendar-date-fill": 61923, + "calendar-date": 61924, + "calendar-day-fill": 61925, + "calendar-day": 61926, + "calendar-event-fill": 61927, + "calendar-event": 61928, + "calendar-fill": 61929, + "calendar-minus-fill": 61930, + "calendar-minus": 61931, + "calendar-month-fill": 61932, + "calendar-month": 61933, + "calendar-plus-fill": 61934, + "calendar-plus": 61935, + "calendar-range-fill": 61936, + "calendar-range": 61937, + "calendar-week-fill": 61938, + "calendar-week": 61939, + "calendar-x-fill": 61940, + "calendar-x": 61941, + "calendar": 61942, + "calendar2-check-fill": 61943, + "calendar2-check": 61944, + "calendar2-date-fill": 61945, + "calendar2-date": 61946, + "calendar2-day-fill": 61947, + "calendar2-day": 61948, + "calendar2-event-fill": 61949, + "calendar2-event": 61950, + "calendar2-fill": 61951, + "calendar2-minus-fill": 61952, + "calendar2-minus": 61953, + "calendar2-month-fill": 61954, + "calendar2-month": 61955, + "calendar2-plus-fill": 61956, + "calendar2-plus": 61957, + "calendar2-range-fill": 61958, + "calendar2-range": 61959, + "calendar2-week-fill": 61960, + "calendar2-week": 61961, + "calendar2-x-fill": 61962, + "calendar2-x": 61963, + "calendar2": 61964, + "calendar3-event-fill": 61965, + "calendar3-event": 61966, + "calendar3-fill": 61967, + "calendar3-range-fill": 61968, + "calendar3-range": 61969, + "calendar3-week-fill": 61970, + "calendar3-week": 61971, + "calendar3": 61972, + "calendar4-event": 61973, + "calendar4-range": 61974, + "calendar4-week": 61975, + "calendar4": 61976, + "camera-fill": 61977, + "camera-reels-fill": 61978, + "camera-reels": 61979, + "camera-video-fill": 61980, + "camera-video-off-fill": 61981, + "camera-video-off": 61982, + "camera-video": 61983, + "camera": 61984, + "camera2": 61985, + "capslock-fill": 61986, + "capslock": 61987, + "card-checklist": 61988, + "card-heading": 61989, + "card-image": 61990, + "card-list": 61991, + "card-text": 61992, + "caret-down-fill": 61993, + "caret-down-square-fill": 61994, + "caret-down-square": 61995, + "caret-down": 61996, + "caret-left-fill": 61997, + "caret-left-square-fill": 61998, + "caret-left-square": 61999, + "caret-left": 62000, + "caret-right-fill": 62001, + "caret-right-square-fill": 62002, + "caret-right-square": 62003, + "caret-right": 62004, + "caret-up-fill": 62005, + "caret-up-square-fill": 62006, + "caret-up-square": 62007, + "caret-up": 62008, + "cart-check-fill": 62009, + "cart-check": 62010, + "cart-dash-fill": 62011, + "cart-dash": 62012, + "cart-fill": 62013, + "cart-plus-fill": 62014, + "cart-plus": 62015, + "cart-x-fill": 62016, + "cart-x": 62017, + "cart": 62018, + "cart2": 62019, + "cart3": 62020, + "cart4": 62021, + "cash-stack": 62022, + "cash": 62023, + "cast": 62024, + "chat-dots-fill": 62025, + "chat-dots": 62026, + "chat-fill": 62027, + "chat-left-dots-fill": 62028, + "chat-left-dots": 62029, + "chat-left-fill": 62030, + "chat-left-quote-fill": 62031, + "chat-left-quote": 62032, + "chat-left-text-fill": 62033, + "chat-left-text": 62034, + "chat-left": 62035, + "chat-quote-fill": 62036, + "chat-quote": 62037, + "chat-right-dots-fill": 62038, + "chat-right-dots": 62039, + "chat-right-fill": 62040, + "chat-right-quote-fill": 62041, + "chat-right-quote": 62042, + "chat-right-text-fill": 62043, + "chat-right-text": 62044, + "chat-right": 62045, + "chat-square-dots-fill": 62046, + "chat-square-dots": 62047, + "chat-square-fill": 62048, + "chat-square-quote-fill": 62049, + "chat-square-quote": 62050, + "chat-square-text-fill": 62051, + "chat-square-text": 62052, + "chat-square": 62053, + "chat-text-fill": 62054, + "chat-text": 62055, + "chat": 62056, + "check-all": 62057, + "check-circle-fill": 62058, + "check-circle": 62059, + "check-square-fill": 62060, + "check-square": 62061, + "check": 62062, + "check2-all": 62063, + "check2-circle": 62064, + "check2-square": 62065, + "check2": 62066, + "chevron-bar-contract": 62067, + "chevron-bar-down": 62068, + "chevron-bar-expand": 62069, + "chevron-bar-left": 62070, + "chevron-bar-right": 62071, + "chevron-bar-up": 62072, + "chevron-compact-down": 62073, + "chevron-compact-left": 62074, + "chevron-compact-right": 62075, + "chevron-compact-up": 62076, + "chevron-contract": 62077, + "chevron-double-down": 62078, + "chevron-double-left": 62079, + "chevron-double-right": 62080, + "chevron-double-up": 62081, + "chevron-down": 62082, + "chevron-expand": 62083, + "chevron-left": 62084, + "chevron-right": 62085, + "chevron-up": 62086, + "circle-fill": 62087, + "circle-half": 62088, + "circle-square": 62089, + "circle": 62090, + "clipboard-check": 62091, + "clipboard-data": 62092, + "clipboard-minus": 62093, + "clipboard-plus": 62094, + "clipboard-x": 62095, + "clipboard": 62096, + "clock-fill": 62097, + "clock-history": 62098, + "clock": 62099, + "cloud-arrow-down-fill": 62100, + "cloud-arrow-down": 62101, + "cloud-arrow-up-fill": 62102, + "cloud-arrow-up": 62103, + "cloud-check-fill": 62104, + "cloud-check": 62105, + "cloud-download-fill": 62106, + "cloud-download": 62107, + "cloud-drizzle-fill": 62108, + "cloud-drizzle": 62109, + "cloud-fill": 62110, + "cloud-fog-fill": 62111, + "cloud-fog": 62112, + "cloud-fog2-fill": 62113, + "cloud-fog2": 62114, + "cloud-hail-fill": 62115, + "cloud-hail": 62116, + "cloud-haze-1": 62117, + "cloud-haze-fill": 62118, + "cloud-haze": 62119, + "cloud-haze2-fill": 62120, + "cloud-lightning-fill": 62121, + "cloud-lightning-rain-fill": 62122, + "cloud-lightning-rain": 62123, + "cloud-lightning": 62124, + "cloud-minus-fill": 62125, + "cloud-minus": 62126, + "cloud-moon-fill": 62127, + "cloud-moon": 62128, + "cloud-plus-fill": 62129, + "cloud-plus": 62130, + "cloud-rain-fill": 62131, + "cloud-rain-heavy-fill": 62132, + "cloud-rain-heavy": 62133, + "cloud-rain": 62134, + "cloud-slash-fill": 62135, + "cloud-slash": 62136, + "cloud-sleet-fill": 62137, + "cloud-sleet": 62138, + "cloud-snow-fill": 62139, + "cloud-snow": 62140, + "cloud-sun-fill": 62141, + "cloud-sun": 62142, + "cloud-upload-fill": 62143, + "cloud-upload": 62144, + "cloud": 62145, + "clouds-fill": 62146, + "clouds": 62147, + "cloudy-fill": 62148, + "cloudy": 62149, + "code-slash": 62150, + "code-square": 62151, + "code": 62152, + "collection-fill": 62153, + "collection-play-fill": 62154, + "collection-play": 62155, + "collection": 62156, + "columns-gap": 62157, + "columns": 62158, + "command": 62159, + "compass-fill": 62160, + "compass": 62161, + "cone-striped": 62162, + "cone": 62163, + "controller": 62164, + "cpu-fill": 62165, + "cpu": 62166, + "credit-card-2-back-fill": 62167, + "credit-card-2-back": 62168, + "credit-card-2-front-fill": 62169, + "credit-card-2-front": 62170, + "credit-card-fill": 62171, + "credit-card": 62172, + "crop": 62173, + "cup-fill": 62174, + "cup-straw": 62175, + "cup": 62176, + "cursor-fill": 62177, + "cursor-text": 62178, + "cursor": 62179, + "dash-circle-dotted": 62180, + "dash-circle-fill": 62181, + "dash-circle": 62182, + "dash-square-dotted": 62183, + "dash-square-fill": 62184, + "dash-square": 62185, + "dash": 62186, + "diagram-2-fill": 62187, + "diagram-2": 62188, + "diagram-3-fill": 62189, + "diagram-3": 62190, + "diamond-fill": 62191, + "diamond-half": 62192, + "diamond": 62193, + "dice-1-fill": 62194, + "dice-1": 62195, + "dice-2-fill": 62196, + "dice-2": 62197, + "dice-3-fill": 62198, + "dice-3": 62199, + "dice-4-fill": 62200, + "dice-4": 62201, + "dice-5-fill": 62202, + "dice-5": 62203, + "dice-6-fill": 62204, + "dice-6": 62205, + "disc-fill": 62206, + "disc": 62207, + "discord": 62208, + "display-fill": 62209, + "display": 62210, + "distribute-horizontal": 62211, + "distribute-vertical": 62212, + "door-closed-fill": 62213, + "door-closed": 62214, + "door-open-fill": 62215, + "door-open": 62216, + "dot": 62217, + "download": 62218, + "droplet-fill": 62219, + "droplet-half": 62220, + "droplet": 62221, + "earbuds": 62222, + "easel-fill": 62223, + "easel": 62224, + "egg-fill": 62225, + "egg-fried": 62226, + "egg": 62227, + "eject-fill": 62228, + "eject": 62229, + "emoji-angry-fill": 62230, + "emoji-angry": 62231, + "emoji-dizzy-fill": 62232, + "emoji-dizzy": 62233, + "emoji-expressionless-fill": 62234, + "emoji-expressionless": 62235, + "emoji-frown-fill": 62236, + "emoji-frown": 62237, + "emoji-heart-eyes-fill": 62238, + "emoji-heart-eyes": 62239, + "emoji-laughing-fill": 62240, + "emoji-laughing": 62241, + "emoji-neutral-fill": 62242, + "emoji-neutral": 62243, + "emoji-smile-fill": 62244, + "emoji-smile-upside-down-fill": 62245, + "emoji-smile-upside-down": 62246, + "emoji-smile": 62247, + "emoji-sunglasses-fill": 62248, + "emoji-sunglasses": 62249, + "emoji-wink-fill": 62250, + "emoji-wink": 62251, + "envelope-fill": 62252, + "envelope-open-fill": 62253, + "envelope-open": 62254, + "envelope": 62255, + "eraser-fill": 62256, + "eraser": 62257, + "exclamation-circle-fill": 62258, + "exclamation-circle": 62259, + "exclamation-diamond-fill": 62260, + "exclamation-diamond": 62261, + "exclamation-octagon-fill": 62262, + "exclamation-octagon": 62263, + "exclamation-square-fill": 62264, + "exclamation-square": 62265, + "exclamation-triangle-fill": 62266, + "exclamation-triangle": 62267, + "exclamation": 62268, + "exclude": 62269, + "eye-fill": 62270, + "eye-slash-fill": 62271, + "eye-slash": 62272, + "eye": 62273, + "eyedropper": 62274, + "eyeglasses": 62275, + "facebook": 62276, + "file-arrow-down-fill": 62277, + "file-arrow-down": 62278, + "file-arrow-up-fill": 62279, + "file-arrow-up": 62280, + "file-bar-graph-fill": 62281, + "file-bar-graph": 62282, + "file-binary-fill": 62283, + "file-binary": 62284, + "file-break-fill": 62285, + "file-break": 62286, + "file-check-fill": 62287, + "file-check": 62288, + "file-code-fill": 62289, + "file-code": 62290, + "file-diff-fill": 62291, + "file-diff": 62292, + "file-earmark-arrow-down-fill": 62293, + "file-earmark-arrow-down": 62294, + "file-earmark-arrow-up-fill": 62295, + "file-earmark-arrow-up": 62296, + "file-earmark-bar-graph-fill": 62297, + "file-earmark-bar-graph": 62298, + "file-earmark-binary-fill": 62299, + "file-earmark-binary": 62300, + "file-earmark-break-fill": 62301, + "file-earmark-break": 62302, + "file-earmark-check-fill": 62303, + "file-earmark-check": 62304, + "file-earmark-code-fill": 62305, + "file-earmark-code": 62306, + "file-earmark-diff-fill": 62307, + "file-earmark-diff": 62308, + "file-earmark-easel-fill": 62309, + "file-earmark-easel": 62310, + "file-earmark-excel-fill": 62311, + "file-earmark-excel": 62312, + "file-earmark-fill": 62313, + "file-earmark-font-fill": 62314, + "file-earmark-font": 62315, + "file-earmark-image-fill": 62316, + "file-earmark-image": 62317, + "file-earmark-lock-fill": 62318, + "file-earmark-lock": 62319, + "file-earmark-lock2-fill": 62320, + "file-earmark-lock2": 62321, + "file-earmark-medical-fill": 62322, + "file-earmark-medical": 62323, + "file-earmark-minus-fill": 62324, + "file-earmark-minus": 62325, + "file-earmark-music-fill": 62326, + "file-earmark-music": 62327, + "file-earmark-person-fill": 62328, + "file-earmark-person": 62329, + "file-earmark-play-fill": 62330, + "file-earmark-play": 62331, + "file-earmark-plus-fill": 62332, + "file-earmark-plus": 62333, + "file-earmark-post-fill": 62334, + "file-earmark-post": 62335, + "file-earmark-ppt-fill": 62336, + "file-earmark-ppt": 62337, + "file-earmark-richtext-fill": 62338, + "file-earmark-richtext": 62339, + "file-earmark-ruled-fill": 62340, + "file-earmark-ruled": 62341, + "file-earmark-slides-fill": 62342, + "file-earmark-slides": 62343, + "file-earmark-spreadsheet-fill": 62344, + "file-earmark-spreadsheet": 62345, + "file-earmark-text-fill": 62346, + "file-earmark-text": 62347, + "file-earmark-word-fill": 62348, + "file-earmark-word": 62349, + "file-earmark-x-fill": 62350, + "file-earmark-x": 62351, + "file-earmark-zip-fill": 62352, + "file-earmark-zip": 62353, + "file-earmark": 62354, + "file-easel-fill": 62355, + "file-easel": 62356, + "file-excel-fill": 62357, + "file-excel": 62358, + "file-fill": 62359, + "file-font-fill": 62360, + "file-font": 62361, + "file-image-fill": 62362, + "file-image": 62363, + "file-lock-fill": 62364, + "file-lock": 62365, + "file-lock2-fill": 62366, + "file-lock2": 62367, + "file-medical-fill": 62368, + "file-medical": 62369, + "file-minus-fill": 62370, + "file-minus": 62371, + "file-music-fill": 62372, + "file-music": 62373, + "file-person-fill": 62374, + "file-person": 62375, + "file-play-fill": 62376, + "file-play": 62377, + "file-plus-fill": 62378, + "file-plus": 62379, + "file-post-fill": 62380, + "file-post": 62381, + "file-ppt-fill": 62382, + "file-ppt": 62383, + "file-richtext-fill": 62384, + "file-richtext": 62385, + "file-ruled-fill": 62386, + "file-ruled": 62387, + "file-slides-fill": 62388, + "file-slides": 62389, + "file-spreadsheet-fill": 62390, + "file-spreadsheet": 62391, + "file-text-fill": 62392, + "file-text": 62393, + "file-word-fill": 62394, + "file-word": 62395, + "file-x-fill": 62396, + "file-x": 62397, + "file-zip-fill": 62398, + "file-zip": 62399, + "file": 62400, + "files-alt": 62401, + "files": 62402, + "film": 62403, + "filter-circle-fill": 62404, + "filter-circle": 62405, + "filter-left": 62406, + "filter-right": 62407, + "filter-square-fill": 62408, + "filter-square": 62409, + "filter": 62410, + "flag-fill": 62411, + "flag": 62412, + "flower1": 62413, + "flower2": 62414, + "flower3": 62415, + "folder-check": 62416, + "folder-fill": 62417, + "folder-minus": 62418, + "folder-plus": 62419, + "folder-symlink-fill": 62420, + "folder-symlink": 62421, + "folder-x": 62422, + "folder": 62423, + "folder2-open": 62424, + "folder2": 62425, + "fonts": 62426, + "forward-fill": 62427, + "forward": 62428, + "front": 62429, + "fullscreen-exit": 62430, + "fullscreen": 62431, + "funnel-fill": 62432, + "funnel": 62433, + "gear-fill": 62434, + "gear-wide-connected": 62435, + "gear-wide": 62436, + "gear": 62437, + "gem": 62438, + "geo-alt-fill": 62439, + "geo-alt": 62440, + "geo-fill": 62441, + "geo": 62442, + "gift-fill": 62443, + "gift": 62444, + "github": 62445, + "globe": 62446, + "globe2": 62447, + "google": 62448, + "graph-down": 62449, + "graph-up": 62450, + "grid-1x2-fill": 62451, + "grid-1x2": 62452, + "grid-3x2-gap-fill": 62453, + "grid-3x2-gap": 62454, + "grid-3x2": 62455, + "grid-3x3-gap-fill": 62456, + "grid-3x3-gap": 62457, + "grid-3x3": 62458, + "grid-fill": 62459, + "grid": 62460, + "grip-horizontal": 62461, + "grip-vertical": 62462, + "hammer": 62463, + "hand-index-fill": 62464, + "hand-index-thumb-fill": 62465, + "hand-index-thumb": 62466, + "hand-index": 62467, + "hand-thumbs-down-fill": 62468, + "hand-thumbs-down": 62469, + "hand-thumbs-up-fill": 62470, + "hand-thumbs-up": 62471, + "handbag-fill": 62472, + "handbag": 62473, + "hash": 62474, + "hdd-fill": 62475, + "hdd-network-fill": 62476, + "hdd-network": 62477, + "hdd-rack-fill": 62478, + "hdd-rack": 62479, + "hdd-stack-fill": 62480, + "hdd-stack": 62481, + "hdd": 62482, + "headphones": 62483, + "headset": 62484, + "heart-fill": 62485, + "heart-half": 62486, + "heart": 62487, + "heptagon-fill": 62488, + "heptagon-half": 62489, + "heptagon": 62490, + "hexagon-fill": 62491, + "hexagon-half": 62492, + "hexagon": 62493, + "hourglass-bottom": 62494, + "hourglass-split": 62495, + "hourglass-top": 62496, + "hourglass": 62497, + "house-door-fill": 62498, + "house-door": 62499, + "house-fill": 62500, + "house": 62501, + "hr": 62502, + "hurricane": 62503, + "image-alt": 62504, + "image-fill": 62505, + "image": 62506, + "images": 62507, + "inbox-fill": 62508, + "inbox": 62509, + "inboxes-fill": 62510, + "inboxes": 62511, + "info-circle-fill": 62512, + "info-circle": 62513, + "info-square-fill": 62514, + "info-square": 62515, + "info": 62516, + "input-cursor-text": 62517, + "input-cursor": 62518, + "instagram": 62519, + "intersect": 62520, + "journal-album": 62521, + "journal-arrow-down": 62522, + "journal-arrow-up": 62523, + "journal-bookmark-fill": 62524, + "journal-bookmark": 62525, + "journal-check": 62526, + "journal-code": 62527, + "journal-medical": 62528, + "journal-minus": 62529, + "journal-plus": 62530, + "journal-richtext": 62531, + "journal-text": 62532, + "journal-x": 62533, + "journal": 62534, + "journals": 62535, + "joystick": 62536, + "justify-left": 62537, + "justify-right": 62538, + "justify": 62539, + "kanban-fill": 62540, + "kanban": 62541, + "key-fill": 62542, + "key": 62543, + "keyboard-fill": 62544, + "keyboard": 62545, + "ladder": 62546, + "lamp-fill": 62547, + "lamp": 62548, + "laptop-fill": 62549, + "laptop": 62550, + "layer-backward": 62551, + "layer-forward": 62552, + "layers-fill": 62553, + "layers-half": 62554, + "layers": 62555, + "layout-sidebar-inset-reverse": 62556, + "layout-sidebar-inset": 62557, + "layout-sidebar-reverse": 62558, + "layout-sidebar": 62559, + "layout-split": 62560, + "layout-text-sidebar-reverse": 62561, + "layout-text-sidebar": 62562, + "layout-text-window-reverse": 62563, + "layout-text-window": 62564, + "layout-three-columns": 62565, + "layout-wtf": 62566, + "life-preserver": 62567, + "lightbulb-fill": 62568, + "lightbulb-off-fill": 62569, + "lightbulb-off": 62570, + "lightbulb": 62571, + "lightning-charge-fill": 62572, + "lightning-charge": 62573, + "lightning-fill": 62574, + "lightning": 62575, + "link-45deg": 62576, + "link": 62577, + "linkedin": 62578, + "list-check": 62579, + "list-nested": 62580, + "list-ol": 62581, + "list-stars": 62582, + "list-task": 62583, + "list-ul": 62584, + "list": 62585, + "lock-fill": 62586, + "lock": 62587, + "mailbox": 62588, + "mailbox2": 62589, + "map-fill": 62590, + "map": 62591, + "markdown-fill": 62592, + "markdown": 62593, + "mask": 62594, + "megaphone-fill": 62595, + "megaphone": 62596, + "menu-app-fill": 62597, + "menu-app": 62598, + "menu-button-fill": 62599, + "menu-button-wide-fill": 62600, + "menu-button-wide": 62601, + "menu-button": 62602, + "menu-down": 62603, + "menu-up": 62604, + "mic-fill": 62605, + "mic-mute-fill": 62606, + "mic-mute": 62607, + "mic": 62608, + "minecart-loaded": 62609, + "minecart": 62610, + "moisture": 62611, + "moon-fill": 62612, + "moon-stars-fill": 62613, + "moon-stars": 62614, + "moon": 62615, + "mouse-fill": 62616, + "mouse": 62617, + "mouse2-fill": 62618, + "mouse2": 62619, + "mouse3-fill": 62620, + "mouse3": 62621, + "music-note-beamed": 62622, + "music-note-list": 62623, + "music-note": 62624, + "music-player-fill": 62625, + "music-player": 62626, + "newspaper": 62627, + "node-minus-fill": 62628, + "node-minus": 62629, + "node-plus-fill": 62630, + "node-plus": 62631, + "nut-fill": 62632, + "nut": 62633, + "octagon-fill": 62634, + "octagon-half": 62635, + "octagon": 62636, + "option": 62637, + "outlet": 62638, + "paint-bucket": 62639, + "palette-fill": 62640, + "palette": 62641, + "palette2": 62642, + "paperclip": 62643, + "paragraph": 62644, + "patch-check-fill": 62645, + "patch-check": 62646, + "patch-exclamation-fill": 62647, + "patch-exclamation": 62648, + "patch-minus-fill": 62649, + "patch-minus": 62650, + "patch-plus-fill": 62651, + "patch-plus": 62652, + "patch-question-fill": 62653, + "patch-question": 62654, + "pause-btn-fill": 62655, + "pause-btn": 62656, + "pause-circle-fill": 62657, + "pause-circle": 62658, + "pause-fill": 62659, + "pause": 62660, + "peace-fill": 62661, + "peace": 62662, + "pen-fill": 62663, + "pen": 62664, + "pencil-fill": 62665, + "pencil-square": 62666, + "pencil": 62667, + "pentagon-fill": 62668, + "pentagon-half": 62669, + "pentagon": 62670, + "people-fill": 62671, + "people": 62672, + "percent": 62673, + "person-badge-fill": 62674, + "person-badge": 62675, + "person-bounding-box": 62676, + "person-check-fill": 62677, + "person-check": 62678, + "person-circle": 62679, + "person-dash-fill": 62680, + "person-dash": 62681, + "person-fill": 62682, + "person-lines-fill": 62683, + "person-plus-fill": 62684, + "person-plus": 62685, + "person-square": 62686, + "person-x-fill": 62687, + "person-x": 62688, + "person": 62689, + "phone-fill": 62690, + "phone-landscape-fill": 62691, + "phone-landscape": 62692, + "phone-vibrate-fill": 62693, + "phone-vibrate": 62694, + "phone": 62695, + "pie-chart-fill": 62696, + "pie-chart": 62697, + "pin-angle-fill": 62698, + "pin-angle": 62699, + "pin-fill": 62700, + "pin": 62701, + "pip-fill": 62702, + "pip": 62703, + "play-btn-fill": 62704, + "play-btn": 62705, + "play-circle-fill": 62706, + "play-circle": 62707, + "play-fill": 62708, + "play": 62709, + "plug-fill": 62710, + "plug": 62711, + "plus-circle-dotted": 62712, + "plus-circle-fill": 62713, + "plus-circle": 62714, + "plus-square-dotted": 62715, + "plus-square-fill": 62716, + "plus-square": 62717, + "plus": 62718, + "power": 62719, + "printer-fill": 62720, + "printer": 62721, + "puzzle-fill": 62722, + "puzzle": 62723, + "question-circle-fill": 62724, + "question-circle": 62725, + "question-diamond-fill": 62726, + "question-diamond": 62727, + "question-octagon-fill": 62728, + "question-octagon": 62729, + "question-square-fill": 62730, + "question-square": 62731, + "question": 62732, + "rainbow": 62733, + "receipt-cutoff": 62734, + "receipt": 62735, + "reception-0": 62736, + "reception-1": 62737, + "reception-2": 62738, + "reception-3": 62739, + "reception-4": 62740, + "record-btn-fill": 62741, + "record-btn": 62742, + "record-circle-fill": 62743, + "record-circle": 62744, + "record-fill": 62745, + "record": 62746, + "record2-fill": 62747, + "record2": 62748, + "reply-all-fill": 62749, + "reply-all": 62750, + "reply-fill": 62751, + "reply": 62752, + "rss-fill": 62753, + "rss": 62754, + "rulers": 62755, + "save-fill": 62756, + "save": 62757, + "save2-fill": 62758, + "save2": 62759, + "scissors": 62760, + "screwdriver": 62761, + "search": 62762, + "segmented-nav": 62763, + "server": 62764, + "share-fill": 62765, + "share": 62766, + "shield-check": 62767, + "shield-exclamation": 62768, + "shield-fill-check": 62769, + "shield-fill-exclamation": 62770, + "shield-fill-minus": 62771, + "shield-fill-plus": 62772, + "shield-fill-x": 62773, + "shield-fill": 62774, + "shield-lock-fill": 62775, + "shield-lock": 62776, + "shield-minus": 62777, + "shield-plus": 62778, + "shield-shaded": 62779, + "shield-slash-fill": 62780, + "shield-slash": 62781, + "shield-x": 62782, + "shield": 62783, + "shift-fill": 62784, + "shift": 62785, + "shop-window": 62786, + "shop": 62787, + "shuffle": 62788, + "signpost-2-fill": 62789, + "signpost-2": 62790, + "signpost-fill": 62791, + "signpost-split-fill": 62792, + "signpost-split": 62793, + "signpost": 62794, + "sim-fill": 62795, + "sim": 62796, + "skip-backward-btn-fill": 62797, + "skip-backward-btn": 62798, + "skip-backward-circle-fill": 62799, + "skip-backward-circle": 62800, + "skip-backward-fill": 62801, + "skip-backward": 62802, + "skip-end-btn-fill": 62803, + "skip-end-btn": 62804, + "skip-end-circle-fill": 62805, + "skip-end-circle": 62806, + "skip-end-fill": 62807, + "skip-end": 62808, + "skip-forward-btn-fill": 62809, + "skip-forward-btn": 62810, + "skip-forward-circle-fill": 62811, + "skip-forward-circle": 62812, + "skip-forward-fill": 62813, + "skip-forward": 62814, + "skip-start-btn-fill": 62815, + "skip-start-btn": 62816, + "skip-start-circle-fill": 62817, + "skip-start-circle": 62818, + "skip-start-fill": 62819, + "skip-start": 62820, + "slack": 62821, + "slash-circle-fill": 62822, + "slash-circle": 62823, + "slash-square-fill": 62824, + "slash-square": 62825, + "slash": 62826, + "sliders": 62827, + "smartwatch": 62828, + "snow": 62829, + "snow2": 62830, + "snow3": 62831, + "sort-alpha-down-alt": 62832, + "sort-alpha-down": 62833, + "sort-alpha-up-alt": 62834, + "sort-alpha-up": 62835, + "sort-down-alt": 62836, + "sort-down": 62837, + "sort-numeric-down-alt": 62838, + "sort-numeric-down": 62839, + "sort-numeric-up-alt": 62840, + "sort-numeric-up": 62841, + "sort-up-alt": 62842, + "sort-up": 62843, + "soundwave": 62844, + "speaker-fill": 62845, + "speaker": 62846, + "speedometer": 62847, + "speedometer2": 62848, + "spellcheck": 62849, + "square-fill": 62850, + "square-half": 62851, + "square": 62852, + "stack": 62853, + "star-fill": 62854, + "star-half": 62855, + "star": 62856, + "stars": 62857, + "stickies-fill": 62858, + "stickies": 62859, + "sticky-fill": 62860, + "sticky": 62861, + "stop-btn-fill": 62862, + "stop-btn": 62863, + "stop-circle-fill": 62864, + "stop-circle": 62865, + "stop-fill": 62866, + "stop": 62867, + "stoplights-fill": 62868, + "stoplights": 62869, + "stopwatch-fill": 62870, + "stopwatch": 62871, + "subtract": 62872, + "suit-club-fill": 62873, + "suit-club": 62874, + "suit-diamond-fill": 62875, + "suit-diamond": 62876, + "suit-heart-fill": 62877, + "suit-heart": 62878, + "suit-spade-fill": 62879, + "suit-spade": 62880, + "sun-fill": 62881, + "sun": 62882, + "sunglasses": 62883, + "sunrise-fill": 62884, + "sunrise": 62885, + "sunset-fill": 62886, + "sunset": 62887, + "symmetry-horizontal": 62888, + "symmetry-vertical": 62889, + "table": 62890, + "tablet-fill": 62891, + "tablet-landscape-fill": 62892, + "tablet-landscape": 62893, + "tablet": 62894, + "tag-fill": 62895, + "tag": 62896, + "tags-fill": 62897, + "tags": 62898, + "telegram": 62899, + "telephone-fill": 62900, + "telephone-forward-fill": 62901, + "telephone-forward": 62902, + "telephone-inbound-fill": 62903, + "telephone-inbound": 62904, + "telephone-minus-fill": 62905, + "telephone-minus": 62906, + "telephone-outbound-fill": 62907, + "telephone-outbound": 62908, + "telephone-plus-fill": 62909, + "telephone-plus": 62910, + "telephone-x-fill": 62911, + "telephone-x": 62912, + "telephone": 62913, + "terminal-fill": 62914, + "terminal": 62915, + "text-center": 62916, + "text-indent-left": 62917, + "text-indent-right": 62918, + "text-left": 62919, + "text-paragraph": 62920, + "text-right": 62921, + "textarea-resize": 62922, + "textarea-t": 62923, + "textarea": 62924, + "thermometer-half": 62925, + "thermometer-high": 62926, + "thermometer-low": 62927, + "thermometer-snow": 62928, + "thermometer-sun": 62929, + "thermometer": 62930, + "three-dots-vertical": 62931, + "three-dots": 62932, + "toggle-off": 62933, + "toggle-on": 62934, + "toggle2-off": 62935, + "toggle2-on": 62936, + "toggles": 62937, + "toggles2": 62938, + "tools": 62939, + "tornado": 62940, + "trash-fill": 62941, + "trash": 62942, + "trash2-fill": 62943, + "trash2": 62944, + "tree-fill": 62945, + "tree": 62946, + "triangle-fill": 62947, + "triangle-half": 62948, + "triangle": 62949, + "trophy-fill": 62950, + "trophy": 62951, + "tropical-storm": 62952, + "truck-flatbed": 62953, + "truck": 62954, + "tsunami": 62955, + "tv-fill": 62956, + "tv": 62957, + "twitch": 62958, + "twitter": 62959, + "type-bold": 62960, + "type-h1": 62961, + "type-h2": 62962, + "type-h3": 62963, + "type-italic": 62964, + "type-strikethrough": 62965, + "type-underline": 62966, + "type": 62967, + "ui-checks-grid": 62968, + "ui-checks": 62969, + "ui-radios-grid": 62970, + "ui-radios": 62971, + "umbrella-fill": 62972, + "umbrella": 62973, + "union": 62974, + "unlock-fill": 62975, + "unlock": 62976, + "upc-scan": 62977, + "upc": 62978, + "upload": 62979, + "vector-pen": 62980, + "view-list": 62981, + "view-stacked": 62982, + "vinyl-fill": 62983, + "vinyl": 62984, + "voicemail": 62985, + "volume-down-fill": 62986, + "volume-down": 62987, + "volume-mute-fill": 62988, + "volume-mute": 62989, + "volume-off-fill": 62990, + "volume-off": 62991, + "volume-up-fill": 62992, + "volume-up": 62993, + "vr": 62994, + "wallet-fill": 62995, + "wallet": 62996, + "wallet2": 62997, + "watch": 62998, + "water": 62999, + "whatsapp": 63000, + "wifi-1": 63001, + "wifi-2": 63002, + "wifi-off": 63003, + "wifi": 63004, + "wind": 63005, + "window-dock": 63006, + "window-sidebar": 63007, + "window": 63008, + "wrench": 63009, + "x-circle-fill": 63010, + "x-circle": 63011, + "x-diamond-fill": 63012, + "x-diamond": 63013, + "x-octagon-fill": 63014, + "x-octagon": 63015, + "x-square-fill": 63016, + "x-square": 63017, + "x": 63018, + "youtube": 63019, + "zoom-in": 63020, + "zoom-out": 63021, + "bank": 63022, + "bank2": 63023, + "bell-slash-fill": 63024, + "bell-slash": 63025, + "cash-coin": 63026, + "check-lg": 63027, + "coin": 63028, + "currency-bitcoin": 63029, + "currency-dollar": 63030, + "currency-euro": 63031, + "currency-exchange": 63032, + "currency-pound": 63033, + "currency-yen": 63034, + "dash-lg": 63035, + "exclamation-lg": 63036, + "file-earmark-pdf-fill": 63037, + "file-earmark-pdf": 63038, + "file-pdf-fill": 63039, + "file-pdf": 63040, + "gender-ambiguous": 63041, + "gender-female": 63042, + "gender-male": 63043, + "gender-trans": 63044, + "headset-vr": 63045, + "info-lg": 63046, + "mastodon": 63047, + "messenger": 63048, + "piggy-bank-fill": 63049, + "piggy-bank": 63050, + "pin-map-fill": 63051, + "pin-map": 63052, + "plus-lg": 63053, + "question-lg": 63054, + "recycle": 63055, + "reddit": 63056, + "safe-fill": 63057, + "safe2-fill": 63058, + "safe2": 63059, + "sd-card-fill": 63060, + "sd-card": 63061, + "skype": 63062, + "slash-lg": 63063, + "translate": 63064, + "x-lg": 63065, + "safe": 63066, + "apple": 63067, + "microsoft": 63069, + "windows": 63070, + "behance": 63068, + "dribbble": 63071, + "line": 63072, + "medium": 63073, + "paypal": 63074, + "pinterest": 63075, + "signal": 63076, + "snapchat": 63077, + "spotify": 63078, + "stack-overflow": 63079, + "strava": 63080, + "wordpress": 63081, + "vimeo": 63082, + "activity": 63083, + "easel2-fill": 63084, + "easel2": 63085, + "easel3-fill": 63086, + "easel3": 63087, + "fan": 63088, + "fingerprint": 63089, + "graph-down-arrow": 63090, + "graph-up-arrow": 63091, + "hypnotize": 63092, + "magic": 63093, + "person-rolodex": 63094, + "person-video": 63095, + "person-video2": 63096, + "person-video3": 63097, + "person-workspace": 63098, + "radioactive": 63099, + "webcam-fill": 63100, + "webcam": 63101, + "yin-yang": 63102, + "bandaid-fill": 63104, + "bandaid": 63105, + "bluetooth": 63106, + "body-text": 63107, + "boombox": 63108, + "boxes": 63109, + "dpad-fill": 63110, + "dpad": 63111, + "ear-fill": 63112, + "ear": 63113, + "envelope-check-1": 63114, + "envelope-check-fill": 63115, + "envelope-check": 63116, + "envelope-dash-1": 63117, + "envelope-dash-fill": 63118, + "envelope-dash": 63119, + "envelope-exclamation-1": 63120, + "envelope-exclamation-fill": 63121, + "envelope-exclamation": 63122, + "envelope-plus-fill": 63123, + "envelope-plus": 63124, + "envelope-slash-1": 63125, + "envelope-slash-fill": 63126, + "envelope-slash": 63127, + "envelope-x-1": 63128, + "envelope-x-fill": 63129, + "envelope-x": 63130, + "explicit-fill": 63131, + "explicit": 63132, + "git": 63133, + "infinity": 63134, + "list-columns-reverse": 63135, + "list-columns": 63136, + "meta": 63137, + "mortorboard-fill": 63138, + "mortorboard": 63139, + "nintendo-switch": 63140, + "pc-display-horizontal": 63141, + "pc-display": 63142, + "pc-horizontal": 63143, + "pc": 63144, + "playstation": 63145, + "plus-slash-minus": 63146, + "projector-fill": 63147, + "projector": 63148, + "qr-code-scan": 63149, + "qr-code": 63150, + "quora": 63151, + "quote": 63152, + "robot": 63153, + "send-check-fill": 63154, + "send-check": 63155, + "send-dash-fill": 63156, + "send-dash": 63157, + "send-exclamation-1": 63158, + "send-exclamation-fill": 63159, + "send-exclamation": 63160, + "send-fill": 63161, + "send-plus-fill": 63162, + "send-plus": 63163, + "send-slash-fill": 63164, + "send-slash": 63165, + "send-x-fill": 63166, + "send-x": 63167, + "send": 63168, + "steam": 63169, + "terminal-dash-1": 63170, + "terminal-dash": 63171, + "terminal-plus": 63172, + "terminal-split": 63173, + "ticket-detailed-fill": 63174, + "ticket-detailed": 63175, + "ticket-fill": 63176, + "ticket-perferated-fill": 63177, + "ticket-perferated": 63178, + "ticket": 63179, + "tiktok": 63180, + "window-dash": 63181, + "window-desktop": 63182, + "window-fullscreen": 63183, + "window-plus": 63184, + "window-split": 63185, + "window-stack": 63186, + "window-x": 63187, + "xbox": 63188, + "ethernet": 63189, + "hdmi-fill": 63190, + "hdmi": 63191, + "usb-c-fill": 63192, + "usb-c": 63193, + "usb-fill": 63194, + "usb-plug-fill": 63195, + "usb-plug": 63196, + "usb-symbol": 63197, + "usb": 63198, + "boombox-fill": 63199, + "displayport-1": 63200, + "displayport": 63201, + "gpu-card": 63202, + "memory": 63203, + "modem-fill": 63204, + "modem": 63205, + "motherboard-fill": 63206, + "motherboard": 63207, + "optical-audio-fill": 63208, + "optical-audio": 63209, + "pci-card": 63210, + "router-fill": 63211, + "router": 63212, + "ssd-fill": 63213, + "ssd": 63214, + "thunderbolt-fill": 63215, + "thunderbolt": 63216, + "usb-drive-fill": 63217, + "usb-drive": 63218, + "usb-micro-fill": 63219, + "usb-micro": 63220, + "usb-mini-fill": 63221, + "usb-mini": 63222, + "cloud-haze2": 63223, + "device-hdd-fill": 63224, + "device-hdd": 63225, + "device-ssd-fill": 63226, + "device-ssd": 63227, + "displayport-fill": 63228, + "mortarboard-fill": 63229, + "mortarboard": 63230, + "terminal-x": 63231 +} \ No newline at end of file diff --git a/public/css/bootstrap-icons-1.7.1/font/bootstrap-icons.scss b/public/css/bootstrap-icons-1.7.1/font/bootstrap-icons.scss new file mode 100644 index 000000000..8b95f2b47 --- /dev/null +++ b/public/css/bootstrap-icons-1.7.1/font/bootstrap-icons.scss @@ -0,0 +1,3097 @@ +$bootstrap-icons-font: "bootstrap-icons" !default; +$bootstrap-icons-font-src: url("./fonts/bootstrap-icons.woff2?a74547b2f0863226942ff8ded57db345") format("woff2"), +url("./fonts/bootstrap-icons.woff?a74547b2f0863226942ff8ded57db345") format("woff") !default; + +@font-face { + font-family: $bootstrap-icons-font; + src: $bootstrap-icons-font-src; +} + +.bi::before, +[class^="bi-"]::before, +[class*=" bi-"]::before { + display: inline-block; + font-family: $bootstrap-icons-font !important; + font-style: normal; + font-weight: normal !important; + font-variant: normal; + text-transform: none; + line-height: 1; + vertical-align: -.125em; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +$bootstrap-icons-map: ( + "123": "\f67f", + "alarm-fill": "\f101", + "alarm": "\f102", + "align-bottom": "\f103", + "align-center": "\f104", + "align-end": "\f105", + "align-middle": "\f106", + "align-start": "\f107", + "align-top": "\f108", + "alt": "\f109", + "app-indicator": "\f10a", + "app": "\f10b", + "archive-fill": "\f10c", + "archive": "\f10d", + "arrow-90deg-down": "\f10e", + "arrow-90deg-left": "\f10f", + "arrow-90deg-right": "\f110", + "arrow-90deg-up": "\f111", + "arrow-bar-down": "\f112", + "arrow-bar-left": "\f113", + "arrow-bar-right": "\f114", + "arrow-bar-up": "\f115", + "arrow-clockwise": "\f116", + "arrow-counterclockwise": "\f117", + "arrow-down-circle-fill": "\f118", + "arrow-down-circle": "\f119", + "arrow-down-left-circle-fill": "\f11a", + "arrow-down-left-circle": "\f11b", + "arrow-down-left-square-fill": "\f11c", + "arrow-down-left-square": "\f11d", + "arrow-down-left": "\f11e", + "arrow-down-right-circle-fill": "\f11f", + "arrow-down-right-circle": "\f120", + "arrow-down-right-square-fill": "\f121", + "arrow-down-right-square": "\f122", + "arrow-down-right": "\f123", + "arrow-down-short": "\f124", + "arrow-down-square-fill": "\f125", + "arrow-down-square": "\f126", + "arrow-down-up": "\f127", + "arrow-down": "\f128", + "arrow-left-circle-fill": "\f129", + "arrow-left-circle": "\f12a", + "arrow-left-right": "\f12b", + "arrow-left-short": "\f12c", + "arrow-left-square-fill": "\f12d", + "arrow-left-square": "\f12e", + "arrow-left": "\f12f", + "arrow-repeat": "\f130", + "arrow-return-left": "\f131", + "arrow-return-right": "\f132", + "arrow-right-circle-fill": "\f133", + "arrow-right-circle": "\f134", + "arrow-right-short": "\f135", + "arrow-right-square-fill": "\f136", + "arrow-right-square": "\f137", + "arrow-right": "\f138", + "arrow-up-circle-fill": "\f139", + "arrow-up-circle": "\f13a", + "arrow-up-left-circle-fill": "\f13b", + "arrow-up-left-circle": "\f13c", + "arrow-up-left-square-fill": "\f13d", + "arrow-up-left-square": "\f13e", + "arrow-up-left": "\f13f", + "arrow-up-right-circle-fill": "\f140", + "arrow-up-right-circle": "\f141", + "arrow-up-right-square-fill": "\f142", + "arrow-up-right-square": "\f143", + "arrow-up-right": "\f144", + "arrow-up-short": "\f145", + "arrow-up-square-fill": "\f146", + "arrow-up-square": "\f147", + "arrow-up": "\f148", + "arrows-angle-contract": "\f149", + "arrows-angle-expand": "\f14a", + "arrows-collapse": "\f14b", + "arrows-expand": "\f14c", + "arrows-fullscreen": "\f14d", + "arrows-move": "\f14e", + "aspect-ratio-fill": "\f14f", + "aspect-ratio": "\f150", + "asterisk": "\f151", + "at": "\f152", + "award-fill": "\f153", + "award": "\f154", + "back": "\f155", + "backspace-fill": "\f156", + "backspace-reverse-fill": "\f157", + "backspace-reverse": "\f158", + "backspace": "\f159", + "badge-3d-fill": "\f15a", + "badge-3d": "\f15b", + "badge-4k-fill": "\f15c", + "badge-4k": "\f15d", + "badge-8k-fill": "\f15e", + "badge-8k": "\f15f", + "badge-ad-fill": "\f160", + "badge-ad": "\f161", + "badge-ar-fill": "\f162", + "badge-ar": "\f163", + "badge-cc-fill": "\f164", + "badge-cc": "\f165", + "badge-hd-fill": "\f166", + "badge-hd": "\f167", + "badge-tm-fill": "\f168", + "badge-tm": "\f169", + "badge-vo-fill": "\f16a", + "badge-vo": "\f16b", + "badge-vr-fill": "\f16c", + "badge-vr": "\f16d", + "badge-wc-fill": "\f16e", + "badge-wc": "\f16f", + "bag-check-fill": "\f170", + "bag-check": "\f171", + "bag-dash-fill": "\f172", + "bag-dash": "\f173", + "bag-fill": "\f174", + "bag-plus-fill": "\f175", + "bag-plus": "\f176", + "bag-x-fill": "\f177", + "bag-x": "\f178", + "bag": "\f179", + "bar-chart-fill": "\f17a", + "bar-chart-line-fill": "\f17b", + "bar-chart-line": "\f17c", + "bar-chart-steps": "\f17d", + "bar-chart": "\f17e", + "basket-fill": "\f17f", + "basket": "\f180", + "basket2-fill": "\f181", + "basket2": "\f182", + "basket3-fill": "\f183", + "basket3": "\f184", + "battery-charging": "\f185", + "battery-full": "\f186", + "battery-half": "\f187", + "battery": "\f188", + "bell-fill": "\f189", + "bell": "\f18a", + "bezier": "\f18b", + "bezier2": "\f18c", + "bicycle": "\f18d", + "binoculars-fill": "\f18e", + "binoculars": "\f18f", + "blockquote-left": "\f190", + "blockquote-right": "\f191", + "book-fill": "\f192", + "book-half": "\f193", + "book": "\f194", + "bookmark-check-fill": "\f195", + "bookmark-check": "\f196", + "bookmark-dash-fill": "\f197", + "bookmark-dash": "\f198", + "bookmark-fill": "\f199", + "bookmark-heart-fill": "\f19a", + "bookmark-heart": "\f19b", + "bookmark-plus-fill": "\f19c", + "bookmark-plus": "\f19d", + "bookmark-star-fill": "\f19e", + "bookmark-star": "\f19f", + "bookmark-x-fill": "\f1a0", + "bookmark-x": "\f1a1", + "bookmark": "\f1a2", + "bookmarks-fill": "\f1a3", + "bookmarks": "\f1a4", + "bookshelf": "\f1a5", + "bootstrap-fill": "\f1a6", + "bootstrap-reboot": "\f1a7", + "bootstrap": "\f1a8", + "border-all": "\f1a9", + "border-bottom": "\f1aa", + "border-center": "\f1ab", + "border-inner": "\f1ac", + "border-left": "\f1ad", + "border-middle": "\f1ae", + "border-outer": "\f1af", + "border-right": "\f1b0", + "border-style": "\f1b1", + "border-top": "\f1b2", + "border-width": "\f1b3", + "border": "\f1b4", + "bounding-box-circles": "\f1b5", + "bounding-box": "\f1b6", + "box-arrow-down-left": "\f1b7", + "box-arrow-down-right": "\f1b8", + "box-arrow-down": "\f1b9", + "box-arrow-in-down-left": "\f1ba", + "box-arrow-in-down-right": "\f1bb", + "box-arrow-in-down": "\f1bc", + "box-arrow-in-left": "\f1bd", + "box-arrow-in-right": "\f1be", + "box-arrow-in-up-left": "\f1bf", + "box-arrow-in-up-right": "\f1c0", + "box-arrow-in-up": "\f1c1", + "box-arrow-left": "\f1c2", + "box-arrow-right": "\f1c3", + "box-arrow-up-left": "\f1c4", + "box-arrow-up-right": "\f1c5", + "box-arrow-up": "\f1c6", + "box-seam": "\f1c7", + "box": "\f1c8", + "braces": "\f1c9", + "bricks": "\f1ca", + "briefcase-fill": "\f1cb", + "briefcase": "\f1cc", + "brightness-alt-high-fill": "\f1cd", + "brightness-alt-high": "\f1ce", + "brightness-alt-low-fill": "\f1cf", + "brightness-alt-low": "\f1d0", + "brightness-high-fill": "\f1d1", + "brightness-high": "\f1d2", + "brightness-low-fill": "\f1d3", + "brightness-low": "\f1d4", + "broadcast-pin": "\f1d5", + "broadcast": "\f1d6", + "brush-fill": "\f1d7", + "brush": "\f1d8", + "bucket-fill": "\f1d9", + "bucket": "\f1da", + "bug-fill": "\f1db", + "bug": "\f1dc", + "building": "\f1dd", + "bullseye": "\f1de", + "calculator-fill": "\f1df", + "calculator": "\f1e0", + "calendar-check-fill": "\f1e1", + "calendar-check": "\f1e2", + "calendar-date-fill": "\f1e3", + "calendar-date": "\f1e4", + "calendar-day-fill": "\f1e5", + "calendar-day": "\f1e6", + "calendar-event-fill": "\f1e7", + "calendar-event": "\f1e8", + "calendar-fill": "\f1e9", + "calendar-minus-fill": "\f1ea", + "calendar-minus": "\f1eb", + "calendar-month-fill": "\f1ec", + "calendar-month": "\f1ed", + "calendar-plus-fill": "\f1ee", + "calendar-plus": "\f1ef", + "calendar-range-fill": "\f1f0", + "calendar-range": "\f1f1", + "calendar-week-fill": "\f1f2", + "calendar-week": "\f1f3", + "calendar-x-fill": "\f1f4", + "calendar-x": "\f1f5", + "calendar": "\f1f6", + "calendar2-check-fill": "\f1f7", + "calendar2-check": "\f1f8", + "calendar2-date-fill": "\f1f9", + "calendar2-date": "\f1fa", + "calendar2-day-fill": "\f1fb", + "calendar2-day": "\f1fc", + "calendar2-event-fill": "\f1fd", + "calendar2-event": "\f1fe", + "calendar2-fill": "\f1ff", + "calendar2-minus-fill": "\f200", + "calendar2-minus": "\f201", + "calendar2-month-fill": "\f202", + "calendar2-month": "\f203", + "calendar2-plus-fill": "\f204", + "calendar2-plus": "\f205", + "calendar2-range-fill": "\f206", + "calendar2-range": "\f207", + "calendar2-week-fill": "\f208", + "calendar2-week": "\f209", + "calendar2-x-fill": "\f20a", + "calendar2-x": "\f20b", + "calendar2": "\f20c", + "calendar3-event-fill": "\f20d", + "calendar3-event": "\f20e", + "calendar3-fill": "\f20f", + "calendar3-range-fill": "\f210", + "calendar3-range": "\f211", + "calendar3-week-fill": "\f212", + "calendar3-week": "\f213", + "calendar3": "\f214", + "calendar4-event": "\f215", + "calendar4-range": "\f216", + "calendar4-week": "\f217", + "calendar4": "\f218", + "camera-fill": "\f219", + "camera-reels-fill": "\f21a", + "camera-reels": "\f21b", + "camera-video-fill": "\f21c", + "camera-video-off-fill": "\f21d", + "camera-video-off": "\f21e", + "camera-video": "\f21f", + "camera": "\f220", + "camera2": "\f221", + "capslock-fill": "\f222", + "capslock": "\f223", + "card-checklist": "\f224", + "card-heading": "\f225", + "card-image": "\f226", + "card-list": "\f227", + "card-text": "\f228", + "caret-down-fill": "\f229", + "caret-down-square-fill": "\f22a", + "caret-down-square": "\f22b", + "caret-down": "\f22c", + "caret-left-fill": "\f22d", + "caret-left-square-fill": "\f22e", + "caret-left-square": "\f22f", + "caret-left": "\f230", + "caret-right-fill": "\f231", + "caret-right-square-fill": "\f232", + "caret-right-square": "\f233", + "caret-right": "\f234", + "caret-up-fill": "\f235", + "caret-up-square-fill": "\f236", + "caret-up-square": "\f237", + "caret-up": "\f238", + "cart-check-fill": "\f239", + "cart-check": "\f23a", + "cart-dash-fill": "\f23b", + "cart-dash": "\f23c", + "cart-fill": "\f23d", + "cart-plus-fill": "\f23e", + "cart-plus": "\f23f", + "cart-x-fill": "\f240", + "cart-x": "\f241", + "cart": "\f242", + "cart2": "\f243", + "cart3": "\f244", + "cart4": "\f245", + "cash-stack": "\f246", + "cash": "\f247", + "cast": "\f248", + "chat-dots-fill": "\f249", + "chat-dots": "\f24a", + "chat-fill": "\f24b", + "chat-left-dots-fill": "\f24c", + "chat-left-dots": "\f24d", + "chat-left-fill": "\f24e", + "chat-left-quote-fill": "\f24f", + "chat-left-quote": "\f250", + "chat-left-text-fill": "\f251", + "chat-left-text": "\f252", + "chat-left": "\f253", + "chat-quote-fill": "\f254", + "chat-quote": "\f255", + "chat-right-dots-fill": "\f256", + "chat-right-dots": "\f257", + "chat-right-fill": "\f258", + "chat-right-quote-fill": "\f259", + "chat-right-quote": "\f25a", + "chat-right-text-fill": "\f25b", + "chat-right-text": "\f25c", + "chat-right": "\f25d", + "chat-square-dots-fill": "\f25e", + "chat-square-dots": "\f25f", + "chat-square-fill": "\f260", + "chat-square-quote-fill": "\f261", + "chat-square-quote": "\f262", + "chat-square-text-fill": "\f263", + "chat-square-text": "\f264", + "chat-square": "\f265", + "chat-text-fill": "\f266", + "chat-text": "\f267", + "chat": "\f268", + "check-all": "\f269", + "check-circle-fill": "\f26a", + "check-circle": "\f26b", + "check-square-fill": "\f26c", + "check-square": "\f26d", + "check": "\f26e", + "check2-all": "\f26f", + "check2-circle": "\f270", + "check2-square": "\f271", + "check2": "\f272", + "chevron-bar-contract": "\f273", + "chevron-bar-down": "\f274", + "chevron-bar-expand": "\f275", + "chevron-bar-left": "\f276", + "chevron-bar-right": "\f277", + "chevron-bar-up": "\f278", + "chevron-compact-down": "\f279", + "chevron-compact-left": "\f27a", + "chevron-compact-right": "\f27b", + "chevron-compact-up": "\f27c", + "chevron-contract": "\f27d", + "chevron-double-down": "\f27e", + "chevron-double-left": "\f27f", + "chevron-double-right": "\f280", + "chevron-double-up": "\f281", + "chevron-down": "\f282", + "chevron-expand": "\f283", + "chevron-left": "\f284", + "chevron-right": "\f285", + "chevron-up": "\f286", + "circle-fill": "\f287", + "circle-half": "\f288", + "circle-square": "\f289", + "circle": "\f28a", + "clipboard-check": "\f28b", + "clipboard-data": "\f28c", + "clipboard-minus": "\f28d", + "clipboard-plus": "\f28e", + "clipboard-x": "\f28f", + "clipboard": "\f290", + "clock-fill": "\f291", + "clock-history": "\f292", + "clock": "\f293", + "cloud-arrow-down-fill": "\f294", + "cloud-arrow-down": "\f295", + "cloud-arrow-up-fill": "\f296", + "cloud-arrow-up": "\f297", + "cloud-check-fill": "\f298", + "cloud-check": "\f299", + "cloud-download-fill": "\f29a", + "cloud-download": "\f29b", + "cloud-drizzle-fill": "\f29c", + "cloud-drizzle": "\f29d", + "cloud-fill": "\f29e", + "cloud-fog-fill": "\f29f", + "cloud-fog": "\f2a0", + "cloud-fog2-fill": "\f2a1", + "cloud-fog2": "\f2a2", + "cloud-hail-fill": "\f2a3", + "cloud-hail": "\f2a4", + "cloud-haze-1": "\f2a5", + "cloud-haze-fill": "\f2a6", + "cloud-haze": "\f2a7", + "cloud-haze2-fill": "\f2a8", + "cloud-lightning-fill": "\f2a9", + "cloud-lightning-rain-fill": "\f2aa", + "cloud-lightning-rain": "\f2ab", + "cloud-lightning": "\f2ac", + "cloud-minus-fill": "\f2ad", + "cloud-minus": "\f2ae", + "cloud-moon-fill": "\f2af", + "cloud-moon": "\f2b0", + "cloud-plus-fill": "\f2b1", + "cloud-plus": "\f2b2", + "cloud-rain-fill": "\f2b3", + "cloud-rain-heavy-fill": "\f2b4", + "cloud-rain-heavy": "\f2b5", + "cloud-rain": "\f2b6", + "cloud-slash-fill": "\f2b7", + "cloud-slash": "\f2b8", + "cloud-sleet-fill": "\f2b9", + "cloud-sleet": "\f2ba", + "cloud-snow-fill": "\f2bb", + "cloud-snow": "\f2bc", + "cloud-sun-fill": "\f2bd", + "cloud-sun": "\f2be", + "cloud-upload-fill": "\f2bf", + "cloud-upload": "\f2c0", + "cloud": "\f2c1", + "clouds-fill": "\f2c2", + "clouds": "\f2c3", + "cloudy-fill": "\f2c4", + "cloudy": "\f2c5", + "code-slash": "\f2c6", + "code-square": "\f2c7", + "code": "\f2c8", + "collection-fill": "\f2c9", + "collection-play-fill": "\f2ca", + "collection-play": "\f2cb", + "collection": "\f2cc", + "columns-gap": "\f2cd", + "columns": "\f2ce", + "command": "\f2cf", + "compass-fill": "\f2d0", + "compass": "\f2d1", + "cone-striped": "\f2d2", + "cone": "\f2d3", + "controller": "\f2d4", + "cpu-fill": "\f2d5", + "cpu": "\f2d6", + "credit-card-2-back-fill": "\f2d7", + "credit-card-2-back": "\f2d8", + "credit-card-2-front-fill": "\f2d9", + "credit-card-2-front": "\f2da", + "credit-card-fill": "\f2db", + "credit-card": "\f2dc", + "crop": "\f2dd", + "cup-fill": "\f2de", + "cup-straw": "\f2df", + "cup": "\f2e0", + "cursor-fill": "\f2e1", + "cursor-text": "\f2e2", + "cursor": "\f2e3", + "dash-circle-dotted": "\f2e4", + "dash-circle-fill": "\f2e5", + "dash-circle": "\f2e6", + "dash-square-dotted": "\f2e7", + "dash-square-fill": "\f2e8", + "dash-square": "\f2e9", + "dash": "\f2ea", + "diagram-2-fill": "\f2eb", + "diagram-2": "\f2ec", + "diagram-3-fill": "\f2ed", + "diagram-3": "\f2ee", + "diamond-fill": "\f2ef", + "diamond-half": "\f2f0", + "diamond": "\f2f1", + "dice-1-fill": "\f2f2", + "dice-1": "\f2f3", + "dice-2-fill": "\f2f4", + "dice-2": "\f2f5", + "dice-3-fill": "\f2f6", + "dice-3": "\f2f7", + "dice-4-fill": "\f2f8", + "dice-4": "\f2f9", + "dice-5-fill": "\f2fa", + "dice-5": "\f2fb", + "dice-6-fill": "\f2fc", + "dice-6": "\f2fd", + "disc-fill": "\f2fe", + "disc": "\f2ff", + "discord": "\f300", + "display-fill": "\f301", + "display": "\f302", + "distribute-horizontal": "\f303", + "distribute-vertical": "\f304", + "door-closed-fill": "\f305", + "door-closed": "\f306", + "door-open-fill": "\f307", + "door-open": "\f308", + "dot": "\f309", + "download": "\f30a", + "droplet-fill": "\f30b", + "droplet-half": "\f30c", + "droplet": "\f30d", + "earbuds": "\f30e", + "easel-fill": "\f30f", + "easel": "\f310", + "egg-fill": "\f311", + "egg-fried": "\f312", + "egg": "\f313", + "eject-fill": "\f314", + "eject": "\f315", + "emoji-angry-fill": "\f316", + "emoji-angry": "\f317", + "emoji-dizzy-fill": "\f318", + "emoji-dizzy": "\f319", + "emoji-expressionless-fill": "\f31a", + "emoji-expressionless": "\f31b", + "emoji-frown-fill": "\f31c", + "emoji-frown": "\f31d", + "emoji-heart-eyes-fill": "\f31e", + "emoji-heart-eyes": "\f31f", + "emoji-laughing-fill": "\f320", + "emoji-laughing": "\f321", + "emoji-neutral-fill": "\f322", + "emoji-neutral": "\f323", + "emoji-smile-fill": "\f324", + "emoji-smile-upside-down-fill": "\f325", + "emoji-smile-upside-down": "\f326", + "emoji-smile": "\f327", + "emoji-sunglasses-fill": "\f328", + "emoji-sunglasses": "\f329", + "emoji-wink-fill": "\f32a", + "emoji-wink": "\f32b", + "envelope-fill": "\f32c", + "envelope-open-fill": "\f32d", + "envelope-open": "\f32e", + "envelope": "\f32f", + "eraser-fill": "\f330", + "eraser": "\f331", + "exclamation-circle-fill": "\f332", + "exclamation-circle": "\f333", + "exclamation-diamond-fill": "\f334", + "exclamation-diamond": "\f335", + "exclamation-octagon-fill": "\f336", + "exclamation-octagon": "\f337", + "exclamation-square-fill": "\f338", + "exclamation-square": "\f339", + "exclamation-triangle-fill": "\f33a", + "exclamation-triangle": "\f33b", + "exclamation": "\f33c", + "exclude": "\f33d", + "eye-fill": "\f33e", + "eye-slash-fill": "\f33f", + "eye-slash": "\f340", + "eye": "\f341", + "eyedropper": "\f342", + "eyeglasses": "\f343", + "facebook": "\f344", + "file-arrow-down-fill": "\f345", + "file-arrow-down": "\f346", + "file-arrow-up-fill": "\f347", + "file-arrow-up": "\f348", + "file-bar-graph-fill": "\f349", + "file-bar-graph": "\f34a", + "file-binary-fill": "\f34b", + "file-binary": "\f34c", + "file-break-fill": "\f34d", + "file-break": "\f34e", + "file-check-fill": "\f34f", + "file-check": "\f350", + "file-code-fill": "\f351", + "file-code": "\f352", + "file-diff-fill": "\f353", + "file-diff": "\f354", + "file-earmark-arrow-down-fill": "\f355", + "file-earmark-arrow-down": "\f356", + "file-earmark-arrow-up-fill": "\f357", + "file-earmark-arrow-up": "\f358", + "file-earmark-bar-graph-fill": "\f359", + "file-earmark-bar-graph": "\f35a", + "file-earmark-binary-fill": "\f35b", + "file-earmark-binary": "\f35c", + "file-earmark-break-fill": "\f35d", + "file-earmark-break": "\f35e", + "file-earmark-check-fill": "\f35f", + "file-earmark-check": "\f360", + "file-earmark-code-fill": "\f361", + "file-earmark-code": "\f362", + "file-earmark-diff-fill": "\f363", + "file-earmark-diff": "\f364", + "file-earmark-easel-fill": "\f365", + "file-earmark-easel": "\f366", + "file-earmark-excel-fill": "\f367", + "file-earmark-excel": "\f368", + "file-earmark-fill": "\f369", + "file-earmark-font-fill": "\f36a", + "file-earmark-font": "\f36b", + "file-earmark-image-fill": "\f36c", + "file-earmark-image": "\f36d", + "file-earmark-lock-fill": "\f36e", + "file-earmark-lock": "\f36f", + "file-earmark-lock2-fill": "\f370", + "file-earmark-lock2": "\f371", + "file-earmark-medical-fill": "\f372", + "file-earmark-medical": "\f373", + "file-earmark-minus-fill": "\f374", + "file-earmark-minus": "\f375", + "file-earmark-music-fill": "\f376", + "file-earmark-music": "\f377", + "file-earmark-person-fill": "\f378", + "file-earmark-person": "\f379", + "file-earmark-play-fill": "\f37a", + "file-earmark-play": "\f37b", + "file-earmark-plus-fill": "\f37c", + "file-earmark-plus": "\f37d", + "file-earmark-post-fill": "\f37e", + "file-earmark-post": "\f37f", + "file-earmark-ppt-fill": "\f380", + "file-earmark-ppt": "\f381", + "file-earmark-richtext-fill": "\f382", + "file-earmark-richtext": "\f383", + "file-earmark-ruled-fill": "\f384", + "file-earmark-ruled": "\f385", + "file-earmark-slides-fill": "\f386", + "file-earmark-slides": "\f387", + "file-earmark-spreadsheet-fill": "\f388", + "file-earmark-spreadsheet": "\f389", + "file-earmark-text-fill": "\f38a", + "file-earmark-text": "\f38b", + "file-earmark-word-fill": "\f38c", + "file-earmark-word": "\f38d", + "file-earmark-x-fill": "\f38e", + "file-earmark-x": "\f38f", + "file-earmark-zip-fill": "\f390", + "file-earmark-zip": "\f391", + "file-earmark": "\f392", + "file-easel-fill": "\f393", + "file-easel": "\f394", + "file-excel-fill": "\f395", + "file-excel": "\f396", + "file-fill": "\f397", + "file-font-fill": "\f398", + "file-font": "\f399", + "file-image-fill": "\f39a", + "file-image": "\f39b", + "file-lock-fill": "\f39c", + "file-lock": "\f39d", + "file-lock2-fill": "\f39e", + "file-lock2": "\f39f", + "file-medical-fill": "\f3a0", + "file-medical": "\f3a1", + "file-minus-fill": "\f3a2", + "file-minus": "\f3a3", + "file-music-fill": "\f3a4", + "file-music": "\f3a5", + "file-person-fill": "\f3a6", + "file-person": "\f3a7", + "file-play-fill": "\f3a8", + "file-play": "\f3a9", + "file-plus-fill": "\f3aa", + "file-plus": "\f3ab", + "file-post-fill": "\f3ac", + "file-post": "\f3ad", + "file-ppt-fill": "\f3ae", + "file-ppt": "\f3af", + "file-richtext-fill": "\f3b0", + "file-richtext": "\f3b1", + "file-ruled-fill": "\f3b2", + "file-ruled": "\f3b3", + "file-slides-fill": "\f3b4", + "file-slides": "\f3b5", + "file-spreadsheet-fill": "\f3b6", + "file-spreadsheet": "\f3b7", + "file-text-fill": "\f3b8", + "file-text": "\f3b9", + "file-word-fill": "\f3ba", + "file-word": "\f3bb", + "file-x-fill": "\f3bc", + "file-x": "\f3bd", + "file-zip-fill": "\f3be", + "file-zip": "\f3bf", + "file": "\f3c0", + "files-alt": "\f3c1", + "files": "\f3c2", + "film": "\f3c3", + "filter-circle-fill": "\f3c4", + "filter-circle": "\f3c5", + "filter-left": "\f3c6", + "filter-right": "\f3c7", + "filter-square-fill": "\f3c8", + "filter-square": "\f3c9", + "filter": "\f3ca", + "flag-fill": "\f3cb", + "flag": "\f3cc", + "flower1": "\f3cd", + "flower2": "\f3ce", + "flower3": "\f3cf", + "folder-check": "\f3d0", + "folder-fill": "\f3d1", + "folder-minus": "\f3d2", + "folder-plus": "\f3d3", + "folder-symlink-fill": "\f3d4", + "folder-symlink": "\f3d5", + "folder-x": "\f3d6", + "folder": "\f3d7", + "folder2-open": "\f3d8", + "folder2": "\f3d9", + "fonts": "\f3da", + "forward-fill": "\f3db", + "forward": "\f3dc", + "front": "\f3dd", + "fullscreen-exit": "\f3de", + "fullscreen": "\f3df", + "funnel-fill": "\f3e0", + "funnel": "\f3e1", + "gear-fill": "\f3e2", + "gear-wide-connected": "\f3e3", + "gear-wide": "\f3e4", + "gear": "\f3e5", + "gem": "\f3e6", + "geo-alt-fill": "\f3e7", + "geo-alt": "\f3e8", + "geo-fill": "\f3e9", + "geo": "\f3ea", + "gift-fill": "\f3eb", + "gift": "\f3ec", + "github": "\f3ed", + "globe": "\f3ee", + "globe2": "\f3ef", + "google": "\f3f0", + "graph-down": "\f3f1", + "graph-up": "\f3f2", + "grid-1x2-fill": "\f3f3", + "grid-1x2": "\f3f4", + "grid-3x2-gap-fill": "\f3f5", + "grid-3x2-gap": "\f3f6", + "grid-3x2": "\f3f7", + "grid-3x3-gap-fill": "\f3f8", + "grid-3x3-gap": "\f3f9", + "grid-3x3": "\f3fa", + "grid-fill": "\f3fb", + "grid": "\f3fc", + "grip-horizontal": "\f3fd", + "grip-vertical": "\f3fe", + "hammer": "\f3ff", + "hand-index-fill": "\f400", + "hand-index-thumb-fill": "\f401", + "hand-index-thumb": "\f402", + "hand-index": "\f403", + "hand-thumbs-down-fill": "\f404", + "hand-thumbs-down": "\f405", + "hand-thumbs-up-fill": "\f406", + "hand-thumbs-up": "\f407", + "handbag-fill": "\f408", + "handbag": "\f409", + "hash": "\f40a", + "hdd-fill": "\f40b", + "hdd-network-fill": "\f40c", + "hdd-network": "\f40d", + "hdd-rack-fill": "\f40e", + "hdd-rack": "\f40f", + "hdd-stack-fill": "\f410", + "hdd-stack": "\f411", + "hdd": "\f412", + "headphones": "\f413", + "headset": "\f414", + "heart-fill": "\f415", + "heart-half": "\f416", + "heart": "\f417", + "heptagon-fill": "\f418", + "heptagon-half": "\f419", + "heptagon": "\f41a", + "hexagon-fill": "\f41b", + "hexagon-half": "\f41c", + "hexagon": "\f41d", + "hourglass-bottom": "\f41e", + "hourglass-split": "\f41f", + "hourglass-top": "\f420", + "hourglass": "\f421", + "house-door-fill": "\f422", + "house-door": "\f423", + "house-fill": "\f424", + "house": "\f425", + "hr": "\f426", + "hurricane": "\f427", + "image-alt": "\f428", + "image-fill": "\f429", + "image": "\f42a", + "images": "\f42b", + "inbox-fill": "\f42c", + "inbox": "\f42d", + "inboxes-fill": "\f42e", + "inboxes": "\f42f", + "info-circle-fill": "\f430", + "info-circle": "\f431", + "info-square-fill": "\f432", + "info-square": "\f433", + "info": "\f434", + "input-cursor-text": "\f435", + "input-cursor": "\f436", + "instagram": "\f437", + "intersect": "\f438", + "journal-album": "\f439", + "journal-arrow-down": "\f43a", + "journal-arrow-up": "\f43b", + "journal-bookmark-fill": "\f43c", + "journal-bookmark": "\f43d", + "journal-check": "\f43e", + "journal-code": "\f43f", + "journal-medical": "\f440", + "journal-minus": "\f441", + "journal-plus": "\f442", + "journal-richtext": "\f443", + "journal-text": "\f444", + "journal-x": "\f445", + "journal": "\f446", + "journals": "\f447", + "joystick": "\f448", + "justify-left": "\f449", + "justify-right": "\f44a", + "justify": "\f44b", + "kanban-fill": "\f44c", + "kanban": "\f44d", + "key-fill": "\f44e", + "key": "\f44f", + "keyboard-fill": "\f450", + "keyboard": "\f451", + "ladder": "\f452", + "lamp-fill": "\f453", + "lamp": "\f454", + "laptop-fill": "\f455", + "laptop": "\f456", + "layer-backward": "\f457", + "layer-forward": "\f458", + "layers-fill": "\f459", + "layers-half": "\f45a", + "layers": "\f45b", + "layout-sidebar-inset-reverse": "\f45c", + "layout-sidebar-inset": "\f45d", + "layout-sidebar-reverse": "\f45e", + "layout-sidebar": "\f45f", + "layout-split": "\f460", + "layout-text-sidebar-reverse": "\f461", + "layout-text-sidebar": "\f462", + "layout-text-window-reverse": "\f463", + "layout-text-window": "\f464", + "layout-three-columns": "\f465", + "layout-wtf": "\f466", + "life-preserver": "\f467", + "lightbulb-fill": "\f468", + "lightbulb-off-fill": "\f469", + "lightbulb-off": "\f46a", + "lightbulb": "\f46b", + "lightning-charge-fill": "\f46c", + "lightning-charge": "\f46d", + "lightning-fill": "\f46e", + "lightning": "\f46f", + "link-45deg": "\f470", + "link": "\f471", + "linkedin": "\f472", + "list-check": "\f473", + "list-nested": "\f474", + "list-ol": "\f475", + "list-stars": "\f476", + "list-task": "\f477", + "list-ul": "\f478", + "list": "\f479", + "lock-fill": "\f47a", + "lock": "\f47b", + "mailbox": "\f47c", + "mailbox2": "\f47d", + "map-fill": "\f47e", + "map": "\f47f", + "markdown-fill": "\f480", + "markdown": "\f481", + "mask": "\f482", + "megaphone-fill": "\f483", + "megaphone": "\f484", + "menu-app-fill": "\f485", + "menu-app": "\f486", + "menu-button-fill": "\f487", + "menu-button-wide-fill": "\f488", + "menu-button-wide": "\f489", + "menu-button": "\f48a", + "menu-down": "\f48b", + "menu-up": "\f48c", + "mic-fill": "\f48d", + "mic-mute-fill": "\f48e", + "mic-mute": "\f48f", + "mic": "\f490", + "minecart-loaded": "\f491", + "minecart": "\f492", + "moisture": "\f493", + "moon-fill": "\f494", + "moon-stars-fill": "\f495", + "moon-stars": "\f496", + "moon": "\f497", + "mouse-fill": "\f498", + "mouse": "\f499", + "mouse2-fill": "\f49a", + "mouse2": "\f49b", + "mouse3-fill": "\f49c", + "mouse3": "\f49d", + "music-note-beamed": "\f49e", + "music-note-list": "\f49f", + "music-note": "\f4a0", + "music-player-fill": "\f4a1", + "music-player": "\f4a2", + "newspaper": "\f4a3", + "node-minus-fill": "\f4a4", + "node-minus": "\f4a5", + "node-plus-fill": "\f4a6", + "node-plus": "\f4a7", + "nut-fill": "\f4a8", + "nut": "\f4a9", + "octagon-fill": "\f4aa", + "octagon-half": "\f4ab", + "octagon": "\f4ac", + "option": "\f4ad", + "outlet": "\f4ae", + "paint-bucket": "\f4af", + "palette-fill": "\f4b0", + "palette": "\f4b1", + "palette2": "\f4b2", + "paperclip": "\f4b3", + "paragraph": "\f4b4", + "patch-check-fill": "\f4b5", + "patch-check": "\f4b6", + "patch-exclamation-fill": "\f4b7", + "patch-exclamation": "\f4b8", + "patch-minus-fill": "\f4b9", + "patch-minus": "\f4ba", + "patch-plus-fill": "\f4bb", + "patch-plus": "\f4bc", + "patch-question-fill": "\f4bd", + "patch-question": "\f4be", + "pause-btn-fill": "\f4bf", + "pause-btn": "\f4c0", + "pause-circle-fill": "\f4c1", + "pause-circle": "\f4c2", + "pause-fill": "\f4c3", + "pause": "\f4c4", + "peace-fill": "\f4c5", + "peace": "\f4c6", + "pen-fill": "\f4c7", + "pen": "\f4c8", + "pencil-fill": "\f4c9", + "pencil-square": "\f4ca", + "pencil": "\f4cb", + "pentagon-fill": "\f4cc", + "pentagon-half": "\f4cd", + "pentagon": "\f4ce", + "people-fill": "\f4cf", + "people": "\f4d0", + "percent": "\f4d1", + "person-badge-fill": "\f4d2", + "person-badge": "\f4d3", + "person-bounding-box": "\f4d4", + "person-check-fill": "\f4d5", + "person-check": "\f4d6", + "person-circle": "\f4d7", + "person-dash-fill": "\f4d8", + "person-dash": "\f4d9", + "person-fill": "\f4da", + "person-lines-fill": "\f4db", + "person-plus-fill": "\f4dc", + "person-plus": "\f4dd", + "person-square": "\f4de", + "person-x-fill": "\f4df", + "person-x": "\f4e0", + "person": "\f4e1", + "phone-fill": "\f4e2", + "phone-landscape-fill": "\f4e3", + "phone-landscape": "\f4e4", + "phone-vibrate-fill": "\f4e5", + "phone-vibrate": "\f4e6", + "phone": "\f4e7", + "pie-chart-fill": "\f4e8", + "pie-chart": "\f4e9", + "pin-angle-fill": "\f4ea", + "pin-angle": "\f4eb", + "pin-fill": "\f4ec", + "pin": "\f4ed", + "pip-fill": "\f4ee", + "pip": "\f4ef", + "play-btn-fill": "\f4f0", + "play-btn": "\f4f1", + "play-circle-fill": "\f4f2", + "play-circle": "\f4f3", + "play-fill": "\f4f4", + "play": "\f4f5", + "plug-fill": "\f4f6", + "plug": "\f4f7", + "plus-circle-dotted": "\f4f8", + "plus-circle-fill": "\f4f9", + "plus-circle": "\f4fa", + "plus-square-dotted": "\f4fb", + "plus-square-fill": "\f4fc", + "plus-square": "\f4fd", + "plus": "\f4fe", + "power": "\f4ff", + "printer-fill": "\f500", + "printer": "\f501", + "puzzle-fill": "\f502", + "puzzle": "\f503", + "question-circle-fill": "\f504", + "question-circle": "\f505", + "question-diamond-fill": "\f506", + "question-diamond": "\f507", + "question-octagon-fill": "\f508", + "question-octagon": "\f509", + "question-square-fill": "\f50a", + "question-square": "\f50b", + "question": "\f50c", + "rainbow": "\f50d", + "receipt-cutoff": "\f50e", + "receipt": "\f50f", + "reception-0": "\f510", + "reception-1": "\f511", + "reception-2": "\f512", + "reception-3": "\f513", + "reception-4": "\f514", + "record-btn-fill": "\f515", + "record-btn": "\f516", + "record-circle-fill": "\f517", + "record-circle": "\f518", + "record-fill": "\f519", + "record": "\f51a", + "record2-fill": "\f51b", + "record2": "\f51c", + "reply-all-fill": "\f51d", + "reply-all": "\f51e", + "reply-fill": "\f51f", + "reply": "\f520", + "rss-fill": "\f521", + "rss": "\f522", + "rulers": "\f523", + "save-fill": "\f524", + "save": "\f525", + "save2-fill": "\f526", + "save2": "\f527", + "scissors": "\f528", + "screwdriver": "\f529", + "search": "\f52a", + "segmented-nav": "\f52b", + "server": "\f52c", + "share-fill": "\f52d", + "share": "\f52e", + "shield-check": "\f52f", + "shield-exclamation": "\f530", + "shield-fill-check": "\f531", + "shield-fill-exclamation": "\f532", + "shield-fill-minus": "\f533", + "shield-fill-plus": "\f534", + "shield-fill-x": "\f535", + "shield-fill": "\f536", + "shield-lock-fill": "\f537", + "shield-lock": "\f538", + "shield-minus": "\f539", + "shield-plus": "\f53a", + "shield-shaded": "\f53b", + "shield-slash-fill": "\f53c", + "shield-slash": "\f53d", + "shield-x": "\f53e", + "shield": "\f53f", + "shift-fill": "\f540", + "shift": "\f541", + "shop-window": "\f542", + "shop": "\f543", + "shuffle": "\f544", + "signpost-2-fill": "\f545", + "signpost-2": "\f546", + "signpost-fill": "\f547", + "signpost-split-fill": "\f548", + "signpost-split": "\f549", + "signpost": "\f54a", + "sim-fill": "\f54b", + "sim": "\f54c", + "skip-backward-btn-fill": "\f54d", + "skip-backward-btn": "\f54e", + "skip-backward-circle-fill": "\f54f", + "skip-backward-circle": "\f550", + "skip-backward-fill": "\f551", + "skip-backward": "\f552", + "skip-end-btn-fill": "\f553", + "skip-end-btn": "\f554", + "skip-end-circle-fill": "\f555", + "skip-end-circle": "\f556", + "skip-end-fill": "\f557", + "skip-end": "\f558", + "skip-forward-btn-fill": "\f559", + "skip-forward-btn": "\f55a", + "skip-forward-circle-fill": "\f55b", + "skip-forward-circle": "\f55c", + "skip-forward-fill": "\f55d", + "skip-forward": "\f55e", + "skip-start-btn-fill": "\f55f", + "skip-start-btn": "\f560", + "skip-start-circle-fill": "\f561", + "skip-start-circle": "\f562", + "skip-start-fill": "\f563", + "skip-start": "\f564", + "slack": "\f565", + "slash-circle-fill": "\f566", + "slash-circle": "\f567", + "slash-square-fill": "\f568", + "slash-square": "\f569", + "slash": "\f56a", + "sliders": "\f56b", + "smartwatch": "\f56c", + "snow": "\f56d", + "snow2": "\f56e", + "snow3": "\f56f", + "sort-alpha-down-alt": "\f570", + "sort-alpha-down": "\f571", + "sort-alpha-up-alt": "\f572", + "sort-alpha-up": "\f573", + "sort-down-alt": "\f574", + "sort-down": "\f575", + "sort-numeric-down-alt": "\f576", + "sort-numeric-down": "\f577", + "sort-numeric-up-alt": "\f578", + "sort-numeric-up": "\f579", + "sort-up-alt": "\f57a", + "sort-up": "\f57b", + "soundwave": "\f57c", + "speaker-fill": "\f57d", + "speaker": "\f57e", + "speedometer": "\f57f", + "speedometer2": "\f580", + "spellcheck": "\f581", + "square-fill": "\f582", + "square-half": "\f583", + "square": "\f584", + "stack": "\f585", + "star-fill": "\f586", + "star-half": "\f587", + "star": "\f588", + "stars": "\f589", + "stickies-fill": "\f58a", + "stickies": "\f58b", + "sticky-fill": "\f58c", + "sticky": "\f58d", + "stop-btn-fill": "\f58e", + "stop-btn": "\f58f", + "stop-circle-fill": "\f590", + "stop-circle": "\f591", + "stop-fill": "\f592", + "stop": "\f593", + "stoplights-fill": "\f594", + "stoplights": "\f595", + "stopwatch-fill": "\f596", + "stopwatch": "\f597", + "subtract": "\f598", + "suit-club-fill": "\f599", + "suit-club": "\f59a", + "suit-diamond-fill": "\f59b", + "suit-diamond": "\f59c", + "suit-heart-fill": "\f59d", + "suit-heart": "\f59e", + "suit-spade-fill": "\f59f", + "suit-spade": "\f5a0", + "sun-fill": "\f5a1", + "sun": "\f5a2", + "sunglasses": "\f5a3", + "sunrise-fill": "\f5a4", + "sunrise": "\f5a5", + "sunset-fill": "\f5a6", + "sunset": "\f5a7", + "symmetry-horizontal": "\f5a8", + "symmetry-vertical": "\f5a9", + "table": "\f5aa", + "tablet-fill": "\f5ab", + "tablet-landscape-fill": "\f5ac", + "tablet-landscape": "\f5ad", + "tablet": "\f5ae", + "tag-fill": "\f5af", + "tag": "\f5b0", + "tags-fill": "\f5b1", + "tags": "\f5b2", + "telegram": "\f5b3", + "telephone-fill": "\f5b4", + "telephone-forward-fill": "\f5b5", + "telephone-forward": "\f5b6", + "telephone-inbound-fill": "\f5b7", + "telephone-inbound": "\f5b8", + "telephone-minus-fill": "\f5b9", + "telephone-minus": "\f5ba", + "telephone-outbound-fill": "\f5bb", + "telephone-outbound": "\f5bc", + "telephone-plus-fill": "\f5bd", + "telephone-plus": "\f5be", + "telephone-x-fill": "\f5bf", + "telephone-x": "\f5c0", + "telephone": "\f5c1", + "terminal-fill": "\f5c2", + "terminal": "\f5c3", + "text-center": "\f5c4", + "text-indent-left": "\f5c5", + "text-indent-right": "\f5c6", + "text-left": "\f5c7", + "text-paragraph": "\f5c8", + "text-right": "\f5c9", + "textarea-resize": "\f5ca", + "textarea-t": "\f5cb", + "textarea": "\f5cc", + "thermometer-half": "\f5cd", + "thermometer-high": "\f5ce", + "thermometer-low": "\f5cf", + "thermometer-snow": "\f5d0", + "thermometer-sun": "\f5d1", + "thermometer": "\f5d2", + "three-dots-vertical": "\f5d3", + "three-dots": "\f5d4", + "toggle-off": "\f5d5", + "toggle-on": "\f5d6", + "toggle2-off": "\f5d7", + "toggle2-on": "\f5d8", + "toggles": "\f5d9", + "toggles2": "\f5da", + "tools": "\f5db", + "tornado": "\f5dc", + "trash-fill": "\f5dd", + "trash": "\f5de", + "trash2-fill": "\f5df", + "trash2": "\f5e0", + "tree-fill": "\f5e1", + "tree": "\f5e2", + "triangle-fill": "\f5e3", + "triangle-half": "\f5e4", + "triangle": "\f5e5", + "trophy-fill": "\f5e6", + "trophy": "\f5e7", + "tropical-storm": "\f5e8", + "truck-flatbed": "\f5e9", + "truck": "\f5ea", + "tsunami": "\f5eb", + "tv-fill": "\f5ec", + "tv": "\f5ed", + "twitch": "\f5ee", + "twitter": "\f5ef", + "type-bold": "\f5f0", + "type-h1": "\f5f1", + "type-h2": "\f5f2", + "type-h3": "\f5f3", + "type-italic": "\f5f4", + "type-strikethrough": "\f5f5", + "type-underline": "\f5f6", + "type": "\f5f7", + "ui-checks-grid": "\f5f8", + "ui-checks": "\f5f9", + "ui-radios-grid": "\f5fa", + "ui-radios": "\f5fb", + "umbrella-fill": "\f5fc", + "umbrella": "\f5fd", + "union": "\f5fe", + "unlock-fill": "\f5ff", + "unlock": "\f600", + "upc-scan": "\f601", + "upc": "\f602", + "upload": "\f603", + "vector-pen": "\f604", + "view-list": "\f605", + "view-stacked": "\f606", + "vinyl-fill": "\f607", + "vinyl": "\f608", + "voicemail": "\f609", + "volume-down-fill": "\f60a", + "volume-down": "\f60b", + "volume-mute-fill": "\f60c", + "volume-mute": "\f60d", + "volume-off-fill": "\f60e", + "volume-off": "\f60f", + "volume-up-fill": "\f610", + "volume-up": "\f611", + "vr": "\f612", + "wallet-fill": "\f613", + "wallet": "\f614", + "wallet2": "\f615", + "watch": "\f616", + "water": "\f617", + "whatsapp": "\f618", + "wifi-1": "\f619", + "wifi-2": "\f61a", + "wifi-off": "\f61b", + "wifi": "\f61c", + "wind": "\f61d", + "window-dock": "\f61e", + "window-sidebar": "\f61f", + "window": "\f620", + "wrench": "\f621", + "x-circle-fill": "\f622", + "x-circle": "\f623", + "x-diamond-fill": "\f624", + "x-diamond": "\f625", + "x-octagon-fill": "\f626", + "x-octagon": "\f627", + "x-square-fill": "\f628", + "x-square": "\f629", + "x": "\f62a", + "youtube": "\f62b", + "zoom-in": "\f62c", + "zoom-out": "\f62d", + "bank": "\f62e", + "bank2": "\f62f", + "bell-slash-fill": "\f630", + "bell-slash": "\f631", + "cash-coin": "\f632", + "check-lg": "\f633", + "coin": "\f634", + "currency-bitcoin": "\f635", + "currency-dollar": "\f636", + "currency-euro": "\f637", + "currency-exchange": "\f638", + "currency-pound": "\f639", + "currency-yen": "\f63a", + "dash-lg": "\f63b", + "exclamation-lg": "\f63c", + "file-earmark-pdf-fill": "\f63d", + "file-earmark-pdf": "\f63e", + "file-pdf-fill": "\f63f", + "file-pdf": "\f640", + "gender-ambiguous": "\f641", + "gender-female": "\f642", + "gender-male": "\f643", + "gender-trans": "\f644", + "headset-vr": "\f645", + "info-lg": "\f646", + "mastodon": "\f647", + "messenger": "\f648", + "piggy-bank-fill": "\f649", + "piggy-bank": "\f64a", + "pin-map-fill": "\f64b", + "pin-map": "\f64c", + "plus-lg": "\f64d", + "question-lg": "\f64e", + "recycle": "\f64f", + "reddit": "\f650", + "safe-fill": "\f651", + "safe2-fill": "\f652", + "safe2": "\f653", + "sd-card-fill": "\f654", + "sd-card": "\f655", + "skype": "\f656", + "slash-lg": "\f657", + "translate": "\f658", + "x-lg": "\f659", + "safe": "\f65a", + "apple": "\f65b", + "microsoft": "\f65d", + "windows": "\f65e", + "behance": "\f65c", + "dribbble": "\f65f", + "line": "\f660", + "medium": "\f661", + "paypal": "\f662", + "pinterest": "\f663", + "signal": "\f664", + "snapchat": "\f665", + "spotify": "\f666", + "stack-overflow": "\f667", + "strava": "\f668", + "wordpress": "\f669", + "vimeo": "\f66a", + "activity": "\f66b", + "easel2-fill": "\f66c", + "easel2": "\f66d", + "easel3-fill": "\f66e", + "easel3": "\f66f", + "fan": "\f670", + "fingerprint": "\f671", + "graph-down-arrow": "\f672", + "graph-up-arrow": "\f673", + "hypnotize": "\f674", + "magic": "\f675", + "person-rolodex": "\f676", + "person-video": "\f677", + "person-video2": "\f678", + "person-video3": "\f679", + "person-workspace": "\f67a", + "radioactive": "\f67b", + "webcam-fill": "\f67c", + "webcam": "\f67d", + "yin-yang": "\f67e", + "bandaid-fill": "\f680", + "bandaid": "\f681", + "bluetooth": "\f682", + "body-text": "\f683", + "boombox": "\f684", + "boxes": "\f685", + "dpad-fill": "\f686", + "dpad": "\f687", + "ear-fill": "\f688", + "ear": "\f689", + "envelope-check-1": "\f68a", + "envelope-check-fill": "\f68b", + "envelope-check": "\f68c", + "envelope-dash-1": "\f68d", + "envelope-dash-fill": "\f68e", + "envelope-dash": "\f68f", + "envelope-exclamation-1": "\f690", + "envelope-exclamation-fill": "\f691", + "envelope-exclamation": "\f692", + "envelope-plus-fill": "\f693", + "envelope-plus": "\f694", + "envelope-slash-1": "\f695", + "envelope-slash-fill": "\f696", + "envelope-slash": "\f697", + "envelope-x-1": "\f698", + "envelope-x-fill": "\f699", + "envelope-x": "\f69a", + "explicit-fill": "\f69b", + "explicit": "\f69c", + "git": "\f69d", + "infinity": "\f69e", + "list-columns-reverse": "\f69f", + "list-columns": "\f6a0", + "meta": "\f6a1", + "mortorboard-fill": "\f6a2", + "mortorboard": "\f6a3", + "nintendo-switch": "\f6a4", + "pc-display-horizontal": "\f6a5", + "pc-display": "\f6a6", + "pc-horizontal": "\f6a7", + "pc": "\f6a8", + "playstation": "\f6a9", + "plus-slash-minus": "\f6aa", + "projector-fill": "\f6ab", + "projector": "\f6ac", + "qr-code-scan": "\f6ad", + "qr-code": "\f6ae", + "quora": "\f6af", + "quote": "\f6b0", + "robot": "\f6b1", + "send-check-fill": "\f6b2", + "send-check": "\f6b3", + "send-dash-fill": "\f6b4", + "send-dash": "\f6b5", + "send-exclamation-1": "\f6b6", + "send-exclamation-fill": "\f6b7", + "send-exclamation": "\f6b8", + "send-fill": "\f6b9", + "send-plus-fill": "\f6ba", + "send-plus": "\f6bb", + "send-slash-fill": "\f6bc", + "send-slash": "\f6bd", + "send-x-fill": "\f6be", + "send-x": "\f6bf", + "send": "\f6c0", + "steam": "\f6c1", + "terminal-dash-1": "\f6c2", + "terminal-dash": "\f6c3", + "terminal-plus": "\f6c4", + "terminal-split": "\f6c5", + "ticket-detailed-fill": "\f6c6", + "ticket-detailed": "\f6c7", + "ticket-fill": "\f6c8", + "ticket-perferated-fill": "\f6c9", + "ticket-perferated": "\f6ca", + "ticket": "\f6cb", + "tiktok": "\f6cc", + "window-dash": "\f6cd", + "window-desktop": "\f6ce", + "window-fullscreen": "\f6cf", + "window-plus": "\f6d0", + "window-split": "\f6d1", + "window-stack": "\f6d2", + "window-x": "\f6d3", + "xbox": "\f6d4", + "ethernet": "\f6d5", + "hdmi-fill": "\f6d6", + "hdmi": "\f6d7", + "usb-c-fill": "\f6d8", + "usb-c": "\f6d9", + "usb-fill": "\f6da", + "usb-plug-fill": "\f6db", + "usb-plug": "\f6dc", + "usb-symbol": "\f6dd", + "usb": "\f6de", + "boombox-fill": "\f6df", + "displayport-1": "\f6e0", + "displayport": "\f6e1", + "gpu-card": "\f6e2", + "memory": "\f6e3", + "modem-fill": "\f6e4", + "modem": "\f6e5", + "motherboard-fill": "\f6e6", + "motherboard": "\f6e7", + "optical-audio-fill": "\f6e8", + "optical-audio": "\f6e9", + "pci-card": "\f6ea", + "router-fill": "\f6eb", + "router": "\f6ec", + "ssd-fill": "\f6ed", + "ssd": "\f6ee", + "thunderbolt-fill": "\f6ef", + "thunderbolt": "\f6f0", + "usb-drive-fill": "\f6f1", + "usb-drive": "\f6f2", + "usb-micro-fill": "\f6f3", + "usb-micro": "\f6f4", + "usb-mini-fill": "\f6f5", + "usb-mini": "\f6f6", + "cloud-haze2": "\f6f7", + "device-hdd-fill": "\f6f8", + "device-hdd": "\f6f9", + "device-ssd-fill": "\f6fa", + "device-ssd": "\f6fb", + "displayport-fill": "\f6fc", + "mortarboard-fill": "\f6fd", + "mortarboard": "\f6fe", + "terminal-x": "\f6ff", +); + +.bi-123::before { content: map-get($bootstrap-icons-map, "123"); } +.bi-alarm-fill::before { content: map-get($bootstrap-icons-map, "alarm-fill"); } +.bi-alarm::before { content: map-get($bootstrap-icons-map, "alarm"); } +.bi-align-bottom::before { content: map-get($bootstrap-icons-map, "align-bottom"); } +.bi-align-center::before { content: map-get($bootstrap-icons-map, "align-center"); } +.bi-align-end::before { content: map-get($bootstrap-icons-map, "align-end"); } +.bi-align-middle::before { content: map-get($bootstrap-icons-map, "align-middle"); } +.bi-align-start::before { content: map-get($bootstrap-icons-map, "align-start"); } +.bi-align-top::before { content: map-get($bootstrap-icons-map, "align-top"); } +.bi-alt::before { content: map-get($bootstrap-icons-map, "alt"); } +.bi-app-indicator::before { content: map-get($bootstrap-icons-map, "app-indicator"); } +.bi-app::before { content: map-get($bootstrap-icons-map, "app"); } +.bi-archive-fill::before { content: map-get($bootstrap-icons-map, "archive-fill"); } +.bi-archive::before { content: map-get($bootstrap-icons-map, "archive"); } +.bi-arrow-90deg-down::before { content: map-get($bootstrap-icons-map, "arrow-90deg-down"); } +.bi-arrow-90deg-left::before { content: map-get($bootstrap-icons-map, "arrow-90deg-left"); } +.bi-arrow-90deg-right::before { content: map-get($bootstrap-icons-map, "arrow-90deg-right"); } +.bi-arrow-90deg-up::before { content: map-get($bootstrap-icons-map, "arrow-90deg-up"); } +.bi-arrow-bar-down::before { content: map-get($bootstrap-icons-map, "arrow-bar-down"); } +.bi-arrow-bar-left::before { content: map-get($bootstrap-icons-map, "arrow-bar-left"); } +.bi-arrow-bar-right::before { content: map-get($bootstrap-icons-map, "arrow-bar-right"); } +.bi-arrow-bar-up::before { content: map-get($bootstrap-icons-map, "arrow-bar-up"); } +.bi-arrow-clockwise::before { content: map-get($bootstrap-icons-map, "arrow-clockwise"); } +.bi-arrow-counterclockwise::before { content: map-get($bootstrap-icons-map, "arrow-counterclockwise"); } +.bi-arrow-down-circle-fill::before { content: map-get($bootstrap-icons-map, "arrow-down-circle-fill"); } +.bi-arrow-down-circle::before { content: map-get($bootstrap-icons-map, "arrow-down-circle"); } +.bi-arrow-down-left-circle-fill::before { content: map-get($bootstrap-icons-map, "arrow-down-left-circle-fill"); } +.bi-arrow-down-left-circle::before { content: map-get($bootstrap-icons-map, "arrow-down-left-circle"); } +.bi-arrow-down-left-square-fill::before { content: map-get($bootstrap-icons-map, "arrow-down-left-square-fill"); } +.bi-arrow-down-left-square::before { content: map-get($bootstrap-icons-map, "arrow-down-left-square"); } +.bi-arrow-down-left::before { content: map-get($bootstrap-icons-map, "arrow-down-left"); } +.bi-arrow-down-right-circle-fill::before { content: map-get($bootstrap-icons-map, "arrow-down-right-circle-fill"); } +.bi-arrow-down-right-circle::before { content: map-get($bootstrap-icons-map, "arrow-down-right-circle"); } +.bi-arrow-down-right-square-fill::before { content: map-get($bootstrap-icons-map, "arrow-down-right-square-fill"); } +.bi-arrow-down-right-square::before { content: map-get($bootstrap-icons-map, "arrow-down-right-square"); } +.bi-arrow-down-right::before { content: map-get($bootstrap-icons-map, "arrow-down-right"); } +.bi-arrow-down-short::before { content: map-get($bootstrap-icons-map, "arrow-down-short"); } +.bi-arrow-down-square-fill::before { content: map-get($bootstrap-icons-map, "arrow-down-square-fill"); } +.bi-arrow-down-square::before { content: map-get($bootstrap-icons-map, "arrow-down-square"); } +.bi-arrow-down-up::before { content: map-get($bootstrap-icons-map, "arrow-down-up"); } +.bi-arrow-down::before { content: map-get($bootstrap-icons-map, "arrow-down"); } +.bi-arrow-left-circle-fill::before { content: map-get($bootstrap-icons-map, "arrow-left-circle-fill"); } +.bi-arrow-left-circle::before { content: map-get($bootstrap-icons-map, "arrow-left-circle"); } +.bi-arrow-left-right::before { content: map-get($bootstrap-icons-map, "arrow-left-right"); } +.bi-arrow-left-short::before { content: map-get($bootstrap-icons-map, "arrow-left-short"); } +.bi-arrow-left-square-fill::before { content: map-get($bootstrap-icons-map, "arrow-left-square-fill"); } +.bi-arrow-left-square::before { content: map-get($bootstrap-icons-map, "arrow-left-square"); } +.bi-arrow-left::before { content: map-get($bootstrap-icons-map, "arrow-left"); } +.bi-arrow-repeat::before { content: map-get($bootstrap-icons-map, "arrow-repeat"); } +.bi-arrow-return-left::before { content: map-get($bootstrap-icons-map, "arrow-return-left"); } +.bi-arrow-return-right::before { content: map-get($bootstrap-icons-map, "arrow-return-right"); } +.bi-arrow-right-circle-fill::before { content: map-get($bootstrap-icons-map, "arrow-right-circle-fill"); } +.bi-arrow-right-circle::before { content: map-get($bootstrap-icons-map, "arrow-right-circle"); } +.bi-arrow-right-short::before { content: map-get($bootstrap-icons-map, "arrow-right-short"); } +.bi-arrow-right-square-fill::before { content: map-get($bootstrap-icons-map, "arrow-right-square-fill"); } +.bi-arrow-right-square::before { content: map-get($bootstrap-icons-map, "arrow-right-square"); } +.bi-arrow-right::before { content: map-get($bootstrap-icons-map, "arrow-right"); } +.bi-arrow-up-circle-fill::before { content: map-get($bootstrap-icons-map, "arrow-up-circle-fill"); } +.bi-arrow-up-circle::before { content: map-get($bootstrap-icons-map, "arrow-up-circle"); } +.bi-arrow-up-left-circle-fill::before { content: map-get($bootstrap-icons-map, "arrow-up-left-circle-fill"); } +.bi-arrow-up-left-circle::before { content: map-get($bootstrap-icons-map, "arrow-up-left-circle"); } +.bi-arrow-up-left-square-fill::before { content: map-get($bootstrap-icons-map, "arrow-up-left-square-fill"); } +.bi-arrow-up-left-square::before { content: map-get($bootstrap-icons-map, "arrow-up-left-square"); } +.bi-arrow-up-left::before { content: map-get($bootstrap-icons-map, "arrow-up-left"); } +.bi-arrow-up-right-circle-fill::before { content: map-get($bootstrap-icons-map, "arrow-up-right-circle-fill"); } +.bi-arrow-up-right-circle::before { content: map-get($bootstrap-icons-map, "arrow-up-right-circle"); } +.bi-arrow-up-right-square-fill::before { content: map-get($bootstrap-icons-map, "arrow-up-right-square-fill"); } +.bi-arrow-up-right-square::before { content: map-get($bootstrap-icons-map, "arrow-up-right-square"); } +.bi-arrow-up-right::before { content: map-get($bootstrap-icons-map, "arrow-up-right"); } +.bi-arrow-up-short::before { content: map-get($bootstrap-icons-map, "arrow-up-short"); } +.bi-arrow-up-square-fill::before { content: map-get($bootstrap-icons-map, "arrow-up-square-fill"); } +.bi-arrow-up-square::before { content: map-get($bootstrap-icons-map, "arrow-up-square"); } +.bi-arrow-up::before { content: map-get($bootstrap-icons-map, "arrow-up"); } +.bi-arrows-angle-contract::before { content: map-get($bootstrap-icons-map, "arrows-angle-contract"); } +.bi-arrows-angle-expand::before { content: map-get($bootstrap-icons-map, "arrows-angle-expand"); } +.bi-arrows-collapse::before { content: map-get($bootstrap-icons-map, "arrows-collapse"); } +.bi-arrows-expand::before { content: map-get($bootstrap-icons-map, "arrows-expand"); } +.bi-arrows-fullscreen::before { content: map-get($bootstrap-icons-map, "arrows-fullscreen"); } +.bi-arrows-move::before { content: map-get($bootstrap-icons-map, "arrows-move"); } +.bi-aspect-ratio-fill::before { content: map-get($bootstrap-icons-map, "aspect-ratio-fill"); } +.bi-aspect-ratio::before { content: map-get($bootstrap-icons-map, "aspect-ratio"); } +.bi-asterisk::before { content: map-get($bootstrap-icons-map, "asterisk"); } +.bi-at::before { content: map-get($bootstrap-icons-map, "at"); } +.bi-award-fill::before { content: map-get($bootstrap-icons-map, "award-fill"); } +.bi-award::before { content: map-get($bootstrap-icons-map, "award"); } +.bi-back::before { content: map-get($bootstrap-icons-map, "back"); } +.bi-backspace-fill::before { content: map-get($bootstrap-icons-map, "backspace-fill"); } +.bi-backspace-reverse-fill::before { content: map-get($bootstrap-icons-map, "backspace-reverse-fill"); } +.bi-backspace-reverse::before { content: map-get($bootstrap-icons-map, "backspace-reverse"); } +.bi-backspace::before { content: map-get($bootstrap-icons-map, "backspace"); } +.bi-badge-3d-fill::before { content: map-get($bootstrap-icons-map, "badge-3d-fill"); } +.bi-badge-3d::before { content: map-get($bootstrap-icons-map, "badge-3d"); } +.bi-badge-4k-fill::before { content: map-get($bootstrap-icons-map, "badge-4k-fill"); } +.bi-badge-4k::before { content: map-get($bootstrap-icons-map, "badge-4k"); } +.bi-badge-8k-fill::before { content: map-get($bootstrap-icons-map, "badge-8k-fill"); } +.bi-badge-8k::before { content: map-get($bootstrap-icons-map, "badge-8k"); } +.bi-badge-ad-fill::before { content: map-get($bootstrap-icons-map, "badge-ad-fill"); } +.bi-badge-ad::before { content: map-get($bootstrap-icons-map, "badge-ad"); } +.bi-badge-ar-fill::before { content: map-get($bootstrap-icons-map, "badge-ar-fill"); } +.bi-badge-ar::before { content: map-get($bootstrap-icons-map, "badge-ar"); } +.bi-badge-cc-fill::before { content: map-get($bootstrap-icons-map, "badge-cc-fill"); } +.bi-badge-cc::before { content: map-get($bootstrap-icons-map, "badge-cc"); } +.bi-badge-hd-fill::before { content: map-get($bootstrap-icons-map, "badge-hd-fill"); } +.bi-badge-hd::before { content: map-get($bootstrap-icons-map, "badge-hd"); } +.bi-badge-tm-fill::before { content: map-get($bootstrap-icons-map, "badge-tm-fill"); } +.bi-badge-tm::before { content: map-get($bootstrap-icons-map, "badge-tm"); } +.bi-badge-vo-fill::before { content: map-get($bootstrap-icons-map, "badge-vo-fill"); } +.bi-badge-vo::before { content: map-get($bootstrap-icons-map, "badge-vo"); } +.bi-badge-vr-fill::before { content: map-get($bootstrap-icons-map, "badge-vr-fill"); } +.bi-badge-vr::before { content: map-get($bootstrap-icons-map, "badge-vr"); } +.bi-badge-wc-fill::before { content: map-get($bootstrap-icons-map, "badge-wc-fill"); } +.bi-badge-wc::before { content: map-get($bootstrap-icons-map, "badge-wc"); } +.bi-bag-check-fill::before { content: map-get($bootstrap-icons-map, "bag-check-fill"); } +.bi-bag-check::before { content: map-get($bootstrap-icons-map, "bag-check"); } +.bi-bag-dash-fill::before { content: map-get($bootstrap-icons-map, "bag-dash-fill"); } +.bi-bag-dash::before { content: map-get($bootstrap-icons-map, "bag-dash"); } +.bi-bag-fill::before { content: map-get($bootstrap-icons-map, "bag-fill"); } +.bi-bag-plus-fill::before { content: map-get($bootstrap-icons-map, "bag-plus-fill"); } +.bi-bag-plus::before { content: map-get($bootstrap-icons-map, "bag-plus"); } +.bi-bag-x-fill::before { content: map-get($bootstrap-icons-map, "bag-x-fill"); } +.bi-bag-x::before { content: map-get($bootstrap-icons-map, "bag-x"); } +.bi-bag::before { content: map-get($bootstrap-icons-map, "bag"); } +.bi-bar-chart-fill::before { content: map-get($bootstrap-icons-map, "bar-chart-fill"); } +.bi-bar-chart-line-fill::before { content: map-get($bootstrap-icons-map, "bar-chart-line-fill"); } +.bi-bar-chart-line::before { content: map-get($bootstrap-icons-map, "bar-chart-line"); } +.bi-bar-chart-steps::before { content: map-get($bootstrap-icons-map, "bar-chart-steps"); } +.bi-bar-chart::before { content: map-get($bootstrap-icons-map, "bar-chart"); } +.bi-basket-fill::before { content: map-get($bootstrap-icons-map, "basket-fill"); } +.bi-basket::before { content: map-get($bootstrap-icons-map, "basket"); } +.bi-basket2-fill::before { content: map-get($bootstrap-icons-map, "basket2-fill"); } +.bi-basket2::before { content: map-get($bootstrap-icons-map, "basket2"); } +.bi-basket3-fill::before { content: map-get($bootstrap-icons-map, "basket3-fill"); } +.bi-basket3::before { content: map-get($bootstrap-icons-map, "basket3"); } +.bi-battery-charging::before { content: map-get($bootstrap-icons-map, "battery-charging"); } +.bi-battery-full::before { content: map-get($bootstrap-icons-map, "battery-full"); } +.bi-battery-half::before { content: map-get($bootstrap-icons-map, "battery-half"); } +.bi-battery::before { content: map-get($bootstrap-icons-map, "battery"); } +.bi-bell-fill::before { content: map-get($bootstrap-icons-map, "bell-fill"); } +.bi-bell::before { content: map-get($bootstrap-icons-map, "bell"); } +.bi-bezier::before { content: map-get($bootstrap-icons-map, "bezier"); } +.bi-bezier2::before { content: map-get($bootstrap-icons-map, "bezier2"); } +.bi-bicycle::before { content: map-get($bootstrap-icons-map, "bicycle"); } +.bi-binoculars-fill::before { content: map-get($bootstrap-icons-map, "binoculars-fill"); } +.bi-binoculars::before { content: map-get($bootstrap-icons-map, "binoculars"); } +.bi-blockquote-left::before { content: map-get($bootstrap-icons-map, "blockquote-left"); } +.bi-blockquote-right::before { content: map-get($bootstrap-icons-map, "blockquote-right"); } +.bi-book-fill::before { content: map-get($bootstrap-icons-map, "book-fill"); } +.bi-book-half::before { content: map-get($bootstrap-icons-map, "book-half"); } +.bi-book::before { content: map-get($bootstrap-icons-map, "book"); } +.bi-bookmark-check-fill::before { content: map-get($bootstrap-icons-map, "bookmark-check-fill"); } +.bi-bookmark-check::before { content: map-get($bootstrap-icons-map, "bookmark-check"); } +.bi-bookmark-dash-fill::before { content: map-get($bootstrap-icons-map, "bookmark-dash-fill"); } +.bi-bookmark-dash::before { content: map-get($bootstrap-icons-map, "bookmark-dash"); } +.bi-bookmark-fill::before { content: map-get($bootstrap-icons-map, "bookmark-fill"); } +.bi-bookmark-heart-fill::before { content: map-get($bootstrap-icons-map, "bookmark-heart-fill"); } +.bi-bookmark-heart::before { content: map-get($bootstrap-icons-map, "bookmark-heart"); } +.bi-bookmark-plus-fill::before { content: map-get($bootstrap-icons-map, "bookmark-plus-fill"); } +.bi-bookmark-plus::before { content: map-get($bootstrap-icons-map, "bookmark-plus"); } +.bi-bookmark-star-fill::before { content: map-get($bootstrap-icons-map, "bookmark-star-fill"); } +.bi-bookmark-star::before { content: map-get($bootstrap-icons-map, "bookmark-star"); } +.bi-bookmark-x-fill::before { content: map-get($bootstrap-icons-map, "bookmark-x-fill"); } +.bi-bookmark-x::before { content: map-get($bootstrap-icons-map, "bookmark-x"); } +.bi-bookmark::before { content: map-get($bootstrap-icons-map, "bookmark"); } +.bi-bookmarks-fill::before { content: map-get($bootstrap-icons-map, "bookmarks-fill"); } +.bi-bookmarks::before { content: map-get($bootstrap-icons-map, "bookmarks"); } +.bi-bookshelf::before { content: map-get($bootstrap-icons-map, "bookshelf"); } +.bi-bootstrap-fill::before { content: map-get($bootstrap-icons-map, "bootstrap-fill"); } +.bi-bootstrap-reboot::before { content: map-get($bootstrap-icons-map, "bootstrap-reboot"); } +.bi-bootstrap::before { content: map-get($bootstrap-icons-map, "bootstrap"); } +.bi-border-all::before { content: map-get($bootstrap-icons-map, "border-all"); } +.bi-border-bottom::before { content: map-get($bootstrap-icons-map, "border-bottom"); } +.bi-border-center::before { content: map-get($bootstrap-icons-map, "border-center"); } +.bi-border-inner::before { content: map-get($bootstrap-icons-map, "border-inner"); } +.bi-border-left::before { content: map-get($bootstrap-icons-map, "border-left"); } +.bi-border-middle::before { content: map-get($bootstrap-icons-map, "border-middle"); } +.bi-border-outer::before { content: map-get($bootstrap-icons-map, "border-outer"); } +.bi-border-right::before { content: map-get($bootstrap-icons-map, "border-right"); } +.bi-border-style::before { content: map-get($bootstrap-icons-map, "border-style"); } +.bi-border-top::before { content: map-get($bootstrap-icons-map, "border-top"); } +.bi-border-width::before { content: map-get($bootstrap-icons-map, "border-width"); } +.bi-border::before { content: map-get($bootstrap-icons-map, "border"); } +.bi-bounding-box-circles::before { content: map-get($bootstrap-icons-map, "bounding-box-circles"); } +.bi-bounding-box::before { content: map-get($bootstrap-icons-map, "bounding-box"); } +.bi-box-arrow-down-left::before { content: map-get($bootstrap-icons-map, "box-arrow-down-left"); } +.bi-box-arrow-down-right::before { content: map-get($bootstrap-icons-map, "box-arrow-down-right"); } +.bi-box-arrow-down::before { content: map-get($bootstrap-icons-map, "box-arrow-down"); } +.bi-box-arrow-in-down-left::before { content: map-get($bootstrap-icons-map, "box-arrow-in-down-left"); } +.bi-box-arrow-in-down-right::before { content: map-get($bootstrap-icons-map, "box-arrow-in-down-right"); } +.bi-box-arrow-in-down::before { content: map-get($bootstrap-icons-map, "box-arrow-in-down"); } +.bi-box-arrow-in-left::before { content: map-get($bootstrap-icons-map, "box-arrow-in-left"); } +.bi-box-arrow-in-right::before { content: map-get($bootstrap-icons-map, "box-arrow-in-right"); } +.bi-box-arrow-in-up-left::before { content: map-get($bootstrap-icons-map, "box-arrow-in-up-left"); } +.bi-box-arrow-in-up-right::before { content: map-get($bootstrap-icons-map, "box-arrow-in-up-right"); } +.bi-box-arrow-in-up::before { content: map-get($bootstrap-icons-map, "box-arrow-in-up"); } +.bi-box-arrow-left::before { content: map-get($bootstrap-icons-map, "box-arrow-left"); } +.bi-box-arrow-right::before { content: map-get($bootstrap-icons-map, "box-arrow-right"); } +.bi-box-arrow-up-left::before { content: map-get($bootstrap-icons-map, "box-arrow-up-left"); } +.bi-box-arrow-up-right::before { content: map-get($bootstrap-icons-map, "box-arrow-up-right"); } +.bi-box-arrow-up::before { content: map-get($bootstrap-icons-map, "box-arrow-up"); } +.bi-box-seam::before { content: map-get($bootstrap-icons-map, "box-seam"); } +.bi-box::before { content: map-get($bootstrap-icons-map, "box"); } +.bi-braces::before { content: map-get($bootstrap-icons-map, "braces"); } +.bi-bricks::before { content: map-get($bootstrap-icons-map, "bricks"); } +.bi-briefcase-fill::before { content: map-get($bootstrap-icons-map, "briefcase-fill"); } +.bi-briefcase::before { content: map-get($bootstrap-icons-map, "briefcase"); } +.bi-brightness-alt-high-fill::before { content: map-get($bootstrap-icons-map, "brightness-alt-high-fill"); } +.bi-brightness-alt-high::before { content: map-get($bootstrap-icons-map, "brightness-alt-high"); } +.bi-brightness-alt-low-fill::before { content: map-get($bootstrap-icons-map, "brightness-alt-low-fill"); } +.bi-brightness-alt-low::before { content: map-get($bootstrap-icons-map, "brightness-alt-low"); } +.bi-brightness-high-fill::before { content: map-get($bootstrap-icons-map, "brightness-high-fill"); } +.bi-brightness-high::before { content: map-get($bootstrap-icons-map, "brightness-high"); } +.bi-brightness-low-fill::before { content: map-get($bootstrap-icons-map, "brightness-low-fill"); } +.bi-brightness-low::before { content: map-get($bootstrap-icons-map, "brightness-low"); } +.bi-broadcast-pin::before { content: map-get($bootstrap-icons-map, "broadcast-pin"); } +.bi-broadcast::before { content: map-get($bootstrap-icons-map, "broadcast"); } +.bi-brush-fill::before { content: map-get($bootstrap-icons-map, "brush-fill"); } +.bi-brush::before { content: map-get($bootstrap-icons-map, "brush"); } +.bi-bucket-fill::before { content: map-get($bootstrap-icons-map, "bucket-fill"); } +.bi-bucket::before { content: map-get($bootstrap-icons-map, "bucket"); } +.bi-bug-fill::before { content: map-get($bootstrap-icons-map, "bug-fill"); } +.bi-bug::before { content: map-get($bootstrap-icons-map, "bug"); } +.bi-building::before { content: map-get($bootstrap-icons-map, "building"); } +.bi-bullseye::before { content: map-get($bootstrap-icons-map, "bullseye"); } +.bi-calculator-fill::before { content: map-get($bootstrap-icons-map, "calculator-fill"); } +.bi-calculator::before { content: map-get($bootstrap-icons-map, "calculator"); } +.bi-calendar-check-fill::before { content: map-get($bootstrap-icons-map, "calendar-check-fill"); } +.bi-calendar-check::before { content: map-get($bootstrap-icons-map, "calendar-check"); } +.bi-calendar-date-fill::before { content: map-get($bootstrap-icons-map, "calendar-date-fill"); } +.bi-calendar-date::before { content: map-get($bootstrap-icons-map, "calendar-date"); } +.bi-calendar-day-fill::before { content: map-get($bootstrap-icons-map, "calendar-day-fill"); } +.bi-calendar-day::before { content: map-get($bootstrap-icons-map, "calendar-day"); } +.bi-calendar-event-fill::before { content: map-get($bootstrap-icons-map, "calendar-event-fill"); } +.bi-calendar-event::before { content: map-get($bootstrap-icons-map, "calendar-event"); } +.bi-calendar-fill::before { content: map-get($bootstrap-icons-map, "calendar-fill"); } +.bi-calendar-minus-fill::before { content: map-get($bootstrap-icons-map, "calendar-minus-fill"); } +.bi-calendar-minus::before { content: map-get($bootstrap-icons-map, "calendar-minus"); } +.bi-calendar-month-fill::before { content: map-get($bootstrap-icons-map, "calendar-month-fill"); } +.bi-calendar-month::before { content: map-get($bootstrap-icons-map, "calendar-month"); } +.bi-calendar-plus-fill::before { content: map-get($bootstrap-icons-map, "calendar-plus-fill"); } +.bi-calendar-plus::before { content: map-get($bootstrap-icons-map, "calendar-plus"); } +.bi-calendar-range-fill::before { content: map-get($bootstrap-icons-map, "calendar-range-fill"); } +.bi-calendar-range::before { content: map-get($bootstrap-icons-map, "calendar-range"); } +.bi-calendar-week-fill::before { content: map-get($bootstrap-icons-map, "calendar-week-fill"); } +.bi-calendar-week::before { content: map-get($bootstrap-icons-map, "calendar-week"); } +.bi-calendar-x-fill::before { content: map-get($bootstrap-icons-map, "calendar-x-fill"); } +.bi-calendar-x::before { content: map-get($bootstrap-icons-map, "calendar-x"); } +.bi-calendar::before { content: map-get($bootstrap-icons-map, "calendar"); } +.bi-calendar2-check-fill::before { content: map-get($bootstrap-icons-map, "calendar2-check-fill"); } +.bi-calendar2-check::before { content: map-get($bootstrap-icons-map, "calendar2-check"); } +.bi-calendar2-date-fill::before { content: map-get($bootstrap-icons-map, "calendar2-date-fill"); } +.bi-calendar2-date::before { content: map-get($bootstrap-icons-map, "calendar2-date"); } +.bi-calendar2-day-fill::before { content: map-get($bootstrap-icons-map, "calendar2-day-fill"); } +.bi-calendar2-day::before { content: map-get($bootstrap-icons-map, "calendar2-day"); } +.bi-calendar2-event-fill::before { content: map-get($bootstrap-icons-map, "calendar2-event-fill"); } +.bi-calendar2-event::before { content: map-get($bootstrap-icons-map, "calendar2-event"); } +.bi-calendar2-fill::before { content: map-get($bootstrap-icons-map, "calendar2-fill"); } +.bi-calendar2-minus-fill::before { content: map-get($bootstrap-icons-map, "calendar2-minus-fill"); } +.bi-calendar2-minus::before { content: map-get($bootstrap-icons-map, "calendar2-minus"); } +.bi-calendar2-month-fill::before { content: map-get($bootstrap-icons-map, "calendar2-month-fill"); } +.bi-calendar2-month::before { content: map-get($bootstrap-icons-map, "calendar2-month"); } +.bi-calendar2-plus-fill::before { content: map-get($bootstrap-icons-map, "calendar2-plus-fill"); } +.bi-calendar2-plus::before { content: map-get($bootstrap-icons-map, "calendar2-plus"); } +.bi-calendar2-range-fill::before { content: map-get($bootstrap-icons-map, "calendar2-range-fill"); } +.bi-calendar2-range::before { content: map-get($bootstrap-icons-map, "calendar2-range"); } +.bi-calendar2-week-fill::before { content: map-get($bootstrap-icons-map, "calendar2-week-fill"); } +.bi-calendar2-week::before { content: map-get($bootstrap-icons-map, "calendar2-week"); } +.bi-calendar2-x-fill::before { content: map-get($bootstrap-icons-map, "calendar2-x-fill"); } +.bi-calendar2-x::before { content: map-get($bootstrap-icons-map, "calendar2-x"); } +.bi-calendar2::before { content: map-get($bootstrap-icons-map, "calendar2"); } +.bi-calendar3-event-fill::before { content: map-get($bootstrap-icons-map, "calendar3-event-fill"); } +.bi-calendar3-event::before { content: map-get($bootstrap-icons-map, "calendar3-event"); } +.bi-calendar3-fill::before { content: map-get($bootstrap-icons-map, "calendar3-fill"); } +.bi-calendar3-range-fill::before { content: map-get($bootstrap-icons-map, "calendar3-range-fill"); } +.bi-calendar3-range::before { content: map-get($bootstrap-icons-map, "calendar3-range"); } +.bi-calendar3-week-fill::before { content: map-get($bootstrap-icons-map, "calendar3-week-fill"); } +.bi-calendar3-week::before { content: map-get($bootstrap-icons-map, "calendar3-week"); } +.bi-calendar3::before { content: map-get($bootstrap-icons-map, "calendar3"); } +.bi-calendar4-event::before { content: map-get($bootstrap-icons-map, "calendar4-event"); } +.bi-calendar4-range::before { content: map-get($bootstrap-icons-map, "calendar4-range"); } +.bi-calendar4-week::before { content: map-get($bootstrap-icons-map, "calendar4-week"); } +.bi-calendar4::before { content: map-get($bootstrap-icons-map, "calendar4"); } +.bi-camera-fill::before { content: map-get($bootstrap-icons-map, "camera-fill"); } +.bi-camera-reels-fill::before { content: map-get($bootstrap-icons-map, "camera-reels-fill"); } +.bi-camera-reels::before { content: map-get($bootstrap-icons-map, "camera-reels"); } +.bi-camera-video-fill::before { content: map-get($bootstrap-icons-map, "camera-video-fill"); } +.bi-camera-video-off-fill::before { content: map-get($bootstrap-icons-map, "camera-video-off-fill"); } +.bi-camera-video-off::before { content: map-get($bootstrap-icons-map, "camera-video-off"); } +.bi-camera-video::before { content: map-get($bootstrap-icons-map, "camera-video"); } +.bi-camera::before { content: map-get($bootstrap-icons-map, "camera"); } +.bi-camera2::before { content: map-get($bootstrap-icons-map, "camera2"); } +.bi-capslock-fill::before { content: map-get($bootstrap-icons-map, "capslock-fill"); } +.bi-capslock::before { content: map-get($bootstrap-icons-map, "capslock"); } +.bi-card-checklist::before { content: map-get($bootstrap-icons-map, "card-checklist"); } +.bi-card-heading::before { content: map-get($bootstrap-icons-map, "card-heading"); } +.bi-card-image::before { content: map-get($bootstrap-icons-map, "card-image"); } +.bi-card-list::before { content: map-get($bootstrap-icons-map, "card-list"); } +.bi-card-text::before { content: map-get($bootstrap-icons-map, "card-text"); } +.bi-caret-down-fill::before { content: map-get($bootstrap-icons-map, "caret-down-fill"); } +.bi-caret-down-square-fill::before { content: map-get($bootstrap-icons-map, "caret-down-square-fill"); } +.bi-caret-down-square::before { content: map-get($bootstrap-icons-map, "caret-down-square"); } +.bi-caret-down::before { content: map-get($bootstrap-icons-map, "caret-down"); } +.bi-caret-left-fill::before { content: map-get($bootstrap-icons-map, "caret-left-fill"); } +.bi-caret-left-square-fill::before { content: map-get($bootstrap-icons-map, "caret-left-square-fill"); } +.bi-caret-left-square::before { content: map-get($bootstrap-icons-map, "caret-left-square"); } +.bi-caret-left::before { content: map-get($bootstrap-icons-map, "caret-left"); } +.bi-caret-right-fill::before { content: map-get($bootstrap-icons-map, "caret-right-fill"); } +.bi-caret-right-square-fill::before { content: map-get($bootstrap-icons-map, "caret-right-square-fill"); } +.bi-caret-right-square::before { content: map-get($bootstrap-icons-map, "caret-right-square"); } +.bi-caret-right::before { content: map-get($bootstrap-icons-map, "caret-right"); } +.bi-caret-up-fill::before { content: map-get($bootstrap-icons-map, "caret-up-fill"); } +.bi-caret-up-square-fill::before { content: map-get($bootstrap-icons-map, "caret-up-square-fill"); } +.bi-caret-up-square::before { content: map-get($bootstrap-icons-map, "caret-up-square"); } +.bi-caret-up::before { content: map-get($bootstrap-icons-map, "caret-up"); } +.bi-cart-check-fill::before { content: map-get($bootstrap-icons-map, "cart-check-fill"); } +.bi-cart-check::before { content: map-get($bootstrap-icons-map, "cart-check"); } +.bi-cart-dash-fill::before { content: map-get($bootstrap-icons-map, "cart-dash-fill"); } +.bi-cart-dash::before { content: map-get($bootstrap-icons-map, "cart-dash"); } +.bi-cart-fill::before { content: map-get($bootstrap-icons-map, "cart-fill"); } +.bi-cart-plus-fill::before { content: map-get($bootstrap-icons-map, "cart-plus-fill"); } +.bi-cart-plus::before { content: map-get($bootstrap-icons-map, "cart-plus"); } +.bi-cart-x-fill::before { content: map-get($bootstrap-icons-map, "cart-x-fill"); } +.bi-cart-x::before { content: map-get($bootstrap-icons-map, "cart-x"); } +.bi-cart::before { content: map-get($bootstrap-icons-map, "cart"); } +.bi-cart2::before { content: map-get($bootstrap-icons-map, "cart2"); } +.bi-cart3::before { content: map-get($bootstrap-icons-map, "cart3"); } +.bi-cart4::before { content: map-get($bootstrap-icons-map, "cart4"); } +.bi-cash-stack::before { content: map-get($bootstrap-icons-map, "cash-stack"); } +.bi-cash::before { content: map-get($bootstrap-icons-map, "cash"); } +.bi-cast::before { content: map-get($bootstrap-icons-map, "cast"); } +.bi-chat-dots-fill::before { content: map-get($bootstrap-icons-map, "chat-dots-fill"); } +.bi-chat-dots::before { content: map-get($bootstrap-icons-map, "chat-dots"); } +.bi-chat-fill::before { content: map-get($bootstrap-icons-map, "chat-fill"); } +.bi-chat-left-dots-fill::before { content: map-get($bootstrap-icons-map, "chat-left-dots-fill"); } +.bi-chat-left-dots::before { content: map-get($bootstrap-icons-map, "chat-left-dots"); } +.bi-chat-left-fill::before { content: map-get($bootstrap-icons-map, "chat-left-fill"); } +.bi-chat-left-quote-fill::before { content: map-get($bootstrap-icons-map, "chat-left-quote-fill"); } +.bi-chat-left-quote::before { content: map-get($bootstrap-icons-map, "chat-left-quote"); } +.bi-chat-left-text-fill::before { content: map-get($bootstrap-icons-map, "chat-left-text-fill"); } +.bi-chat-left-text::before { content: map-get($bootstrap-icons-map, "chat-left-text"); } +.bi-chat-left::before { content: map-get($bootstrap-icons-map, "chat-left"); } +.bi-chat-quote-fill::before { content: map-get($bootstrap-icons-map, "chat-quote-fill"); } +.bi-chat-quote::before { content: map-get($bootstrap-icons-map, "chat-quote"); } +.bi-chat-right-dots-fill::before { content: map-get($bootstrap-icons-map, "chat-right-dots-fill"); } +.bi-chat-right-dots::before { content: map-get($bootstrap-icons-map, "chat-right-dots"); } +.bi-chat-right-fill::before { content: map-get($bootstrap-icons-map, "chat-right-fill"); } +.bi-chat-right-quote-fill::before { content: map-get($bootstrap-icons-map, "chat-right-quote-fill"); } +.bi-chat-right-quote::before { content: map-get($bootstrap-icons-map, "chat-right-quote"); } +.bi-chat-right-text-fill::before { content: map-get($bootstrap-icons-map, "chat-right-text-fill"); } +.bi-chat-right-text::before { content: map-get($bootstrap-icons-map, "chat-right-text"); } +.bi-chat-right::before { content: map-get($bootstrap-icons-map, "chat-right"); } +.bi-chat-square-dots-fill::before { content: map-get($bootstrap-icons-map, "chat-square-dots-fill"); } +.bi-chat-square-dots::before { content: map-get($bootstrap-icons-map, "chat-square-dots"); } +.bi-chat-square-fill::before { content: map-get($bootstrap-icons-map, "chat-square-fill"); } +.bi-chat-square-quote-fill::before { content: map-get($bootstrap-icons-map, "chat-square-quote-fill"); } +.bi-chat-square-quote::before { content: map-get($bootstrap-icons-map, "chat-square-quote"); } +.bi-chat-square-text-fill::before { content: map-get($bootstrap-icons-map, "chat-square-text-fill"); } +.bi-chat-square-text::before { content: map-get($bootstrap-icons-map, "chat-square-text"); } +.bi-chat-square::before { content: map-get($bootstrap-icons-map, "chat-square"); } +.bi-chat-text-fill::before { content: map-get($bootstrap-icons-map, "chat-text-fill"); } +.bi-chat-text::before { content: map-get($bootstrap-icons-map, "chat-text"); } +.bi-chat::before { content: map-get($bootstrap-icons-map, "chat"); } +.bi-check-all::before { content: map-get($bootstrap-icons-map, "check-all"); } +.bi-check-circle-fill::before { content: map-get($bootstrap-icons-map, "check-circle-fill"); } +.bi-check-circle::before { content: map-get($bootstrap-icons-map, "check-circle"); } +.bi-check-square-fill::before { content: map-get($bootstrap-icons-map, "check-square-fill"); } +.bi-check-square::before { content: map-get($bootstrap-icons-map, "check-square"); } +.bi-check::before { content: map-get($bootstrap-icons-map, "check"); } +.bi-check2-all::before { content: map-get($bootstrap-icons-map, "check2-all"); } +.bi-check2-circle::before { content: map-get($bootstrap-icons-map, "check2-circle"); } +.bi-check2-square::before { content: map-get($bootstrap-icons-map, "check2-square"); } +.bi-check2::before { content: map-get($bootstrap-icons-map, "check2"); } +.bi-chevron-bar-contract::before { content: map-get($bootstrap-icons-map, "chevron-bar-contract"); } +.bi-chevron-bar-down::before { content: map-get($bootstrap-icons-map, "chevron-bar-down"); } +.bi-chevron-bar-expand::before { content: map-get($bootstrap-icons-map, "chevron-bar-expand"); } +.bi-chevron-bar-left::before { content: map-get($bootstrap-icons-map, "chevron-bar-left"); } +.bi-chevron-bar-right::before { content: map-get($bootstrap-icons-map, "chevron-bar-right"); } +.bi-chevron-bar-up::before { content: map-get($bootstrap-icons-map, "chevron-bar-up"); } +.bi-chevron-compact-down::before { content: map-get($bootstrap-icons-map, "chevron-compact-down"); } +.bi-chevron-compact-left::before { content: map-get($bootstrap-icons-map, "chevron-compact-left"); } +.bi-chevron-compact-right::before { content: map-get($bootstrap-icons-map, "chevron-compact-right"); } +.bi-chevron-compact-up::before { content: map-get($bootstrap-icons-map, "chevron-compact-up"); } +.bi-chevron-contract::before { content: map-get($bootstrap-icons-map, "chevron-contract"); } +.bi-chevron-double-down::before { content: map-get($bootstrap-icons-map, "chevron-double-down"); } +.bi-chevron-double-left::before { content: map-get($bootstrap-icons-map, "chevron-double-left"); } +.bi-chevron-double-right::before { content: map-get($bootstrap-icons-map, "chevron-double-right"); } +.bi-chevron-double-up::before { content: map-get($bootstrap-icons-map, "chevron-double-up"); } +.bi-chevron-down::before { content: map-get($bootstrap-icons-map, "chevron-down"); } +.bi-chevron-expand::before { content: map-get($bootstrap-icons-map, "chevron-expand"); } +.bi-chevron-left::before { content: map-get($bootstrap-icons-map, "chevron-left"); } +.bi-chevron-right::before { content: map-get($bootstrap-icons-map, "chevron-right"); } +.bi-chevron-up::before { content: map-get($bootstrap-icons-map, "chevron-up"); } +.bi-circle-fill::before { content: map-get($bootstrap-icons-map, "circle-fill"); } +.bi-circle-half::before { content: map-get($bootstrap-icons-map, "circle-half"); } +.bi-circle-square::before { content: map-get($bootstrap-icons-map, "circle-square"); } +.bi-circle::before { content: map-get($bootstrap-icons-map, "circle"); } +.bi-clipboard-check::before { content: map-get($bootstrap-icons-map, "clipboard-check"); } +.bi-clipboard-data::before { content: map-get($bootstrap-icons-map, "clipboard-data"); } +.bi-clipboard-minus::before { content: map-get($bootstrap-icons-map, "clipboard-minus"); } +.bi-clipboard-plus::before { content: map-get($bootstrap-icons-map, "clipboard-plus"); } +.bi-clipboard-x::before { content: map-get($bootstrap-icons-map, "clipboard-x"); } +.bi-clipboard::before { content: map-get($bootstrap-icons-map, "clipboard"); } +.bi-clock-fill::before { content: map-get($bootstrap-icons-map, "clock-fill"); } +.bi-clock-history::before { content: map-get($bootstrap-icons-map, "clock-history"); } +.bi-clock::before { content: map-get($bootstrap-icons-map, "clock"); } +.bi-cloud-arrow-down-fill::before { content: map-get($bootstrap-icons-map, "cloud-arrow-down-fill"); } +.bi-cloud-arrow-down::before { content: map-get($bootstrap-icons-map, "cloud-arrow-down"); } +.bi-cloud-arrow-up-fill::before { content: map-get($bootstrap-icons-map, "cloud-arrow-up-fill"); } +.bi-cloud-arrow-up::before { content: map-get($bootstrap-icons-map, "cloud-arrow-up"); } +.bi-cloud-check-fill::before { content: map-get($bootstrap-icons-map, "cloud-check-fill"); } +.bi-cloud-check::before { content: map-get($bootstrap-icons-map, "cloud-check"); } +.bi-cloud-download-fill::before { content: map-get($bootstrap-icons-map, "cloud-download-fill"); } +.bi-cloud-download::before { content: map-get($bootstrap-icons-map, "cloud-download"); } +.bi-cloud-drizzle-fill::before { content: map-get($bootstrap-icons-map, "cloud-drizzle-fill"); } +.bi-cloud-drizzle::before { content: map-get($bootstrap-icons-map, "cloud-drizzle"); } +.bi-cloud-fill::before { content: map-get($bootstrap-icons-map, "cloud-fill"); } +.bi-cloud-fog-fill::before { content: map-get($bootstrap-icons-map, "cloud-fog-fill"); } +.bi-cloud-fog::before { content: map-get($bootstrap-icons-map, "cloud-fog"); } +.bi-cloud-fog2-fill::before { content: map-get($bootstrap-icons-map, "cloud-fog2-fill"); } +.bi-cloud-fog2::before { content: map-get($bootstrap-icons-map, "cloud-fog2"); } +.bi-cloud-hail-fill::before { content: map-get($bootstrap-icons-map, "cloud-hail-fill"); } +.bi-cloud-hail::before { content: map-get($bootstrap-icons-map, "cloud-hail"); } +.bi-cloud-haze-1::before { content: map-get($bootstrap-icons-map, "cloud-haze-1"); } +.bi-cloud-haze-fill::before { content: map-get($bootstrap-icons-map, "cloud-haze-fill"); } +.bi-cloud-haze::before { content: map-get($bootstrap-icons-map, "cloud-haze"); } +.bi-cloud-haze2-fill::before { content: map-get($bootstrap-icons-map, "cloud-haze2-fill"); } +.bi-cloud-lightning-fill::before { content: map-get($bootstrap-icons-map, "cloud-lightning-fill"); } +.bi-cloud-lightning-rain-fill::before { content: map-get($bootstrap-icons-map, "cloud-lightning-rain-fill"); } +.bi-cloud-lightning-rain::before { content: map-get($bootstrap-icons-map, "cloud-lightning-rain"); } +.bi-cloud-lightning::before { content: map-get($bootstrap-icons-map, "cloud-lightning"); } +.bi-cloud-minus-fill::before { content: map-get($bootstrap-icons-map, "cloud-minus-fill"); } +.bi-cloud-minus::before { content: map-get($bootstrap-icons-map, "cloud-minus"); } +.bi-cloud-moon-fill::before { content: map-get($bootstrap-icons-map, "cloud-moon-fill"); } +.bi-cloud-moon::before { content: map-get($bootstrap-icons-map, "cloud-moon"); } +.bi-cloud-plus-fill::before { content: map-get($bootstrap-icons-map, "cloud-plus-fill"); } +.bi-cloud-plus::before { content: map-get($bootstrap-icons-map, "cloud-plus"); } +.bi-cloud-rain-fill::before { content: map-get($bootstrap-icons-map, "cloud-rain-fill"); } +.bi-cloud-rain-heavy-fill::before { content: map-get($bootstrap-icons-map, "cloud-rain-heavy-fill"); } +.bi-cloud-rain-heavy::before { content: map-get($bootstrap-icons-map, "cloud-rain-heavy"); } +.bi-cloud-rain::before { content: map-get($bootstrap-icons-map, "cloud-rain"); } +.bi-cloud-slash-fill::before { content: map-get($bootstrap-icons-map, "cloud-slash-fill"); } +.bi-cloud-slash::before { content: map-get($bootstrap-icons-map, "cloud-slash"); } +.bi-cloud-sleet-fill::before { content: map-get($bootstrap-icons-map, "cloud-sleet-fill"); } +.bi-cloud-sleet::before { content: map-get($bootstrap-icons-map, "cloud-sleet"); } +.bi-cloud-snow-fill::before { content: map-get($bootstrap-icons-map, "cloud-snow-fill"); } +.bi-cloud-snow::before { content: map-get($bootstrap-icons-map, "cloud-snow"); } +.bi-cloud-sun-fill::before { content: map-get($bootstrap-icons-map, "cloud-sun-fill"); } +.bi-cloud-sun::before { content: map-get($bootstrap-icons-map, "cloud-sun"); } +.bi-cloud-upload-fill::before { content: map-get($bootstrap-icons-map, "cloud-upload-fill"); } +.bi-cloud-upload::before { content: map-get($bootstrap-icons-map, "cloud-upload"); } +.bi-cloud::before { content: map-get($bootstrap-icons-map, "cloud"); } +.bi-clouds-fill::before { content: map-get($bootstrap-icons-map, "clouds-fill"); } +.bi-clouds::before { content: map-get($bootstrap-icons-map, "clouds"); } +.bi-cloudy-fill::before { content: map-get($bootstrap-icons-map, "cloudy-fill"); } +.bi-cloudy::before { content: map-get($bootstrap-icons-map, "cloudy"); } +.bi-code-slash::before { content: map-get($bootstrap-icons-map, "code-slash"); } +.bi-code-square::before { content: map-get($bootstrap-icons-map, "code-square"); } +.bi-code::before { content: map-get($bootstrap-icons-map, "code"); } +.bi-collection-fill::before { content: map-get($bootstrap-icons-map, "collection-fill"); } +.bi-collection-play-fill::before { content: map-get($bootstrap-icons-map, "collection-play-fill"); } +.bi-collection-play::before { content: map-get($bootstrap-icons-map, "collection-play"); } +.bi-collection::before { content: map-get($bootstrap-icons-map, "collection"); } +.bi-columns-gap::before { content: map-get($bootstrap-icons-map, "columns-gap"); } +.bi-columns::before { content: map-get($bootstrap-icons-map, "columns"); } +.bi-command::before { content: map-get($bootstrap-icons-map, "command"); } +.bi-compass-fill::before { content: map-get($bootstrap-icons-map, "compass-fill"); } +.bi-compass::before { content: map-get($bootstrap-icons-map, "compass"); } +.bi-cone-striped::before { content: map-get($bootstrap-icons-map, "cone-striped"); } +.bi-cone::before { content: map-get($bootstrap-icons-map, "cone"); } +.bi-controller::before { content: map-get($bootstrap-icons-map, "controller"); } +.bi-cpu-fill::before { content: map-get($bootstrap-icons-map, "cpu-fill"); } +.bi-cpu::before { content: map-get($bootstrap-icons-map, "cpu"); } +.bi-credit-card-2-back-fill::before { content: map-get($bootstrap-icons-map, "credit-card-2-back-fill"); } +.bi-credit-card-2-back::before { content: map-get($bootstrap-icons-map, "credit-card-2-back"); } +.bi-credit-card-2-front-fill::before { content: map-get($bootstrap-icons-map, "credit-card-2-front-fill"); } +.bi-credit-card-2-front::before { content: map-get($bootstrap-icons-map, "credit-card-2-front"); } +.bi-credit-card-fill::before { content: map-get($bootstrap-icons-map, "credit-card-fill"); } +.bi-credit-card::before { content: map-get($bootstrap-icons-map, "credit-card"); } +.bi-crop::before { content: map-get($bootstrap-icons-map, "crop"); } +.bi-cup-fill::before { content: map-get($bootstrap-icons-map, "cup-fill"); } +.bi-cup-straw::before { content: map-get($bootstrap-icons-map, "cup-straw"); } +.bi-cup::before { content: map-get($bootstrap-icons-map, "cup"); } +.bi-cursor-fill::before { content: map-get($bootstrap-icons-map, "cursor-fill"); } +.bi-cursor-text::before { content: map-get($bootstrap-icons-map, "cursor-text"); } +.bi-cursor::before { content: map-get($bootstrap-icons-map, "cursor"); } +.bi-dash-circle-dotted::before { content: map-get($bootstrap-icons-map, "dash-circle-dotted"); } +.bi-dash-circle-fill::before { content: map-get($bootstrap-icons-map, "dash-circle-fill"); } +.bi-dash-circle::before { content: map-get($bootstrap-icons-map, "dash-circle"); } +.bi-dash-square-dotted::before { content: map-get($bootstrap-icons-map, "dash-square-dotted"); } +.bi-dash-square-fill::before { content: map-get($bootstrap-icons-map, "dash-square-fill"); } +.bi-dash-square::before { content: map-get($bootstrap-icons-map, "dash-square"); } +.bi-dash::before { content: map-get($bootstrap-icons-map, "dash"); } +.bi-diagram-2-fill::before { content: map-get($bootstrap-icons-map, "diagram-2-fill"); } +.bi-diagram-2::before { content: map-get($bootstrap-icons-map, "diagram-2"); } +.bi-diagram-3-fill::before { content: map-get($bootstrap-icons-map, "diagram-3-fill"); } +.bi-diagram-3::before { content: map-get($bootstrap-icons-map, "diagram-3"); } +.bi-diamond-fill::before { content: map-get($bootstrap-icons-map, "diamond-fill"); } +.bi-diamond-half::before { content: map-get($bootstrap-icons-map, "diamond-half"); } +.bi-diamond::before { content: map-get($bootstrap-icons-map, "diamond"); } +.bi-dice-1-fill::before { content: map-get($bootstrap-icons-map, "dice-1-fill"); } +.bi-dice-1::before { content: map-get($bootstrap-icons-map, "dice-1"); } +.bi-dice-2-fill::before { content: map-get($bootstrap-icons-map, "dice-2-fill"); } +.bi-dice-2::before { content: map-get($bootstrap-icons-map, "dice-2"); } +.bi-dice-3-fill::before { content: map-get($bootstrap-icons-map, "dice-3-fill"); } +.bi-dice-3::before { content: map-get($bootstrap-icons-map, "dice-3"); } +.bi-dice-4-fill::before { content: map-get($bootstrap-icons-map, "dice-4-fill"); } +.bi-dice-4::before { content: map-get($bootstrap-icons-map, "dice-4"); } +.bi-dice-5-fill::before { content: map-get($bootstrap-icons-map, "dice-5-fill"); } +.bi-dice-5::before { content: map-get($bootstrap-icons-map, "dice-5"); } +.bi-dice-6-fill::before { content: map-get($bootstrap-icons-map, "dice-6-fill"); } +.bi-dice-6::before { content: map-get($bootstrap-icons-map, "dice-6"); } +.bi-disc-fill::before { content: map-get($bootstrap-icons-map, "disc-fill"); } +.bi-disc::before { content: map-get($bootstrap-icons-map, "disc"); } +.bi-discord::before { content: map-get($bootstrap-icons-map, "discord"); } +.bi-display-fill::before { content: map-get($bootstrap-icons-map, "display-fill"); } +.bi-display::before { content: map-get($bootstrap-icons-map, "display"); } +.bi-distribute-horizontal::before { content: map-get($bootstrap-icons-map, "distribute-horizontal"); } +.bi-distribute-vertical::before { content: map-get($bootstrap-icons-map, "distribute-vertical"); } +.bi-door-closed-fill::before { content: map-get($bootstrap-icons-map, "door-closed-fill"); } +.bi-door-closed::before { content: map-get($bootstrap-icons-map, "door-closed"); } +.bi-door-open-fill::before { content: map-get($bootstrap-icons-map, "door-open-fill"); } +.bi-door-open::before { content: map-get($bootstrap-icons-map, "door-open"); } +.bi-dot::before { content: map-get($bootstrap-icons-map, "dot"); } +.bi-download::before { content: map-get($bootstrap-icons-map, "download"); } +.bi-droplet-fill::before { content: map-get($bootstrap-icons-map, "droplet-fill"); } +.bi-droplet-half::before { content: map-get($bootstrap-icons-map, "droplet-half"); } +.bi-droplet::before { content: map-get($bootstrap-icons-map, "droplet"); } +.bi-earbuds::before { content: map-get($bootstrap-icons-map, "earbuds"); } +.bi-easel-fill::before { content: map-get($bootstrap-icons-map, "easel-fill"); } +.bi-easel::before { content: map-get($bootstrap-icons-map, "easel"); } +.bi-egg-fill::before { content: map-get($bootstrap-icons-map, "egg-fill"); } +.bi-egg-fried::before { content: map-get($bootstrap-icons-map, "egg-fried"); } +.bi-egg::before { content: map-get($bootstrap-icons-map, "egg"); } +.bi-eject-fill::before { content: map-get($bootstrap-icons-map, "eject-fill"); } +.bi-eject::before { content: map-get($bootstrap-icons-map, "eject"); } +.bi-emoji-angry-fill::before { content: map-get($bootstrap-icons-map, "emoji-angry-fill"); } +.bi-emoji-angry::before { content: map-get($bootstrap-icons-map, "emoji-angry"); } +.bi-emoji-dizzy-fill::before { content: map-get($bootstrap-icons-map, "emoji-dizzy-fill"); } +.bi-emoji-dizzy::before { content: map-get($bootstrap-icons-map, "emoji-dizzy"); } +.bi-emoji-expressionless-fill::before { content: map-get($bootstrap-icons-map, "emoji-expressionless-fill"); } +.bi-emoji-expressionless::before { content: map-get($bootstrap-icons-map, "emoji-expressionless"); } +.bi-emoji-frown-fill::before { content: map-get($bootstrap-icons-map, "emoji-frown-fill"); } +.bi-emoji-frown::before { content: map-get($bootstrap-icons-map, "emoji-frown"); } +.bi-emoji-heart-eyes-fill::before { content: map-get($bootstrap-icons-map, "emoji-heart-eyes-fill"); } +.bi-emoji-heart-eyes::before { content: map-get($bootstrap-icons-map, "emoji-heart-eyes"); } +.bi-emoji-laughing-fill::before { content: map-get($bootstrap-icons-map, "emoji-laughing-fill"); } +.bi-emoji-laughing::before { content: map-get($bootstrap-icons-map, "emoji-laughing"); } +.bi-emoji-neutral-fill::before { content: map-get($bootstrap-icons-map, "emoji-neutral-fill"); } +.bi-emoji-neutral::before { content: map-get($bootstrap-icons-map, "emoji-neutral"); } +.bi-emoji-smile-fill::before { content: map-get($bootstrap-icons-map, "emoji-smile-fill"); } +.bi-emoji-smile-upside-down-fill::before { content: map-get($bootstrap-icons-map, "emoji-smile-upside-down-fill"); } +.bi-emoji-smile-upside-down::before { content: map-get($bootstrap-icons-map, "emoji-smile-upside-down"); } +.bi-emoji-smile::before { content: map-get($bootstrap-icons-map, "emoji-smile"); } +.bi-emoji-sunglasses-fill::before { content: map-get($bootstrap-icons-map, "emoji-sunglasses-fill"); } +.bi-emoji-sunglasses::before { content: map-get($bootstrap-icons-map, "emoji-sunglasses"); } +.bi-emoji-wink-fill::before { content: map-get($bootstrap-icons-map, "emoji-wink-fill"); } +.bi-emoji-wink::before { content: map-get($bootstrap-icons-map, "emoji-wink"); } +.bi-envelope-fill::before { content: map-get($bootstrap-icons-map, "envelope-fill"); } +.bi-envelope-open-fill::before { content: map-get($bootstrap-icons-map, "envelope-open-fill"); } +.bi-envelope-open::before { content: map-get($bootstrap-icons-map, "envelope-open"); } +.bi-envelope::before { content: map-get($bootstrap-icons-map, "envelope"); } +.bi-eraser-fill::before { content: map-get($bootstrap-icons-map, "eraser-fill"); } +.bi-eraser::before { content: map-get($bootstrap-icons-map, "eraser"); } +.bi-exclamation-circle-fill::before { content: map-get($bootstrap-icons-map, "exclamation-circle-fill"); } +.bi-exclamation-circle::before { content: map-get($bootstrap-icons-map, "exclamation-circle"); } +.bi-exclamation-diamond-fill::before { content: map-get($bootstrap-icons-map, "exclamation-diamond-fill"); } +.bi-exclamation-diamond::before { content: map-get($bootstrap-icons-map, "exclamation-diamond"); } +.bi-exclamation-octagon-fill::before { content: map-get($bootstrap-icons-map, "exclamation-octagon-fill"); } +.bi-exclamation-octagon::before { content: map-get($bootstrap-icons-map, "exclamation-octagon"); } +.bi-exclamation-square-fill::before { content: map-get($bootstrap-icons-map, "exclamation-square-fill"); } +.bi-exclamation-square::before { content: map-get($bootstrap-icons-map, "exclamation-square"); } +.bi-exclamation-triangle-fill::before { content: map-get($bootstrap-icons-map, "exclamation-triangle-fill"); } +.bi-exclamation-triangle::before { content: map-get($bootstrap-icons-map, "exclamation-triangle"); } +.bi-exclamation::before { content: map-get($bootstrap-icons-map, "exclamation"); } +.bi-exclude::before { content: map-get($bootstrap-icons-map, "exclude"); } +.bi-eye-fill::before { content: map-get($bootstrap-icons-map, "eye-fill"); } +.bi-eye-slash-fill::before { content: map-get($bootstrap-icons-map, "eye-slash-fill"); } +.bi-eye-slash::before { content: map-get($bootstrap-icons-map, "eye-slash"); } +.bi-eye::before { content: map-get($bootstrap-icons-map, "eye"); } +.bi-eyedropper::before { content: map-get($bootstrap-icons-map, "eyedropper"); } +.bi-eyeglasses::before { content: map-get($bootstrap-icons-map, "eyeglasses"); } +.bi-facebook::before { content: map-get($bootstrap-icons-map, "facebook"); } +.bi-file-arrow-down-fill::before { content: map-get($bootstrap-icons-map, "file-arrow-down-fill"); } +.bi-file-arrow-down::before { content: map-get($bootstrap-icons-map, "file-arrow-down"); } +.bi-file-arrow-up-fill::before { content: map-get($bootstrap-icons-map, "file-arrow-up-fill"); } +.bi-file-arrow-up::before { content: map-get($bootstrap-icons-map, "file-arrow-up"); } +.bi-file-bar-graph-fill::before { content: map-get($bootstrap-icons-map, "file-bar-graph-fill"); } +.bi-file-bar-graph::before { content: map-get($bootstrap-icons-map, "file-bar-graph"); } +.bi-file-binary-fill::before { content: map-get($bootstrap-icons-map, "file-binary-fill"); } +.bi-file-binary::before { content: map-get($bootstrap-icons-map, "file-binary"); } +.bi-file-break-fill::before { content: map-get($bootstrap-icons-map, "file-break-fill"); } +.bi-file-break::before { content: map-get($bootstrap-icons-map, "file-break"); } +.bi-file-check-fill::before { content: map-get($bootstrap-icons-map, "file-check-fill"); } +.bi-file-check::before { content: map-get($bootstrap-icons-map, "file-check"); } +.bi-file-code-fill::before { content: map-get($bootstrap-icons-map, "file-code-fill"); } +.bi-file-code::before { content: map-get($bootstrap-icons-map, "file-code"); } +.bi-file-diff-fill::before { content: map-get($bootstrap-icons-map, "file-diff-fill"); } +.bi-file-diff::before { content: map-get($bootstrap-icons-map, "file-diff"); } +.bi-file-earmark-arrow-down-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-arrow-down-fill"); } +.bi-file-earmark-arrow-down::before { content: map-get($bootstrap-icons-map, "file-earmark-arrow-down"); } +.bi-file-earmark-arrow-up-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-arrow-up-fill"); } +.bi-file-earmark-arrow-up::before { content: map-get($bootstrap-icons-map, "file-earmark-arrow-up"); } +.bi-file-earmark-bar-graph-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-bar-graph-fill"); } +.bi-file-earmark-bar-graph::before { content: map-get($bootstrap-icons-map, "file-earmark-bar-graph"); } +.bi-file-earmark-binary-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-binary-fill"); } +.bi-file-earmark-binary::before { content: map-get($bootstrap-icons-map, "file-earmark-binary"); } +.bi-file-earmark-break-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-break-fill"); } +.bi-file-earmark-break::before { content: map-get($bootstrap-icons-map, "file-earmark-break"); } +.bi-file-earmark-check-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-check-fill"); } +.bi-file-earmark-check::before { content: map-get($bootstrap-icons-map, "file-earmark-check"); } +.bi-file-earmark-code-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-code-fill"); } +.bi-file-earmark-code::before { content: map-get($bootstrap-icons-map, "file-earmark-code"); } +.bi-file-earmark-diff-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-diff-fill"); } +.bi-file-earmark-diff::before { content: map-get($bootstrap-icons-map, "file-earmark-diff"); } +.bi-file-earmark-easel-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-easel-fill"); } +.bi-file-earmark-easel::before { content: map-get($bootstrap-icons-map, "file-earmark-easel"); } +.bi-file-earmark-excel-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-excel-fill"); } +.bi-file-earmark-excel::before { content: map-get($bootstrap-icons-map, "file-earmark-excel"); } +.bi-file-earmark-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-fill"); } +.bi-file-earmark-font-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-font-fill"); } +.bi-file-earmark-font::before { content: map-get($bootstrap-icons-map, "file-earmark-font"); } +.bi-file-earmark-image-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-image-fill"); } +.bi-file-earmark-image::before { content: map-get($bootstrap-icons-map, "file-earmark-image"); } +.bi-file-earmark-lock-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-lock-fill"); } +.bi-file-earmark-lock::before { content: map-get($bootstrap-icons-map, "file-earmark-lock"); } +.bi-file-earmark-lock2-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-lock2-fill"); } +.bi-file-earmark-lock2::before { content: map-get($bootstrap-icons-map, "file-earmark-lock2"); } +.bi-file-earmark-medical-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-medical-fill"); } +.bi-file-earmark-medical::before { content: map-get($bootstrap-icons-map, "file-earmark-medical"); } +.bi-file-earmark-minus-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-minus-fill"); } +.bi-file-earmark-minus::before { content: map-get($bootstrap-icons-map, "file-earmark-minus"); } +.bi-file-earmark-music-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-music-fill"); } +.bi-file-earmark-music::before { content: map-get($bootstrap-icons-map, "file-earmark-music"); } +.bi-file-earmark-person-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-person-fill"); } +.bi-file-earmark-person::before { content: map-get($bootstrap-icons-map, "file-earmark-person"); } +.bi-file-earmark-play-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-play-fill"); } +.bi-file-earmark-play::before { content: map-get($bootstrap-icons-map, "file-earmark-play"); } +.bi-file-earmark-plus-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-plus-fill"); } +.bi-file-earmark-plus::before { content: map-get($bootstrap-icons-map, "file-earmark-plus"); } +.bi-file-earmark-post-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-post-fill"); } +.bi-file-earmark-post::before { content: map-get($bootstrap-icons-map, "file-earmark-post"); } +.bi-file-earmark-ppt-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-ppt-fill"); } +.bi-file-earmark-ppt::before { content: map-get($bootstrap-icons-map, "file-earmark-ppt"); } +.bi-file-earmark-richtext-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-richtext-fill"); } +.bi-file-earmark-richtext::before { content: map-get($bootstrap-icons-map, "file-earmark-richtext"); } +.bi-file-earmark-ruled-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-ruled-fill"); } +.bi-file-earmark-ruled::before { content: map-get($bootstrap-icons-map, "file-earmark-ruled"); } +.bi-file-earmark-slides-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-slides-fill"); } +.bi-file-earmark-slides::before { content: map-get($bootstrap-icons-map, "file-earmark-slides"); } +.bi-file-earmark-spreadsheet-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-spreadsheet-fill"); } +.bi-file-earmark-spreadsheet::before { content: map-get($bootstrap-icons-map, "file-earmark-spreadsheet"); } +.bi-file-earmark-text-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-text-fill"); } +.bi-file-earmark-text::before { content: map-get($bootstrap-icons-map, "file-earmark-text"); } +.bi-file-earmark-word-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-word-fill"); } +.bi-file-earmark-word::before { content: map-get($bootstrap-icons-map, "file-earmark-word"); } +.bi-file-earmark-x-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-x-fill"); } +.bi-file-earmark-x::before { content: map-get($bootstrap-icons-map, "file-earmark-x"); } +.bi-file-earmark-zip-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-zip-fill"); } +.bi-file-earmark-zip::before { content: map-get($bootstrap-icons-map, "file-earmark-zip"); } +.bi-file-earmark::before { content: map-get($bootstrap-icons-map, "file-earmark"); } +.bi-file-easel-fill::before { content: map-get($bootstrap-icons-map, "file-easel-fill"); } +.bi-file-easel::before { content: map-get($bootstrap-icons-map, "file-easel"); } +.bi-file-excel-fill::before { content: map-get($bootstrap-icons-map, "file-excel-fill"); } +.bi-file-excel::before { content: map-get($bootstrap-icons-map, "file-excel"); } +.bi-file-fill::before { content: map-get($bootstrap-icons-map, "file-fill"); } +.bi-file-font-fill::before { content: map-get($bootstrap-icons-map, "file-font-fill"); } +.bi-file-font::before { content: map-get($bootstrap-icons-map, "file-font"); } +.bi-file-image-fill::before { content: map-get($bootstrap-icons-map, "file-image-fill"); } +.bi-file-image::before { content: map-get($bootstrap-icons-map, "file-image"); } +.bi-file-lock-fill::before { content: map-get($bootstrap-icons-map, "file-lock-fill"); } +.bi-file-lock::before { content: map-get($bootstrap-icons-map, "file-lock"); } +.bi-file-lock2-fill::before { content: map-get($bootstrap-icons-map, "file-lock2-fill"); } +.bi-file-lock2::before { content: map-get($bootstrap-icons-map, "file-lock2"); } +.bi-file-medical-fill::before { content: map-get($bootstrap-icons-map, "file-medical-fill"); } +.bi-file-medical::before { content: map-get($bootstrap-icons-map, "file-medical"); } +.bi-file-minus-fill::before { content: map-get($bootstrap-icons-map, "file-minus-fill"); } +.bi-file-minus::before { content: map-get($bootstrap-icons-map, "file-minus"); } +.bi-file-music-fill::before { content: map-get($bootstrap-icons-map, "file-music-fill"); } +.bi-file-music::before { content: map-get($bootstrap-icons-map, "file-music"); } +.bi-file-person-fill::before { content: map-get($bootstrap-icons-map, "file-person-fill"); } +.bi-file-person::before { content: map-get($bootstrap-icons-map, "file-person"); } +.bi-file-play-fill::before { content: map-get($bootstrap-icons-map, "file-play-fill"); } +.bi-file-play::before { content: map-get($bootstrap-icons-map, "file-play"); } +.bi-file-plus-fill::before { content: map-get($bootstrap-icons-map, "file-plus-fill"); } +.bi-file-plus::before { content: map-get($bootstrap-icons-map, "file-plus"); } +.bi-file-post-fill::before { content: map-get($bootstrap-icons-map, "file-post-fill"); } +.bi-file-post::before { content: map-get($bootstrap-icons-map, "file-post"); } +.bi-file-ppt-fill::before { content: map-get($bootstrap-icons-map, "file-ppt-fill"); } +.bi-file-ppt::before { content: map-get($bootstrap-icons-map, "file-ppt"); } +.bi-file-richtext-fill::before { content: map-get($bootstrap-icons-map, "file-richtext-fill"); } +.bi-file-richtext::before { content: map-get($bootstrap-icons-map, "file-richtext"); } +.bi-file-ruled-fill::before { content: map-get($bootstrap-icons-map, "file-ruled-fill"); } +.bi-file-ruled::before { content: map-get($bootstrap-icons-map, "file-ruled"); } +.bi-file-slides-fill::before { content: map-get($bootstrap-icons-map, "file-slides-fill"); } +.bi-file-slides::before { content: map-get($bootstrap-icons-map, "file-slides"); } +.bi-file-spreadsheet-fill::before { content: map-get($bootstrap-icons-map, "file-spreadsheet-fill"); } +.bi-file-spreadsheet::before { content: map-get($bootstrap-icons-map, "file-spreadsheet"); } +.bi-file-text-fill::before { content: map-get($bootstrap-icons-map, "file-text-fill"); } +.bi-file-text::before { content: map-get($bootstrap-icons-map, "file-text"); } +.bi-file-word-fill::before { content: map-get($bootstrap-icons-map, "file-word-fill"); } +.bi-file-word::before { content: map-get($bootstrap-icons-map, "file-word"); } +.bi-file-x-fill::before { content: map-get($bootstrap-icons-map, "file-x-fill"); } +.bi-file-x::before { content: map-get($bootstrap-icons-map, "file-x"); } +.bi-file-zip-fill::before { content: map-get($bootstrap-icons-map, "file-zip-fill"); } +.bi-file-zip::before { content: map-get($bootstrap-icons-map, "file-zip"); } +.bi-file::before { content: map-get($bootstrap-icons-map, "file"); } +.bi-files-alt::before { content: map-get($bootstrap-icons-map, "files-alt"); } +.bi-files::before { content: map-get($bootstrap-icons-map, "files"); } +.bi-film::before { content: map-get($bootstrap-icons-map, "film"); } +.bi-filter-circle-fill::before { content: map-get($bootstrap-icons-map, "filter-circle-fill"); } +.bi-filter-circle::before { content: map-get($bootstrap-icons-map, "filter-circle"); } +.bi-filter-left::before { content: map-get($bootstrap-icons-map, "filter-left"); } +.bi-filter-right::before { content: map-get($bootstrap-icons-map, "filter-right"); } +.bi-filter-square-fill::before { content: map-get($bootstrap-icons-map, "filter-square-fill"); } +.bi-filter-square::before { content: map-get($bootstrap-icons-map, "filter-square"); } +.bi-filter::before { content: map-get($bootstrap-icons-map, "filter"); } +.bi-flag-fill::before { content: map-get($bootstrap-icons-map, "flag-fill"); } +.bi-flag::before { content: map-get($bootstrap-icons-map, "flag"); } +.bi-flower1::before { content: map-get($bootstrap-icons-map, "flower1"); } +.bi-flower2::before { content: map-get($bootstrap-icons-map, "flower2"); } +.bi-flower3::before { content: map-get($bootstrap-icons-map, "flower3"); } +.bi-folder-check::before { content: map-get($bootstrap-icons-map, "folder-check"); } +.bi-folder-fill::before { content: map-get($bootstrap-icons-map, "folder-fill"); } +.bi-folder-minus::before { content: map-get($bootstrap-icons-map, "folder-minus"); } +.bi-folder-plus::before { content: map-get($bootstrap-icons-map, "folder-plus"); } +.bi-folder-symlink-fill::before { content: map-get($bootstrap-icons-map, "folder-symlink-fill"); } +.bi-folder-symlink::before { content: map-get($bootstrap-icons-map, "folder-symlink"); } +.bi-folder-x::before { content: map-get($bootstrap-icons-map, "folder-x"); } +.bi-folder::before { content: map-get($bootstrap-icons-map, "folder"); } +.bi-folder2-open::before { content: map-get($bootstrap-icons-map, "folder2-open"); } +.bi-folder2::before { content: map-get($bootstrap-icons-map, "folder2"); } +.bi-fonts::before { content: map-get($bootstrap-icons-map, "fonts"); } +.bi-forward-fill::before { content: map-get($bootstrap-icons-map, "forward-fill"); } +.bi-forward::before { content: map-get($bootstrap-icons-map, "forward"); } +.bi-front::before { content: map-get($bootstrap-icons-map, "front"); } +.bi-fullscreen-exit::before { content: map-get($bootstrap-icons-map, "fullscreen-exit"); } +.bi-fullscreen::before { content: map-get($bootstrap-icons-map, "fullscreen"); } +.bi-funnel-fill::before { content: map-get($bootstrap-icons-map, "funnel-fill"); } +.bi-funnel::before { content: map-get($bootstrap-icons-map, "funnel"); } +.bi-gear-fill::before { content: map-get($bootstrap-icons-map, "gear-fill"); } +.bi-gear-wide-connected::before { content: map-get($bootstrap-icons-map, "gear-wide-connected"); } +.bi-gear-wide::before { content: map-get($bootstrap-icons-map, "gear-wide"); } +.bi-gear::before { content: map-get($bootstrap-icons-map, "gear"); } +.bi-gem::before { content: map-get($bootstrap-icons-map, "gem"); } +.bi-geo-alt-fill::before { content: map-get($bootstrap-icons-map, "geo-alt-fill"); } +.bi-geo-alt::before { content: map-get($bootstrap-icons-map, "geo-alt"); } +.bi-geo-fill::before { content: map-get($bootstrap-icons-map, "geo-fill"); } +.bi-geo::before { content: map-get($bootstrap-icons-map, "geo"); } +.bi-gift-fill::before { content: map-get($bootstrap-icons-map, "gift-fill"); } +.bi-gift::before { content: map-get($bootstrap-icons-map, "gift"); } +.bi-github::before { content: map-get($bootstrap-icons-map, "github"); } +.bi-globe::before { content: map-get($bootstrap-icons-map, "globe"); } +.bi-globe2::before { content: map-get($bootstrap-icons-map, "globe2"); } +.bi-google::before { content: map-get($bootstrap-icons-map, "google"); } +.bi-graph-down::before { content: map-get($bootstrap-icons-map, "graph-down"); } +.bi-graph-up::before { content: map-get($bootstrap-icons-map, "graph-up"); } +.bi-grid-1x2-fill::before { content: map-get($bootstrap-icons-map, "grid-1x2-fill"); } +.bi-grid-1x2::before { content: map-get($bootstrap-icons-map, "grid-1x2"); } +.bi-grid-3x2-gap-fill::before { content: map-get($bootstrap-icons-map, "grid-3x2-gap-fill"); } +.bi-grid-3x2-gap::before { content: map-get($bootstrap-icons-map, "grid-3x2-gap"); } +.bi-grid-3x2::before { content: map-get($bootstrap-icons-map, "grid-3x2"); } +.bi-grid-3x3-gap-fill::before { content: map-get($bootstrap-icons-map, "grid-3x3-gap-fill"); } +.bi-grid-3x3-gap::before { content: map-get($bootstrap-icons-map, "grid-3x3-gap"); } +.bi-grid-3x3::before { content: map-get($bootstrap-icons-map, "grid-3x3"); } +.bi-grid-fill::before { content: map-get($bootstrap-icons-map, "grid-fill"); } +.bi-grid::before { content: map-get($bootstrap-icons-map, "grid"); } +.bi-grip-horizontal::before { content: map-get($bootstrap-icons-map, "grip-horizontal"); } +.bi-grip-vertical::before { content: map-get($bootstrap-icons-map, "grip-vertical"); } +.bi-hammer::before { content: map-get($bootstrap-icons-map, "hammer"); } +.bi-hand-index-fill::before { content: map-get($bootstrap-icons-map, "hand-index-fill"); } +.bi-hand-index-thumb-fill::before { content: map-get($bootstrap-icons-map, "hand-index-thumb-fill"); } +.bi-hand-index-thumb::before { content: map-get($bootstrap-icons-map, "hand-index-thumb"); } +.bi-hand-index::before { content: map-get($bootstrap-icons-map, "hand-index"); } +.bi-hand-thumbs-down-fill::before { content: map-get($bootstrap-icons-map, "hand-thumbs-down-fill"); } +.bi-hand-thumbs-down::before { content: map-get($bootstrap-icons-map, "hand-thumbs-down"); } +.bi-hand-thumbs-up-fill::before { content: map-get($bootstrap-icons-map, "hand-thumbs-up-fill"); } +.bi-hand-thumbs-up::before { content: map-get($bootstrap-icons-map, "hand-thumbs-up"); } +.bi-handbag-fill::before { content: map-get($bootstrap-icons-map, "handbag-fill"); } +.bi-handbag::before { content: map-get($bootstrap-icons-map, "handbag"); } +.bi-hash::before { content: map-get($bootstrap-icons-map, "hash"); } +.bi-hdd-fill::before { content: map-get($bootstrap-icons-map, "hdd-fill"); } +.bi-hdd-network-fill::before { content: map-get($bootstrap-icons-map, "hdd-network-fill"); } +.bi-hdd-network::before { content: map-get($bootstrap-icons-map, "hdd-network"); } +.bi-hdd-rack-fill::before { content: map-get($bootstrap-icons-map, "hdd-rack-fill"); } +.bi-hdd-rack::before { content: map-get($bootstrap-icons-map, "hdd-rack"); } +.bi-hdd-stack-fill::before { content: map-get($bootstrap-icons-map, "hdd-stack-fill"); } +.bi-hdd-stack::before { content: map-get($bootstrap-icons-map, "hdd-stack"); } +.bi-hdd::before { content: map-get($bootstrap-icons-map, "hdd"); } +.bi-headphones::before { content: map-get($bootstrap-icons-map, "headphones"); } +.bi-headset::before { content: map-get($bootstrap-icons-map, "headset"); } +.bi-heart-fill::before { content: map-get($bootstrap-icons-map, "heart-fill"); } +.bi-heart-half::before { content: map-get($bootstrap-icons-map, "heart-half"); } +.bi-heart::before { content: map-get($bootstrap-icons-map, "heart"); } +.bi-heptagon-fill::before { content: map-get($bootstrap-icons-map, "heptagon-fill"); } +.bi-heptagon-half::before { content: map-get($bootstrap-icons-map, "heptagon-half"); } +.bi-heptagon::before { content: map-get($bootstrap-icons-map, "heptagon"); } +.bi-hexagon-fill::before { content: map-get($bootstrap-icons-map, "hexagon-fill"); } +.bi-hexagon-half::before { content: map-get($bootstrap-icons-map, "hexagon-half"); } +.bi-hexagon::before { content: map-get($bootstrap-icons-map, "hexagon"); } +.bi-hourglass-bottom::before { content: map-get($bootstrap-icons-map, "hourglass-bottom"); } +.bi-hourglass-split::before { content: map-get($bootstrap-icons-map, "hourglass-split"); } +.bi-hourglass-top::before { content: map-get($bootstrap-icons-map, "hourglass-top"); } +.bi-hourglass::before { content: map-get($bootstrap-icons-map, "hourglass"); } +.bi-house-door-fill::before { content: map-get($bootstrap-icons-map, "house-door-fill"); } +.bi-house-door::before { content: map-get($bootstrap-icons-map, "house-door"); } +.bi-house-fill::before { content: map-get($bootstrap-icons-map, "house-fill"); } +.bi-house::before { content: map-get($bootstrap-icons-map, "house"); } +.bi-hr::before { content: map-get($bootstrap-icons-map, "hr"); } +.bi-hurricane::before { content: map-get($bootstrap-icons-map, "hurricane"); } +.bi-image-alt::before { content: map-get($bootstrap-icons-map, "image-alt"); } +.bi-image-fill::before { content: map-get($bootstrap-icons-map, "image-fill"); } +.bi-image::before { content: map-get($bootstrap-icons-map, "image"); } +.bi-images::before { content: map-get($bootstrap-icons-map, "images"); } +.bi-inbox-fill::before { content: map-get($bootstrap-icons-map, "inbox-fill"); } +.bi-inbox::before { content: map-get($bootstrap-icons-map, "inbox"); } +.bi-inboxes-fill::before { content: map-get($bootstrap-icons-map, "inboxes-fill"); } +.bi-inboxes::before { content: map-get($bootstrap-icons-map, "inboxes"); } +.bi-info-circle-fill::before { content: map-get($bootstrap-icons-map, "info-circle-fill"); } +.bi-info-circle::before { content: map-get($bootstrap-icons-map, "info-circle"); } +.bi-info-square-fill::before { content: map-get($bootstrap-icons-map, "info-square-fill"); } +.bi-info-square::before { content: map-get($bootstrap-icons-map, "info-square"); } +.bi-info::before { content: map-get($bootstrap-icons-map, "info"); } +.bi-input-cursor-text::before { content: map-get($bootstrap-icons-map, "input-cursor-text"); } +.bi-input-cursor::before { content: map-get($bootstrap-icons-map, "input-cursor"); } +.bi-instagram::before { content: map-get($bootstrap-icons-map, "instagram"); } +.bi-intersect::before { content: map-get($bootstrap-icons-map, "intersect"); } +.bi-journal-album::before { content: map-get($bootstrap-icons-map, "journal-album"); } +.bi-journal-arrow-down::before { content: map-get($bootstrap-icons-map, "journal-arrow-down"); } +.bi-journal-arrow-up::before { content: map-get($bootstrap-icons-map, "journal-arrow-up"); } +.bi-journal-bookmark-fill::before { content: map-get($bootstrap-icons-map, "journal-bookmark-fill"); } +.bi-journal-bookmark::before { content: map-get($bootstrap-icons-map, "journal-bookmark"); } +.bi-journal-check::before { content: map-get($bootstrap-icons-map, "journal-check"); } +.bi-journal-code::before { content: map-get($bootstrap-icons-map, "journal-code"); } +.bi-journal-medical::before { content: map-get($bootstrap-icons-map, "journal-medical"); } +.bi-journal-minus::before { content: map-get($bootstrap-icons-map, "journal-minus"); } +.bi-journal-plus::before { content: map-get($bootstrap-icons-map, "journal-plus"); } +.bi-journal-richtext::before { content: map-get($bootstrap-icons-map, "journal-richtext"); } +.bi-journal-text::before { content: map-get($bootstrap-icons-map, "journal-text"); } +.bi-journal-x::before { content: map-get($bootstrap-icons-map, "journal-x"); } +.bi-journal::before { content: map-get($bootstrap-icons-map, "journal"); } +.bi-journals::before { content: map-get($bootstrap-icons-map, "journals"); } +.bi-joystick::before { content: map-get($bootstrap-icons-map, "joystick"); } +.bi-justify-left::before { content: map-get($bootstrap-icons-map, "justify-left"); } +.bi-justify-right::before { content: map-get($bootstrap-icons-map, "justify-right"); } +.bi-justify::before { content: map-get($bootstrap-icons-map, "justify"); } +.bi-kanban-fill::before { content: map-get($bootstrap-icons-map, "kanban-fill"); } +.bi-kanban::before { content: map-get($bootstrap-icons-map, "kanban"); } +.bi-key-fill::before { content: map-get($bootstrap-icons-map, "key-fill"); } +.bi-key::before { content: map-get($bootstrap-icons-map, "key"); } +.bi-keyboard-fill::before { content: map-get($bootstrap-icons-map, "keyboard-fill"); } +.bi-keyboard::before { content: map-get($bootstrap-icons-map, "keyboard"); } +.bi-ladder::before { content: map-get($bootstrap-icons-map, "ladder"); } +.bi-lamp-fill::before { content: map-get($bootstrap-icons-map, "lamp-fill"); } +.bi-lamp::before { content: map-get($bootstrap-icons-map, "lamp"); } +.bi-laptop-fill::before { content: map-get($bootstrap-icons-map, "laptop-fill"); } +.bi-laptop::before { content: map-get($bootstrap-icons-map, "laptop"); } +.bi-layer-backward::before { content: map-get($bootstrap-icons-map, "layer-backward"); } +.bi-layer-forward::before { content: map-get($bootstrap-icons-map, "layer-forward"); } +.bi-layers-fill::before { content: map-get($bootstrap-icons-map, "layers-fill"); } +.bi-layers-half::before { content: map-get($bootstrap-icons-map, "layers-half"); } +.bi-layers::before { content: map-get($bootstrap-icons-map, "layers"); } +.bi-layout-sidebar-inset-reverse::before { content: map-get($bootstrap-icons-map, "layout-sidebar-inset-reverse"); } +.bi-layout-sidebar-inset::before { content: map-get($bootstrap-icons-map, "layout-sidebar-inset"); } +.bi-layout-sidebar-reverse::before { content: map-get($bootstrap-icons-map, "layout-sidebar-reverse"); } +.bi-layout-sidebar::before { content: map-get($bootstrap-icons-map, "layout-sidebar"); } +.bi-layout-split::before { content: map-get($bootstrap-icons-map, "layout-split"); } +.bi-layout-text-sidebar-reverse::before { content: map-get($bootstrap-icons-map, "layout-text-sidebar-reverse"); } +.bi-layout-text-sidebar::before { content: map-get($bootstrap-icons-map, "layout-text-sidebar"); } +.bi-layout-text-window-reverse::before { content: map-get($bootstrap-icons-map, "layout-text-window-reverse"); } +.bi-layout-text-window::before { content: map-get($bootstrap-icons-map, "layout-text-window"); } +.bi-layout-three-columns::before { content: map-get($bootstrap-icons-map, "layout-three-columns"); } +.bi-layout-wtf::before { content: map-get($bootstrap-icons-map, "layout-wtf"); } +.bi-life-preserver::before { content: map-get($bootstrap-icons-map, "life-preserver"); } +.bi-lightbulb-fill::before { content: map-get($bootstrap-icons-map, "lightbulb-fill"); } +.bi-lightbulb-off-fill::before { content: map-get($bootstrap-icons-map, "lightbulb-off-fill"); } +.bi-lightbulb-off::before { content: map-get($bootstrap-icons-map, "lightbulb-off"); } +.bi-lightbulb::before { content: map-get($bootstrap-icons-map, "lightbulb"); } +.bi-lightning-charge-fill::before { content: map-get($bootstrap-icons-map, "lightning-charge-fill"); } +.bi-lightning-charge::before { content: map-get($bootstrap-icons-map, "lightning-charge"); } +.bi-lightning-fill::before { content: map-get($bootstrap-icons-map, "lightning-fill"); } +.bi-lightning::before { content: map-get($bootstrap-icons-map, "lightning"); } +.bi-link-45deg::before { content: map-get($bootstrap-icons-map, "link-45deg"); } +.bi-link::before { content: map-get($bootstrap-icons-map, "link"); } +.bi-linkedin::before { content: map-get($bootstrap-icons-map, "linkedin"); } +.bi-list-check::before { content: map-get($bootstrap-icons-map, "list-check"); } +.bi-list-nested::before { content: map-get($bootstrap-icons-map, "list-nested"); } +.bi-list-ol::before { content: map-get($bootstrap-icons-map, "list-ol"); } +.bi-list-stars::before { content: map-get($bootstrap-icons-map, "list-stars"); } +.bi-list-task::before { content: map-get($bootstrap-icons-map, "list-task"); } +.bi-list-ul::before { content: map-get($bootstrap-icons-map, "list-ul"); } +.bi-list::before { content: map-get($bootstrap-icons-map, "list"); } +.bi-lock-fill::before { content: map-get($bootstrap-icons-map, "lock-fill"); } +.bi-lock::before { content: map-get($bootstrap-icons-map, "lock"); } +.bi-mailbox::before { content: map-get($bootstrap-icons-map, "mailbox"); } +.bi-mailbox2::before { content: map-get($bootstrap-icons-map, "mailbox2"); } +.bi-map-fill::before { content: map-get($bootstrap-icons-map, "map-fill"); } +.bi-map::before { content: map-get($bootstrap-icons-map, "map"); } +.bi-markdown-fill::before { content: map-get($bootstrap-icons-map, "markdown-fill"); } +.bi-markdown::before { content: map-get($bootstrap-icons-map, "markdown"); } +.bi-mask::before { content: map-get($bootstrap-icons-map, "mask"); } +.bi-megaphone-fill::before { content: map-get($bootstrap-icons-map, "megaphone-fill"); } +.bi-megaphone::before { content: map-get($bootstrap-icons-map, "megaphone"); } +.bi-menu-app-fill::before { content: map-get($bootstrap-icons-map, "menu-app-fill"); } +.bi-menu-app::before { content: map-get($bootstrap-icons-map, "menu-app"); } +.bi-menu-button-fill::before { content: map-get($bootstrap-icons-map, "menu-button-fill"); } +.bi-menu-button-wide-fill::before { content: map-get($bootstrap-icons-map, "menu-button-wide-fill"); } +.bi-menu-button-wide::before { content: map-get($bootstrap-icons-map, "menu-button-wide"); } +.bi-menu-button::before { content: map-get($bootstrap-icons-map, "menu-button"); } +.bi-menu-down::before { content: map-get($bootstrap-icons-map, "menu-down"); } +.bi-menu-up::before { content: map-get($bootstrap-icons-map, "menu-up"); } +.bi-mic-fill::before { content: map-get($bootstrap-icons-map, "mic-fill"); } +.bi-mic-mute-fill::before { content: map-get($bootstrap-icons-map, "mic-mute-fill"); } +.bi-mic-mute::before { content: map-get($bootstrap-icons-map, "mic-mute"); } +.bi-mic::before { content: map-get($bootstrap-icons-map, "mic"); } +.bi-minecart-loaded::before { content: map-get($bootstrap-icons-map, "minecart-loaded"); } +.bi-minecart::before { content: map-get($bootstrap-icons-map, "minecart"); } +.bi-moisture::before { content: map-get($bootstrap-icons-map, "moisture"); } +.bi-moon-fill::before { content: map-get($bootstrap-icons-map, "moon-fill"); } +.bi-moon-stars-fill::before { content: map-get($bootstrap-icons-map, "moon-stars-fill"); } +.bi-moon-stars::before { content: map-get($bootstrap-icons-map, "moon-stars"); } +.bi-moon::before { content: map-get($bootstrap-icons-map, "moon"); } +.bi-mouse-fill::before { content: map-get($bootstrap-icons-map, "mouse-fill"); } +.bi-mouse::before { content: map-get($bootstrap-icons-map, "mouse"); } +.bi-mouse2-fill::before { content: map-get($bootstrap-icons-map, "mouse2-fill"); } +.bi-mouse2::before { content: map-get($bootstrap-icons-map, "mouse2"); } +.bi-mouse3-fill::before { content: map-get($bootstrap-icons-map, "mouse3-fill"); } +.bi-mouse3::before { content: map-get($bootstrap-icons-map, "mouse3"); } +.bi-music-note-beamed::before { content: map-get($bootstrap-icons-map, "music-note-beamed"); } +.bi-music-note-list::before { content: map-get($bootstrap-icons-map, "music-note-list"); } +.bi-music-note::before { content: map-get($bootstrap-icons-map, "music-note"); } +.bi-music-player-fill::before { content: map-get($bootstrap-icons-map, "music-player-fill"); } +.bi-music-player::before { content: map-get($bootstrap-icons-map, "music-player"); } +.bi-newspaper::before { content: map-get($bootstrap-icons-map, "newspaper"); } +.bi-node-minus-fill::before { content: map-get($bootstrap-icons-map, "node-minus-fill"); } +.bi-node-minus::before { content: map-get($bootstrap-icons-map, "node-minus"); } +.bi-node-plus-fill::before { content: map-get($bootstrap-icons-map, "node-plus-fill"); } +.bi-node-plus::before { content: map-get($bootstrap-icons-map, "node-plus"); } +.bi-nut-fill::before { content: map-get($bootstrap-icons-map, "nut-fill"); } +.bi-nut::before { content: map-get($bootstrap-icons-map, "nut"); } +.bi-octagon-fill::before { content: map-get($bootstrap-icons-map, "octagon-fill"); } +.bi-octagon-half::before { content: map-get($bootstrap-icons-map, "octagon-half"); } +.bi-octagon::before { content: map-get($bootstrap-icons-map, "octagon"); } +.bi-option::before { content: map-get($bootstrap-icons-map, "option"); } +.bi-outlet::before { content: map-get($bootstrap-icons-map, "outlet"); } +.bi-paint-bucket::before { content: map-get($bootstrap-icons-map, "paint-bucket"); } +.bi-palette-fill::before { content: map-get($bootstrap-icons-map, "palette-fill"); } +.bi-palette::before { content: map-get($bootstrap-icons-map, "palette"); } +.bi-palette2::before { content: map-get($bootstrap-icons-map, "palette2"); } +.bi-paperclip::before { content: map-get($bootstrap-icons-map, "paperclip"); } +.bi-paragraph::before { content: map-get($bootstrap-icons-map, "paragraph"); } +.bi-patch-check-fill::before { content: map-get($bootstrap-icons-map, "patch-check-fill"); } +.bi-patch-check::before { content: map-get($bootstrap-icons-map, "patch-check"); } +.bi-patch-exclamation-fill::before { content: map-get($bootstrap-icons-map, "patch-exclamation-fill"); } +.bi-patch-exclamation::before { content: map-get($bootstrap-icons-map, "patch-exclamation"); } +.bi-patch-minus-fill::before { content: map-get($bootstrap-icons-map, "patch-minus-fill"); } +.bi-patch-minus::before { content: map-get($bootstrap-icons-map, "patch-minus"); } +.bi-patch-plus-fill::before { content: map-get($bootstrap-icons-map, "patch-plus-fill"); } +.bi-patch-plus::before { content: map-get($bootstrap-icons-map, "patch-plus"); } +.bi-patch-question-fill::before { content: map-get($bootstrap-icons-map, "patch-question-fill"); } +.bi-patch-question::before { content: map-get($bootstrap-icons-map, "patch-question"); } +.bi-pause-btn-fill::before { content: map-get($bootstrap-icons-map, "pause-btn-fill"); } +.bi-pause-btn::before { content: map-get($bootstrap-icons-map, "pause-btn"); } +.bi-pause-circle-fill::before { content: map-get($bootstrap-icons-map, "pause-circle-fill"); } +.bi-pause-circle::before { content: map-get($bootstrap-icons-map, "pause-circle"); } +.bi-pause-fill::before { content: map-get($bootstrap-icons-map, "pause-fill"); } +.bi-pause::before { content: map-get($bootstrap-icons-map, "pause"); } +.bi-peace-fill::before { content: map-get($bootstrap-icons-map, "peace-fill"); } +.bi-peace::before { content: map-get($bootstrap-icons-map, "peace"); } +.bi-pen-fill::before { content: map-get($bootstrap-icons-map, "pen-fill"); } +.bi-pen::before { content: map-get($bootstrap-icons-map, "pen"); } +.bi-pencil-fill::before { content: map-get($bootstrap-icons-map, "pencil-fill"); } +.bi-pencil-square::before { content: map-get($bootstrap-icons-map, "pencil-square"); } +.bi-pencil::before { content: map-get($bootstrap-icons-map, "pencil"); } +.bi-pentagon-fill::before { content: map-get($bootstrap-icons-map, "pentagon-fill"); } +.bi-pentagon-half::before { content: map-get($bootstrap-icons-map, "pentagon-half"); } +.bi-pentagon::before { content: map-get($bootstrap-icons-map, "pentagon"); } +.bi-people-fill::before { content: map-get($bootstrap-icons-map, "people-fill"); } +.bi-people::before { content: map-get($bootstrap-icons-map, "people"); } +.bi-percent::before { content: map-get($bootstrap-icons-map, "percent"); } +.bi-person-badge-fill::before { content: map-get($bootstrap-icons-map, "person-badge-fill"); } +.bi-person-badge::before { content: map-get($bootstrap-icons-map, "person-badge"); } +.bi-person-bounding-box::before { content: map-get($bootstrap-icons-map, "person-bounding-box"); } +.bi-person-check-fill::before { content: map-get($bootstrap-icons-map, "person-check-fill"); } +.bi-person-check::before { content: map-get($bootstrap-icons-map, "person-check"); } +.bi-person-circle::before { content: map-get($bootstrap-icons-map, "person-circle"); } +.bi-person-dash-fill::before { content: map-get($bootstrap-icons-map, "person-dash-fill"); } +.bi-person-dash::before { content: map-get($bootstrap-icons-map, "person-dash"); } +.bi-person-fill::before { content: map-get($bootstrap-icons-map, "person-fill"); } +.bi-person-lines-fill::before { content: map-get($bootstrap-icons-map, "person-lines-fill"); } +.bi-person-plus-fill::before { content: map-get($bootstrap-icons-map, "person-plus-fill"); } +.bi-person-plus::before { content: map-get($bootstrap-icons-map, "person-plus"); } +.bi-person-square::before { content: map-get($bootstrap-icons-map, "person-square"); } +.bi-person-x-fill::before { content: map-get($bootstrap-icons-map, "person-x-fill"); } +.bi-person-x::before { content: map-get($bootstrap-icons-map, "person-x"); } +.bi-person::before { content: map-get($bootstrap-icons-map, "person"); } +.bi-phone-fill::before { content: map-get($bootstrap-icons-map, "phone-fill"); } +.bi-phone-landscape-fill::before { content: map-get($bootstrap-icons-map, "phone-landscape-fill"); } +.bi-phone-landscape::before { content: map-get($bootstrap-icons-map, "phone-landscape"); } +.bi-phone-vibrate-fill::before { content: map-get($bootstrap-icons-map, "phone-vibrate-fill"); } +.bi-phone-vibrate::before { content: map-get($bootstrap-icons-map, "phone-vibrate"); } +.bi-phone::before { content: map-get($bootstrap-icons-map, "phone"); } +.bi-pie-chart-fill::before { content: map-get($bootstrap-icons-map, "pie-chart-fill"); } +.bi-pie-chart::before { content: map-get($bootstrap-icons-map, "pie-chart"); } +.bi-pin-angle-fill::before { content: map-get($bootstrap-icons-map, "pin-angle-fill"); } +.bi-pin-angle::before { content: map-get($bootstrap-icons-map, "pin-angle"); } +.bi-pin-fill::before { content: map-get($bootstrap-icons-map, "pin-fill"); } +.bi-pin::before { content: map-get($bootstrap-icons-map, "pin"); } +.bi-pip-fill::before { content: map-get($bootstrap-icons-map, "pip-fill"); } +.bi-pip::before { content: map-get($bootstrap-icons-map, "pip"); } +.bi-play-btn-fill::before { content: map-get($bootstrap-icons-map, "play-btn-fill"); } +.bi-play-btn::before { content: map-get($bootstrap-icons-map, "play-btn"); } +.bi-play-circle-fill::before { content: map-get($bootstrap-icons-map, "play-circle-fill"); } +.bi-play-circle::before { content: map-get($bootstrap-icons-map, "play-circle"); } +.bi-play-fill::before { content: map-get($bootstrap-icons-map, "play-fill"); } +.bi-play::before { content: map-get($bootstrap-icons-map, "play"); } +.bi-plug-fill::before { content: map-get($bootstrap-icons-map, "plug-fill"); } +.bi-plug::before { content: map-get($bootstrap-icons-map, "plug"); } +.bi-plus-circle-dotted::before { content: map-get($bootstrap-icons-map, "plus-circle-dotted"); } +.bi-plus-circle-fill::before { content: map-get($bootstrap-icons-map, "plus-circle-fill"); } +.bi-plus-circle::before { content: map-get($bootstrap-icons-map, "plus-circle"); } +.bi-plus-square-dotted::before { content: map-get($bootstrap-icons-map, "plus-square-dotted"); } +.bi-plus-square-fill::before { content: map-get($bootstrap-icons-map, "plus-square-fill"); } +.bi-plus-square::before { content: map-get($bootstrap-icons-map, "plus-square"); } +.bi-plus::before { content: map-get($bootstrap-icons-map, "plus"); } +.bi-power::before { content: map-get($bootstrap-icons-map, "power"); } +.bi-printer-fill::before { content: map-get($bootstrap-icons-map, "printer-fill"); } +.bi-printer::before { content: map-get($bootstrap-icons-map, "printer"); } +.bi-puzzle-fill::before { content: map-get($bootstrap-icons-map, "puzzle-fill"); } +.bi-puzzle::before { content: map-get($bootstrap-icons-map, "puzzle"); } +.bi-question-circle-fill::before { content: map-get($bootstrap-icons-map, "question-circle-fill"); } +.bi-question-circle::before { content: map-get($bootstrap-icons-map, "question-circle"); } +.bi-question-diamond-fill::before { content: map-get($bootstrap-icons-map, "question-diamond-fill"); } +.bi-question-diamond::before { content: map-get($bootstrap-icons-map, "question-diamond"); } +.bi-question-octagon-fill::before { content: map-get($bootstrap-icons-map, "question-octagon-fill"); } +.bi-question-octagon::before { content: map-get($bootstrap-icons-map, "question-octagon"); } +.bi-question-square-fill::before { content: map-get($bootstrap-icons-map, "question-square-fill"); } +.bi-question-square::before { content: map-get($bootstrap-icons-map, "question-square"); } +.bi-question::before { content: map-get($bootstrap-icons-map, "question"); } +.bi-rainbow::before { content: map-get($bootstrap-icons-map, "rainbow"); } +.bi-receipt-cutoff::before { content: map-get($bootstrap-icons-map, "receipt-cutoff"); } +.bi-receipt::before { content: map-get($bootstrap-icons-map, "receipt"); } +.bi-reception-0::before { content: map-get($bootstrap-icons-map, "reception-0"); } +.bi-reception-1::before { content: map-get($bootstrap-icons-map, "reception-1"); } +.bi-reception-2::before { content: map-get($bootstrap-icons-map, "reception-2"); } +.bi-reception-3::before { content: map-get($bootstrap-icons-map, "reception-3"); } +.bi-reception-4::before { content: map-get($bootstrap-icons-map, "reception-4"); } +.bi-record-btn-fill::before { content: map-get($bootstrap-icons-map, "record-btn-fill"); } +.bi-record-btn::before { content: map-get($bootstrap-icons-map, "record-btn"); } +.bi-record-circle-fill::before { content: map-get($bootstrap-icons-map, "record-circle-fill"); } +.bi-record-circle::before { content: map-get($bootstrap-icons-map, "record-circle"); } +.bi-record-fill::before { content: map-get($bootstrap-icons-map, "record-fill"); } +.bi-record::before { content: map-get($bootstrap-icons-map, "record"); } +.bi-record2-fill::before { content: map-get($bootstrap-icons-map, "record2-fill"); } +.bi-record2::before { content: map-get($bootstrap-icons-map, "record2"); } +.bi-reply-all-fill::before { content: map-get($bootstrap-icons-map, "reply-all-fill"); } +.bi-reply-all::before { content: map-get($bootstrap-icons-map, "reply-all"); } +.bi-reply-fill::before { content: map-get($bootstrap-icons-map, "reply-fill"); } +.bi-reply::before { content: map-get($bootstrap-icons-map, "reply"); } +.bi-rss-fill::before { content: map-get($bootstrap-icons-map, "rss-fill"); } +.bi-rss::before { content: map-get($bootstrap-icons-map, "rss"); } +.bi-rulers::before { content: map-get($bootstrap-icons-map, "rulers"); } +.bi-save-fill::before { content: map-get($bootstrap-icons-map, "save-fill"); } +.bi-save::before { content: map-get($bootstrap-icons-map, "save"); } +.bi-save2-fill::before { content: map-get($bootstrap-icons-map, "save2-fill"); } +.bi-save2::before { content: map-get($bootstrap-icons-map, "save2"); } +.bi-scissors::before { content: map-get($bootstrap-icons-map, "scissors"); } +.bi-screwdriver::before { content: map-get($bootstrap-icons-map, "screwdriver"); } +.bi-search::before { content: map-get($bootstrap-icons-map, "search"); } +.bi-segmented-nav::before { content: map-get($bootstrap-icons-map, "segmented-nav"); } +.bi-server::before { content: map-get($bootstrap-icons-map, "server"); } +.bi-share-fill::before { content: map-get($bootstrap-icons-map, "share-fill"); } +.bi-share::before { content: map-get($bootstrap-icons-map, "share"); } +.bi-shield-check::before { content: map-get($bootstrap-icons-map, "shield-check"); } +.bi-shield-exclamation::before { content: map-get($bootstrap-icons-map, "shield-exclamation"); } +.bi-shield-fill-check::before { content: map-get($bootstrap-icons-map, "shield-fill-check"); } +.bi-shield-fill-exclamation::before { content: map-get($bootstrap-icons-map, "shield-fill-exclamation"); } +.bi-shield-fill-minus::before { content: map-get($bootstrap-icons-map, "shield-fill-minus"); } +.bi-shield-fill-plus::before { content: map-get($bootstrap-icons-map, "shield-fill-plus"); } +.bi-shield-fill-x::before { content: map-get($bootstrap-icons-map, "shield-fill-x"); } +.bi-shield-fill::before { content: map-get($bootstrap-icons-map, "shield-fill"); } +.bi-shield-lock-fill::before { content: map-get($bootstrap-icons-map, "shield-lock-fill"); } +.bi-shield-lock::before { content: map-get($bootstrap-icons-map, "shield-lock"); } +.bi-shield-minus::before { content: map-get($bootstrap-icons-map, "shield-minus"); } +.bi-shield-plus::before { content: map-get($bootstrap-icons-map, "shield-plus"); } +.bi-shield-shaded::before { content: map-get($bootstrap-icons-map, "shield-shaded"); } +.bi-shield-slash-fill::before { content: map-get($bootstrap-icons-map, "shield-slash-fill"); } +.bi-shield-slash::before { content: map-get($bootstrap-icons-map, "shield-slash"); } +.bi-shield-x::before { content: map-get($bootstrap-icons-map, "shield-x"); } +.bi-shield::before { content: map-get($bootstrap-icons-map, "shield"); } +.bi-shift-fill::before { content: map-get($bootstrap-icons-map, "shift-fill"); } +.bi-shift::before { content: map-get($bootstrap-icons-map, "shift"); } +.bi-shop-window::before { content: map-get($bootstrap-icons-map, "shop-window"); } +.bi-shop::before { content: map-get($bootstrap-icons-map, "shop"); } +.bi-shuffle::before { content: map-get($bootstrap-icons-map, "shuffle"); } +.bi-signpost-2-fill::before { content: map-get($bootstrap-icons-map, "signpost-2-fill"); } +.bi-signpost-2::before { content: map-get($bootstrap-icons-map, "signpost-2"); } +.bi-signpost-fill::before { content: map-get($bootstrap-icons-map, "signpost-fill"); } +.bi-signpost-split-fill::before { content: map-get($bootstrap-icons-map, "signpost-split-fill"); } +.bi-signpost-split::before { content: map-get($bootstrap-icons-map, "signpost-split"); } +.bi-signpost::before { content: map-get($bootstrap-icons-map, "signpost"); } +.bi-sim-fill::before { content: map-get($bootstrap-icons-map, "sim-fill"); } +.bi-sim::before { content: map-get($bootstrap-icons-map, "sim"); } +.bi-skip-backward-btn-fill::before { content: map-get($bootstrap-icons-map, "skip-backward-btn-fill"); } +.bi-skip-backward-btn::before { content: map-get($bootstrap-icons-map, "skip-backward-btn"); } +.bi-skip-backward-circle-fill::before { content: map-get($bootstrap-icons-map, "skip-backward-circle-fill"); } +.bi-skip-backward-circle::before { content: map-get($bootstrap-icons-map, "skip-backward-circle"); } +.bi-skip-backward-fill::before { content: map-get($bootstrap-icons-map, "skip-backward-fill"); } +.bi-skip-backward::before { content: map-get($bootstrap-icons-map, "skip-backward"); } +.bi-skip-end-btn-fill::before { content: map-get($bootstrap-icons-map, "skip-end-btn-fill"); } +.bi-skip-end-btn::before { content: map-get($bootstrap-icons-map, "skip-end-btn"); } +.bi-skip-end-circle-fill::before { content: map-get($bootstrap-icons-map, "skip-end-circle-fill"); } +.bi-skip-end-circle::before { content: map-get($bootstrap-icons-map, "skip-end-circle"); } +.bi-skip-end-fill::before { content: map-get($bootstrap-icons-map, "skip-end-fill"); } +.bi-skip-end::before { content: map-get($bootstrap-icons-map, "skip-end"); } +.bi-skip-forward-btn-fill::before { content: map-get($bootstrap-icons-map, "skip-forward-btn-fill"); } +.bi-skip-forward-btn::before { content: map-get($bootstrap-icons-map, "skip-forward-btn"); } +.bi-skip-forward-circle-fill::before { content: map-get($bootstrap-icons-map, "skip-forward-circle-fill"); } +.bi-skip-forward-circle::before { content: map-get($bootstrap-icons-map, "skip-forward-circle"); } +.bi-skip-forward-fill::before { content: map-get($bootstrap-icons-map, "skip-forward-fill"); } +.bi-skip-forward::before { content: map-get($bootstrap-icons-map, "skip-forward"); } +.bi-skip-start-btn-fill::before { content: map-get($bootstrap-icons-map, "skip-start-btn-fill"); } +.bi-skip-start-btn::before { content: map-get($bootstrap-icons-map, "skip-start-btn"); } +.bi-skip-start-circle-fill::before { content: map-get($bootstrap-icons-map, "skip-start-circle-fill"); } +.bi-skip-start-circle::before { content: map-get($bootstrap-icons-map, "skip-start-circle"); } +.bi-skip-start-fill::before { content: map-get($bootstrap-icons-map, "skip-start-fill"); } +.bi-skip-start::before { content: map-get($bootstrap-icons-map, "skip-start"); } +.bi-slack::before { content: map-get($bootstrap-icons-map, "slack"); } +.bi-slash-circle-fill::before { content: map-get($bootstrap-icons-map, "slash-circle-fill"); } +.bi-slash-circle::before { content: map-get($bootstrap-icons-map, "slash-circle"); } +.bi-slash-square-fill::before { content: map-get($bootstrap-icons-map, "slash-square-fill"); } +.bi-slash-square::before { content: map-get($bootstrap-icons-map, "slash-square"); } +.bi-slash::before { content: map-get($bootstrap-icons-map, "slash"); } +.bi-sliders::before { content: map-get($bootstrap-icons-map, "sliders"); } +.bi-smartwatch::before { content: map-get($bootstrap-icons-map, "smartwatch"); } +.bi-snow::before { content: map-get($bootstrap-icons-map, "snow"); } +.bi-snow2::before { content: map-get($bootstrap-icons-map, "snow2"); } +.bi-snow3::before { content: map-get($bootstrap-icons-map, "snow3"); } +.bi-sort-alpha-down-alt::before { content: map-get($bootstrap-icons-map, "sort-alpha-down-alt"); } +.bi-sort-alpha-down::before { content: map-get($bootstrap-icons-map, "sort-alpha-down"); } +.bi-sort-alpha-up-alt::before { content: map-get($bootstrap-icons-map, "sort-alpha-up-alt"); } +.bi-sort-alpha-up::before { content: map-get($bootstrap-icons-map, "sort-alpha-up"); } +.bi-sort-down-alt::before { content: map-get($bootstrap-icons-map, "sort-down-alt"); } +.bi-sort-down::before { content: map-get($bootstrap-icons-map, "sort-down"); } +.bi-sort-numeric-down-alt::before { content: map-get($bootstrap-icons-map, "sort-numeric-down-alt"); } +.bi-sort-numeric-down::before { content: map-get($bootstrap-icons-map, "sort-numeric-down"); } +.bi-sort-numeric-up-alt::before { content: map-get($bootstrap-icons-map, "sort-numeric-up-alt"); } +.bi-sort-numeric-up::before { content: map-get($bootstrap-icons-map, "sort-numeric-up"); } +.bi-sort-up-alt::before { content: map-get($bootstrap-icons-map, "sort-up-alt"); } +.bi-sort-up::before { content: map-get($bootstrap-icons-map, "sort-up"); } +.bi-soundwave::before { content: map-get($bootstrap-icons-map, "soundwave"); } +.bi-speaker-fill::before { content: map-get($bootstrap-icons-map, "speaker-fill"); } +.bi-speaker::before { content: map-get($bootstrap-icons-map, "speaker"); } +.bi-speedometer::before { content: map-get($bootstrap-icons-map, "speedometer"); } +.bi-speedometer2::before { content: map-get($bootstrap-icons-map, "speedometer2"); } +.bi-spellcheck::before { content: map-get($bootstrap-icons-map, "spellcheck"); } +.bi-square-fill::before { content: map-get($bootstrap-icons-map, "square-fill"); } +.bi-square-half::before { content: map-get($bootstrap-icons-map, "square-half"); } +.bi-square::before { content: map-get($bootstrap-icons-map, "square"); } +.bi-stack::before { content: map-get($bootstrap-icons-map, "stack"); } +.bi-star-fill::before { content: map-get($bootstrap-icons-map, "star-fill"); } +.bi-star-half::before { content: map-get($bootstrap-icons-map, "star-half"); } +.bi-star::before { content: map-get($bootstrap-icons-map, "star"); } +.bi-stars::before { content: map-get($bootstrap-icons-map, "stars"); } +.bi-stickies-fill::before { content: map-get($bootstrap-icons-map, "stickies-fill"); } +.bi-stickies::before { content: map-get($bootstrap-icons-map, "stickies"); } +.bi-sticky-fill::before { content: map-get($bootstrap-icons-map, "sticky-fill"); } +.bi-sticky::before { content: map-get($bootstrap-icons-map, "sticky"); } +.bi-stop-btn-fill::before { content: map-get($bootstrap-icons-map, "stop-btn-fill"); } +.bi-stop-btn::before { content: map-get($bootstrap-icons-map, "stop-btn"); } +.bi-stop-circle-fill::before { content: map-get($bootstrap-icons-map, "stop-circle-fill"); } +.bi-stop-circle::before { content: map-get($bootstrap-icons-map, "stop-circle"); } +.bi-stop-fill::before { content: map-get($bootstrap-icons-map, "stop-fill"); } +.bi-stop::before { content: map-get($bootstrap-icons-map, "stop"); } +.bi-stoplights-fill::before { content: map-get($bootstrap-icons-map, "stoplights-fill"); } +.bi-stoplights::before { content: map-get($bootstrap-icons-map, "stoplights"); } +.bi-stopwatch-fill::before { content: map-get($bootstrap-icons-map, "stopwatch-fill"); } +.bi-stopwatch::before { content: map-get($bootstrap-icons-map, "stopwatch"); } +.bi-subtract::before { content: map-get($bootstrap-icons-map, "subtract"); } +.bi-suit-club-fill::before { content: map-get($bootstrap-icons-map, "suit-club-fill"); } +.bi-suit-club::before { content: map-get($bootstrap-icons-map, "suit-club"); } +.bi-suit-diamond-fill::before { content: map-get($bootstrap-icons-map, "suit-diamond-fill"); } +.bi-suit-diamond::before { content: map-get($bootstrap-icons-map, "suit-diamond"); } +.bi-suit-heart-fill::before { content: map-get($bootstrap-icons-map, "suit-heart-fill"); } +.bi-suit-heart::before { content: map-get($bootstrap-icons-map, "suit-heart"); } +.bi-suit-spade-fill::before { content: map-get($bootstrap-icons-map, "suit-spade-fill"); } +.bi-suit-spade::before { content: map-get($bootstrap-icons-map, "suit-spade"); } +.bi-sun-fill::before { content: map-get($bootstrap-icons-map, "sun-fill"); } +.bi-sun::before { content: map-get($bootstrap-icons-map, "sun"); } +.bi-sunglasses::before { content: map-get($bootstrap-icons-map, "sunglasses"); } +.bi-sunrise-fill::before { content: map-get($bootstrap-icons-map, "sunrise-fill"); } +.bi-sunrise::before { content: map-get($bootstrap-icons-map, "sunrise"); } +.bi-sunset-fill::before { content: map-get($bootstrap-icons-map, "sunset-fill"); } +.bi-sunset::before { content: map-get($bootstrap-icons-map, "sunset"); } +.bi-symmetry-horizontal::before { content: map-get($bootstrap-icons-map, "symmetry-horizontal"); } +.bi-symmetry-vertical::before { content: map-get($bootstrap-icons-map, "symmetry-vertical"); } +.bi-table::before { content: map-get($bootstrap-icons-map, "table"); } +.bi-tablet-fill::before { content: map-get($bootstrap-icons-map, "tablet-fill"); } +.bi-tablet-landscape-fill::before { content: map-get($bootstrap-icons-map, "tablet-landscape-fill"); } +.bi-tablet-landscape::before { content: map-get($bootstrap-icons-map, "tablet-landscape"); } +.bi-tablet::before { content: map-get($bootstrap-icons-map, "tablet"); } +.bi-tag-fill::before { content: map-get($bootstrap-icons-map, "tag-fill"); } +.bi-tag::before { content: map-get($bootstrap-icons-map, "tag"); } +.bi-tags-fill::before { content: map-get($bootstrap-icons-map, "tags-fill"); } +.bi-tags::before { content: map-get($bootstrap-icons-map, "tags"); } +.bi-telegram::before { content: map-get($bootstrap-icons-map, "telegram"); } +.bi-telephone-fill::before { content: map-get($bootstrap-icons-map, "telephone-fill"); } +.bi-telephone-forward-fill::before { content: map-get($bootstrap-icons-map, "telephone-forward-fill"); } +.bi-telephone-forward::before { content: map-get($bootstrap-icons-map, "telephone-forward"); } +.bi-telephone-inbound-fill::before { content: map-get($bootstrap-icons-map, "telephone-inbound-fill"); } +.bi-telephone-inbound::before { content: map-get($bootstrap-icons-map, "telephone-inbound"); } +.bi-telephone-minus-fill::before { content: map-get($bootstrap-icons-map, "telephone-minus-fill"); } +.bi-telephone-minus::before { content: map-get($bootstrap-icons-map, "telephone-minus"); } +.bi-telephone-outbound-fill::before { content: map-get($bootstrap-icons-map, "telephone-outbound-fill"); } +.bi-telephone-outbound::before { content: map-get($bootstrap-icons-map, "telephone-outbound"); } +.bi-telephone-plus-fill::before { content: map-get($bootstrap-icons-map, "telephone-plus-fill"); } +.bi-telephone-plus::before { content: map-get($bootstrap-icons-map, "telephone-plus"); } +.bi-telephone-x-fill::before { content: map-get($bootstrap-icons-map, "telephone-x-fill"); } +.bi-telephone-x::before { content: map-get($bootstrap-icons-map, "telephone-x"); } +.bi-telephone::before { content: map-get($bootstrap-icons-map, "telephone"); } +.bi-terminal-fill::before { content: map-get($bootstrap-icons-map, "terminal-fill"); } +.bi-terminal::before { content: map-get($bootstrap-icons-map, "terminal"); } +.bi-text-center::before { content: map-get($bootstrap-icons-map, "text-center"); } +.bi-text-indent-left::before { content: map-get($bootstrap-icons-map, "text-indent-left"); } +.bi-text-indent-right::before { content: map-get($bootstrap-icons-map, "text-indent-right"); } +.bi-text-left::before { content: map-get($bootstrap-icons-map, "text-left"); } +.bi-text-paragraph::before { content: map-get($bootstrap-icons-map, "text-paragraph"); } +.bi-text-right::before { content: map-get($bootstrap-icons-map, "text-right"); } +.bi-textarea-resize::before { content: map-get($bootstrap-icons-map, "textarea-resize"); } +.bi-textarea-t::before { content: map-get($bootstrap-icons-map, "textarea-t"); } +.bi-textarea::before { content: map-get($bootstrap-icons-map, "textarea"); } +.bi-thermometer-half::before { content: map-get($bootstrap-icons-map, "thermometer-half"); } +.bi-thermometer-high::before { content: map-get($bootstrap-icons-map, "thermometer-high"); } +.bi-thermometer-low::before { content: map-get($bootstrap-icons-map, "thermometer-low"); } +.bi-thermometer-snow::before { content: map-get($bootstrap-icons-map, "thermometer-snow"); } +.bi-thermometer-sun::before { content: map-get($bootstrap-icons-map, "thermometer-sun"); } +.bi-thermometer::before { content: map-get($bootstrap-icons-map, "thermometer"); } +.bi-three-dots-vertical::before { content: map-get($bootstrap-icons-map, "three-dots-vertical"); } +.bi-three-dots::before { content: map-get($bootstrap-icons-map, "three-dots"); } +.bi-toggle-off::before { content: map-get($bootstrap-icons-map, "toggle-off"); } +.bi-toggle-on::before { content: map-get($bootstrap-icons-map, "toggle-on"); } +.bi-toggle2-off::before { content: map-get($bootstrap-icons-map, "toggle2-off"); } +.bi-toggle2-on::before { content: map-get($bootstrap-icons-map, "toggle2-on"); } +.bi-toggles::before { content: map-get($bootstrap-icons-map, "toggles"); } +.bi-toggles2::before { content: map-get($bootstrap-icons-map, "toggles2"); } +.bi-tools::before { content: map-get($bootstrap-icons-map, "tools"); } +.bi-tornado::before { content: map-get($bootstrap-icons-map, "tornado"); } +.bi-trash-fill::before { content: map-get($bootstrap-icons-map, "trash-fill"); } +.bi-trash::before { content: map-get($bootstrap-icons-map, "trash"); } +.bi-trash2-fill::before { content: map-get($bootstrap-icons-map, "trash2-fill"); } +.bi-trash2::before { content: map-get($bootstrap-icons-map, "trash2"); } +.bi-tree-fill::before { content: map-get($bootstrap-icons-map, "tree-fill"); } +.bi-tree::before { content: map-get($bootstrap-icons-map, "tree"); } +.bi-triangle-fill::before { content: map-get($bootstrap-icons-map, "triangle-fill"); } +.bi-triangle-half::before { content: map-get($bootstrap-icons-map, "triangle-half"); } +.bi-triangle::before { content: map-get($bootstrap-icons-map, "triangle"); } +.bi-trophy-fill::before { content: map-get($bootstrap-icons-map, "trophy-fill"); } +.bi-trophy::before { content: map-get($bootstrap-icons-map, "trophy"); } +.bi-tropical-storm::before { content: map-get($bootstrap-icons-map, "tropical-storm"); } +.bi-truck-flatbed::before { content: map-get($bootstrap-icons-map, "truck-flatbed"); } +.bi-truck::before { content: map-get($bootstrap-icons-map, "truck"); } +.bi-tsunami::before { content: map-get($bootstrap-icons-map, "tsunami"); } +.bi-tv-fill::before { content: map-get($bootstrap-icons-map, "tv-fill"); } +.bi-tv::before { content: map-get($bootstrap-icons-map, "tv"); } +.bi-twitch::before { content: map-get($bootstrap-icons-map, "twitch"); } +.bi-twitter::before { content: map-get($bootstrap-icons-map, "twitter"); } +.bi-type-bold::before { content: map-get($bootstrap-icons-map, "type-bold"); } +.bi-type-h1::before { content: map-get($bootstrap-icons-map, "type-h1"); } +.bi-type-h2::before { content: map-get($bootstrap-icons-map, "type-h2"); } +.bi-type-h3::before { content: map-get($bootstrap-icons-map, "type-h3"); } +.bi-type-italic::before { content: map-get($bootstrap-icons-map, "type-italic"); } +.bi-type-strikethrough::before { content: map-get($bootstrap-icons-map, "type-strikethrough"); } +.bi-type-underline::before { content: map-get($bootstrap-icons-map, "type-underline"); } +.bi-type::before { content: map-get($bootstrap-icons-map, "type"); } +.bi-ui-checks-grid::before { content: map-get($bootstrap-icons-map, "ui-checks-grid"); } +.bi-ui-checks::before { content: map-get($bootstrap-icons-map, "ui-checks"); } +.bi-ui-radios-grid::before { content: map-get($bootstrap-icons-map, "ui-radios-grid"); } +.bi-ui-radios::before { content: map-get($bootstrap-icons-map, "ui-radios"); } +.bi-umbrella-fill::before { content: map-get($bootstrap-icons-map, "umbrella-fill"); } +.bi-umbrella::before { content: map-get($bootstrap-icons-map, "umbrella"); } +.bi-union::before { content: map-get($bootstrap-icons-map, "union"); } +.bi-unlock-fill::before { content: map-get($bootstrap-icons-map, "unlock-fill"); } +.bi-unlock::before { content: map-get($bootstrap-icons-map, "unlock"); } +.bi-upc-scan::before { content: map-get($bootstrap-icons-map, "upc-scan"); } +.bi-upc::before { content: map-get($bootstrap-icons-map, "upc"); } +.bi-upload::before { content: map-get($bootstrap-icons-map, "upload"); } +.bi-vector-pen::before { content: map-get($bootstrap-icons-map, "vector-pen"); } +.bi-view-list::before { content: map-get($bootstrap-icons-map, "view-list"); } +.bi-view-stacked::before { content: map-get($bootstrap-icons-map, "view-stacked"); } +.bi-vinyl-fill::before { content: map-get($bootstrap-icons-map, "vinyl-fill"); } +.bi-vinyl::before { content: map-get($bootstrap-icons-map, "vinyl"); } +.bi-voicemail::before { content: map-get($bootstrap-icons-map, "voicemail"); } +.bi-volume-down-fill::before { content: map-get($bootstrap-icons-map, "volume-down-fill"); } +.bi-volume-down::before { content: map-get($bootstrap-icons-map, "volume-down"); } +.bi-volume-mute-fill::before { content: map-get($bootstrap-icons-map, "volume-mute-fill"); } +.bi-volume-mute::before { content: map-get($bootstrap-icons-map, "volume-mute"); } +.bi-volume-off-fill::before { content: map-get($bootstrap-icons-map, "volume-off-fill"); } +.bi-volume-off::before { content: map-get($bootstrap-icons-map, "volume-off"); } +.bi-volume-up-fill::before { content: map-get($bootstrap-icons-map, "volume-up-fill"); } +.bi-volume-up::before { content: map-get($bootstrap-icons-map, "volume-up"); } +.bi-vr::before { content: map-get($bootstrap-icons-map, "vr"); } +.bi-wallet-fill::before { content: map-get($bootstrap-icons-map, "wallet-fill"); } +.bi-wallet::before { content: map-get($bootstrap-icons-map, "wallet"); } +.bi-wallet2::before { content: map-get($bootstrap-icons-map, "wallet2"); } +.bi-watch::before { content: map-get($bootstrap-icons-map, "watch"); } +.bi-water::before { content: map-get($bootstrap-icons-map, "water"); } +.bi-whatsapp::before { content: map-get($bootstrap-icons-map, "whatsapp"); } +.bi-wifi-1::before { content: map-get($bootstrap-icons-map, "wifi-1"); } +.bi-wifi-2::before { content: map-get($bootstrap-icons-map, "wifi-2"); } +.bi-wifi-off::before { content: map-get($bootstrap-icons-map, "wifi-off"); } +.bi-wifi::before { content: map-get($bootstrap-icons-map, "wifi"); } +.bi-wind::before { content: map-get($bootstrap-icons-map, "wind"); } +.bi-window-dock::before { content: map-get($bootstrap-icons-map, "window-dock"); } +.bi-window-sidebar::before { content: map-get($bootstrap-icons-map, "window-sidebar"); } +.bi-window::before { content: map-get($bootstrap-icons-map, "window"); } +.bi-wrench::before { content: map-get($bootstrap-icons-map, "wrench"); } +.bi-x-circle-fill::before { content: map-get($bootstrap-icons-map, "x-circle-fill"); } +.bi-x-circle::before { content: map-get($bootstrap-icons-map, "x-circle"); } +.bi-x-diamond-fill::before { content: map-get($bootstrap-icons-map, "x-diamond-fill"); } +.bi-x-diamond::before { content: map-get($bootstrap-icons-map, "x-diamond"); } +.bi-x-octagon-fill::before { content: map-get($bootstrap-icons-map, "x-octagon-fill"); } +.bi-x-octagon::before { content: map-get($bootstrap-icons-map, "x-octagon"); } +.bi-x-square-fill::before { content: map-get($bootstrap-icons-map, "x-square-fill"); } +.bi-x-square::before { content: map-get($bootstrap-icons-map, "x-square"); } +.bi-x::before { content: map-get($bootstrap-icons-map, "x"); } +.bi-youtube::before { content: map-get($bootstrap-icons-map, "youtube"); } +.bi-zoom-in::before { content: map-get($bootstrap-icons-map, "zoom-in"); } +.bi-zoom-out::before { content: map-get($bootstrap-icons-map, "zoom-out"); } +.bi-bank::before { content: map-get($bootstrap-icons-map, "bank"); } +.bi-bank2::before { content: map-get($bootstrap-icons-map, "bank2"); } +.bi-bell-slash-fill::before { content: map-get($bootstrap-icons-map, "bell-slash-fill"); } +.bi-bell-slash::before { content: map-get($bootstrap-icons-map, "bell-slash"); } +.bi-cash-coin::before { content: map-get($bootstrap-icons-map, "cash-coin"); } +.bi-check-lg::before { content: map-get($bootstrap-icons-map, "check-lg"); } +.bi-coin::before { content: map-get($bootstrap-icons-map, "coin"); } +.bi-currency-bitcoin::before { content: map-get($bootstrap-icons-map, "currency-bitcoin"); } +.bi-currency-dollar::before { content: map-get($bootstrap-icons-map, "currency-dollar"); } +.bi-currency-euro::before { content: map-get($bootstrap-icons-map, "currency-euro"); } +.bi-currency-exchange::before { content: map-get($bootstrap-icons-map, "currency-exchange"); } +.bi-currency-pound::before { content: map-get($bootstrap-icons-map, "currency-pound"); } +.bi-currency-yen::before { content: map-get($bootstrap-icons-map, "currency-yen"); } +.bi-dash-lg::before { content: map-get($bootstrap-icons-map, "dash-lg"); } +.bi-exclamation-lg::before { content: map-get($bootstrap-icons-map, "exclamation-lg"); } +.bi-file-earmark-pdf-fill::before { content: map-get($bootstrap-icons-map, "file-earmark-pdf-fill"); } +.bi-file-earmark-pdf::before { content: map-get($bootstrap-icons-map, "file-earmark-pdf"); } +.bi-file-pdf-fill::before { content: map-get($bootstrap-icons-map, "file-pdf-fill"); } +.bi-file-pdf::before { content: map-get($bootstrap-icons-map, "file-pdf"); } +.bi-gender-ambiguous::before { content: map-get($bootstrap-icons-map, "gender-ambiguous"); } +.bi-gender-female::before { content: map-get($bootstrap-icons-map, "gender-female"); } +.bi-gender-male::before { content: map-get($bootstrap-icons-map, "gender-male"); } +.bi-gender-trans::before { content: map-get($bootstrap-icons-map, "gender-trans"); } +.bi-headset-vr::before { content: map-get($bootstrap-icons-map, "headset-vr"); } +.bi-info-lg::before { content: map-get($bootstrap-icons-map, "info-lg"); } +.bi-mastodon::before { content: map-get($bootstrap-icons-map, "mastodon"); } +.bi-messenger::before { content: map-get($bootstrap-icons-map, "messenger"); } +.bi-piggy-bank-fill::before { content: map-get($bootstrap-icons-map, "piggy-bank-fill"); } +.bi-piggy-bank::before { content: map-get($bootstrap-icons-map, "piggy-bank"); } +.bi-pin-map-fill::before { content: map-get($bootstrap-icons-map, "pin-map-fill"); } +.bi-pin-map::before { content: map-get($bootstrap-icons-map, "pin-map"); } +.bi-plus-lg::before { content: map-get($bootstrap-icons-map, "plus-lg"); } +.bi-question-lg::before { content: map-get($bootstrap-icons-map, "question-lg"); } +.bi-recycle::before { content: map-get($bootstrap-icons-map, "recycle"); } +.bi-reddit::before { content: map-get($bootstrap-icons-map, "reddit"); } +.bi-safe-fill::before { content: map-get($bootstrap-icons-map, "safe-fill"); } +.bi-safe2-fill::before { content: map-get($bootstrap-icons-map, "safe2-fill"); } +.bi-safe2::before { content: map-get($bootstrap-icons-map, "safe2"); } +.bi-sd-card-fill::before { content: map-get($bootstrap-icons-map, "sd-card-fill"); } +.bi-sd-card::before { content: map-get($bootstrap-icons-map, "sd-card"); } +.bi-skype::before { content: map-get($bootstrap-icons-map, "skype"); } +.bi-slash-lg::before { content: map-get($bootstrap-icons-map, "slash-lg"); } +.bi-translate::before { content: map-get($bootstrap-icons-map, "translate"); } +.bi-x-lg::before { content: map-get($bootstrap-icons-map, "x-lg"); } +.bi-safe::before { content: map-get($bootstrap-icons-map, "safe"); } +.bi-apple::before { content: map-get($bootstrap-icons-map, "apple"); } +.bi-microsoft::before { content: map-get($bootstrap-icons-map, "microsoft"); } +.bi-windows::before { content: map-get($bootstrap-icons-map, "windows"); } +.bi-behance::before { content: map-get($bootstrap-icons-map, "behance"); } +.bi-dribbble::before { content: map-get($bootstrap-icons-map, "dribbble"); } +.bi-line::before { content: map-get($bootstrap-icons-map, "line"); } +.bi-medium::before { content: map-get($bootstrap-icons-map, "medium"); } +.bi-paypal::before { content: map-get($bootstrap-icons-map, "paypal"); } +.bi-pinterest::before { content: map-get($bootstrap-icons-map, "pinterest"); } +.bi-signal::before { content: map-get($bootstrap-icons-map, "signal"); } +.bi-snapchat::before { content: map-get($bootstrap-icons-map, "snapchat"); } +.bi-spotify::before { content: map-get($bootstrap-icons-map, "spotify"); } +.bi-stack-overflow::before { content: map-get($bootstrap-icons-map, "stack-overflow"); } +.bi-strava::before { content: map-get($bootstrap-icons-map, "strava"); } +.bi-wordpress::before { content: map-get($bootstrap-icons-map, "wordpress"); } +.bi-vimeo::before { content: map-get($bootstrap-icons-map, "vimeo"); } +.bi-activity::before { content: map-get($bootstrap-icons-map, "activity"); } +.bi-easel2-fill::before { content: map-get($bootstrap-icons-map, "easel2-fill"); } +.bi-easel2::before { content: map-get($bootstrap-icons-map, "easel2"); } +.bi-easel3-fill::before { content: map-get($bootstrap-icons-map, "easel3-fill"); } +.bi-easel3::before { content: map-get($bootstrap-icons-map, "easel3"); } +.bi-fan::before { content: map-get($bootstrap-icons-map, "fan"); } +.bi-fingerprint::before { content: map-get($bootstrap-icons-map, "fingerprint"); } +.bi-graph-down-arrow::before { content: map-get($bootstrap-icons-map, "graph-down-arrow"); } +.bi-graph-up-arrow::before { content: map-get($bootstrap-icons-map, "graph-up-arrow"); } +.bi-hypnotize::before { content: map-get($bootstrap-icons-map, "hypnotize"); } +.bi-magic::before { content: map-get($bootstrap-icons-map, "magic"); } +.bi-person-rolodex::before { content: map-get($bootstrap-icons-map, "person-rolodex"); } +.bi-person-video::before { content: map-get($bootstrap-icons-map, "person-video"); } +.bi-person-video2::before { content: map-get($bootstrap-icons-map, "person-video2"); } +.bi-person-video3::before { content: map-get($bootstrap-icons-map, "person-video3"); } +.bi-person-workspace::before { content: map-get($bootstrap-icons-map, "person-workspace"); } +.bi-radioactive::before { content: map-get($bootstrap-icons-map, "radioactive"); } +.bi-webcam-fill::before { content: map-get($bootstrap-icons-map, "webcam-fill"); } +.bi-webcam::before { content: map-get($bootstrap-icons-map, "webcam"); } +.bi-yin-yang::before { content: map-get($bootstrap-icons-map, "yin-yang"); } +.bi-bandaid-fill::before { content: map-get($bootstrap-icons-map, "bandaid-fill"); } +.bi-bandaid::before { content: map-get($bootstrap-icons-map, "bandaid"); } +.bi-bluetooth::before { content: map-get($bootstrap-icons-map, "bluetooth"); } +.bi-body-text::before { content: map-get($bootstrap-icons-map, "body-text"); } +.bi-boombox::before { content: map-get($bootstrap-icons-map, "boombox"); } +.bi-boxes::before { content: map-get($bootstrap-icons-map, "boxes"); } +.bi-dpad-fill::before { content: map-get($bootstrap-icons-map, "dpad-fill"); } +.bi-dpad::before { content: map-get($bootstrap-icons-map, "dpad"); } +.bi-ear-fill::before { content: map-get($bootstrap-icons-map, "ear-fill"); } +.bi-ear::before { content: map-get($bootstrap-icons-map, "ear"); } +.bi-envelope-check-1::before { content: map-get($bootstrap-icons-map, "envelope-check-1"); } +.bi-envelope-check-fill::before { content: map-get($bootstrap-icons-map, "envelope-check-fill"); } +.bi-envelope-check::before { content: map-get($bootstrap-icons-map, "envelope-check"); } +.bi-envelope-dash-1::before { content: map-get($bootstrap-icons-map, "envelope-dash-1"); } +.bi-envelope-dash-fill::before { content: map-get($bootstrap-icons-map, "envelope-dash-fill"); } +.bi-envelope-dash::before { content: map-get($bootstrap-icons-map, "envelope-dash"); } +.bi-envelope-exclamation-1::before { content: map-get($bootstrap-icons-map, "envelope-exclamation-1"); } +.bi-envelope-exclamation-fill::before { content: map-get($bootstrap-icons-map, "envelope-exclamation-fill"); } +.bi-envelope-exclamation::before { content: map-get($bootstrap-icons-map, "envelope-exclamation"); } +.bi-envelope-plus-fill::before { content: map-get($bootstrap-icons-map, "envelope-plus-fill"); } +.bi-envelope-plus::before { content: map-get($bootstrap-icons-map, "envelope-plus"); } +.bi-envelope-slash-1::before { content: map-get($bootstrap-icons-map, "envelope-slash-1"); } +.bi-envelope-slash-fill::before { content: map-get($bootstrap-icons-map, "envelope-slash-fill"); } +.bi-envelope-slash::before { content: map-get($bootstrap-icons-map, "envelope-slash"); } +.bi-envelope-x-1::before { content: map-get($bootstrap-icons-map, "envelope-x-1"); } +.bi-envelope-x-fill::before { content: map-get($bootstrap-icons-map, "envelope-x-fill"); } +.bi-envelope-x::before { content: map-get($bootstrap-icons-map, "envelope-x"); } +.bi-explicit-fill::before { content: map-get($bootstrap-icons-map, "explicit-fill"); } +.bi-explicit::before { content: map-get($bootstrap-icons-map, "explicit"); } +.bi-git::before { content: map-get($bootstrap-icons-map, "git"); } +.bi-infinity::before { content: map-get($bootstrap-icons-map, "infinity"); } +.bi-list-columns-reverse::before { content: map-get($bootstrap-icons-map, "list-columns-reverse"); } +.bi-list-columns::before { content: map-get($bootstrap-icons-map, "list-columns"); } +.bi-meta::before { content: map-get($bootstrap-icons-map, "meta"); } +.bi-mortorboard-fill::before { content: map-get($bootstrap-icons-map, "mortorboard-fill"); } +.bi-mortorboard::before { content: map-get($bootstrap-icons-map, "mortorboard"); } +.bi-nintendo-switch::before { content: map-get($bootstrap-icons-map, "nintendo-switch"); } +.bi-pc-display-horizontal::before { content: map-get($bootstrap-icons-map, "pc-display-horizontal"); } +.bi-pc-display::before { content: map-get($bootstrap-icons-map, "pc-display"); } +.bi-pc-horizontal::before { content: map-get($bootstrap-icons-map, "pc-horizontal"); } +.bi-pc::before { content: map-get($bootstrap-icons-map, "pc"); } +.bi-playstation::before { content: map-get($bootstrap-icons-map, "playstation"); } +.bi-plus-slash-minus::before { content: map-get($bootstrap-icons-map, "plus-slash-minus"); } +.bi-projector-fill::before { content: map-get($bootstrap-icons-map, "projector-fill"); } +.bi-projector::before { content: map-get($bootstrap-icons-map, "projector"); } +.bi-qr-code-scan::before { content: map-get($bootstrap-icons-map, "qr-code-scan"); } +.bi-qr-code::before { content: map-get($bootstrap-icons-map, "qr-code"); } +.bi-quora::before { content: map-get($bootstrap-icons-map, "quora"); } +.bi-quote::before { content: map-get($bootstrap-icons-map, "quote"); } +.bi-robot::before { content: map-get($bootstrap-icons-map, "robot"); } +.bi-send-check-fill::before { content: map-get($bootstrap-icons-map, "send-check-fill"); } +.bi-send-check::before { content: map-get($bootstrap-icons-map, "send-check"); } +.bi-send-dash-fill::before { content: map-get($bootstrap-icons-map, "send-dash-fill"); } +.bi-send-dash::before { content: map-get($bootstrap-icons-map, "send-dash"); } +.bi-send-exclamation-1::before { content: map-get($bootstrap-icons-map, "send-exclamation-1"); } +.bi-send-exclamation-fill::before { content: map-get($bootstrap-icons-map, "send-exclamation-fill"); } +.bi-send-exclamation::before { content: map-get($bootstrap-icons-map, "send-exclamation"); } +.bi-send-fill::before { content: map-get($bootstrap-icons-map, "send-fill"); } +.bi-send-plus-fill::before { content: map-get($bootstrap-icons-map, "send-plus-fill"); } +.bi-send-plus::before { content: map-get($bootstrap-icons-map, "send-plus"); } +.bi-send-slash-fill::before { content: map-get($bootstrap-icons-map, "send-slash-fill"); } +.bi-send-slash::before { content: map-get($bootstrap-icons-map, "send-slash"); } +.bi-send-x-fill::before { content: map-get($bootstrap-icons-map, "send-x-fill"); } +.bi-send-x::before { content: map-get($bootstrap-icons-map, "send-x"); } +.bi-send::before { content: map-get($bootstrap-icons-map, "send"); } +.bi-steam::before { content: map-get($bootstrap-icons-map, "steam"); } +.bi-terminal-dash-1::before { content: map-get($bootstrap-icons-map, "terminal-dash-1"); } +.bi-terminal-dash::before { content: map-get($bootstrap-icons-map, "terminal-dash"); } +.bi-terminal-plus::before { content: map-get($bootstrap-icons-map, "terminal-plus"); } +.bi-terminal-split::before { content: map-get($bootstrap-icons-map, "terminal-split"); } +.bi-ticket-detailed-fill::before { content: map-get($bootstrap-icons-map, "ticket-detailed-fill"); } +.bi-ticket-detailed::before { content: map-get($bootstrap-icons-map, "ticket-detailed"); } +.bi-ticket-fill::before { content: map-get($bootstrap-icons-map, "ticket-fill"); } +.bi-ticket-perferated-fill::before { content: map-get($bootstrap-icons-map, "ticket-perferated-fill"); } +.bi-ticket-perferated::before { content: map-get($bootstrap-icons-map, "ticket-perferated"); } +.bi-ticket::before { content: map-get($bootstrap-icons-map, "ticket"); } +.bi-tiktok::before { content: map-get($bootstrap-icons-map, "tiktok"); } +.bi-window-dash::before { content: map-get($bootstrap-icons-map, "window-dash"); } +.bi-window-desktop::before { content: map-get($bootstrap-icons-map, "window-desktop"); } +.bi-window-fullscreen::before { content: map-get($bootstrap-icons-map, "window-fullscreen"); } +.bi-window-plus::before { content: map-get($bootstrap-icons-map, "window-plus"); } +.bi-window-split::before { content: map-get($bootstrap-icons-map, "window-split"); } +.bi-window-stack::before { content: map-get($bootstrap-icons-map, "window-stack"); } +.bi-window-x::before { content: map-get($bootstrap-icons-map, "window-x"); } +.bi-xbox::before { content: map-get($bootstrap-icons-map, "xbox"); } +.bi-ethernet::before { content: map-get($bootstrap-icons-map, "ethernet"); } +.bi-hdmi-fill::before { content: map-get($bootstrap-icons-map, "hdmi-fill"); } +.bi-hdmi::before { content: map-get($bootstrap-icons-map, "hdmi"); } +.bi-usb-c-fill::before { content: map-get($bootstrap-icons-map, "usb-c-fill"); } +.bi-usb-c::before { content: map-get($bootstrap-icons-map, "usb-c"); } +.bi-usb-fill::before { content: map-get($bootstrap-icons-map, "usb-fill"); } +.bi-usb-plug-fill::before { content: map-get($bootstrap-icons-map, "usb-plug-fill"); } +.bi-usb-plug::before { content: map-get($bootstrap-icons-map, "usb-plug"); } +.bi-usb-symbol::before { content: map-get($bootstrap-icons-map, "usb-symbol"); } +.bi-usb::before { content: map-get($bootstrap-icons-map, "usb"); } +.bi-boombox-fill::before { content: map-get($bootstrap-icons-map, "boombox-fill"); } +.bi-displayport-1::before { content: map-get($bootstrap-icons-map, "displayport-1"); } +.bi-displayport::before { content: map-get($bootstrap-icons-map, "displayport"); } +.bi-gpu-card::before { content: map-get($bootstrap-icons-map, "gpu-card"); } +.bi-memory::before { content: map-get($bootstrap-icons-map, "memory"); } +.bi-modem-fill::before { content: map-get($bootstrap-icons-map, "modem-fill"); } +.bi-modem::before { content: map-get($bootstrap-icons-map, "modem"); } +.bi-motherboard-fill::before { content: map-get($bootstrap-icons-map, "motherboard-fill"); } +.bi-motherboard::before { content: map-get($bootstrap-icons-map, "motherboard"); } +.bi-optical-audio-fill::before { content: map-get($bootstrap-icons-map, "optical-audio-fill"); } +.bi-optical-audio::before { content: map-get($bootstrap-icons-map, "optical-audio"); } +.bi-pci-card::before { content: map-get($bootstrap-icons-map, "pci-card"); } +.bi-router-fill::before { content: map-get($bootstrap-icons-map, "router-fill"); } +.bi-router::before { content: map-get($bootstrap-icons-map, "router"); } +.bi-ssd-fill::before { content: map-get($bootstrap-icons-map, "ssd-fill"); } +.bi-ssd::before { content: map-get($bootstrap-icons-map, "ssd"); } +.bi-thunderbolt-fill::before { content: map-get($bootstrap-icons-map, "thunderbolt-fill"); } +.bi-thunderbolt::before { content: map-get($bootstrap-icons-map, "thunderbolt"); } +.bi-usb-drive-fill::before { content: map-get($bootstrap-icons-map, "usb-drive-fill"); } +.bi-usb-drive::before { content: map-get($bootstrap-icons-map, "usb-drive"); } +.bi-usb-micro-fill::before { content: map-get($bootstrap-icons-map, "usb-micro-fill"); } +.bi-usb-micro::before { content: map-get($bootstrap-icons-map, "usb-micro"); } +.bi-usb-mini-fill::before { content: map-get($bootstrap-icons-map, "usb-mini-fill"); } +.bi-usb-mini::before { content: map-get($bootstrap-icons-map, "usb-mini"); } +.bi-cloud-haze2::before { content: map-get($bootstrap-icons-map, "cloud-haze2"); } +.bi-device-hdd-fill::before { content: map-get($bootstrap-icons-map, "device-hdd-fill"); } +.bi-device-hdd::before { content: map-get($bootstrap-icons-map, "device-hdd"); } +.bi-device-ssd-fill::before { content: map-get($bootstrap-icons-map, "device-ssd-fill"); } +.bi-device-ssd::before { content: map-get($bootstrap-icons-map, "device-ssd"); } +.bi-displayport-fill::before { content: map-get($bootstrap-icons-map, "displayport-fill"); } +.bi-mortarboard-fill::before { content: map-get($bootstrap-icons-map, "mortarboard-fill"); } +.bi-mortarboard::before { content: map-get($bootstrap-icons-map, "mortarboard"); } +.bi-terminal-x::before { content: map-get($bootstrap-icons-map, "terminal-x"); } diff --git a/public/css/bootstrap-icons-1.7.1/font/fonts/bootstrap-icons.woff b/public/css/bootstrap-icons-1.7.1/font/fonts/bootstrap-icons.woff new file mode 100644 index 0000000000000000000000000000000000000000..812621e641ea15893a0b222517b640ceaa8dacff GIT binary patch literal 123408 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 literal 0 HcmV?d00001 diff --git a/public/css/bootstrap-icons-1.7.1/font/fonts/bootstrap-icons.woff2 b/public/css/bootstrap-icons-1.7.1/font/fonts/bootstrap-icons.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..7cb9191f7d7f6faec53cbed2b61e5827d763b5a1 GIT binary patch literal 92004 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:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.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:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y) * -1);margin-right:calc(var(--bs-gutter-x) * -.5);margin-left:calc(var(--bs-gutter-x) * -.5)}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:last-child)>:last-child>*{border-bottom-color:currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-striped>tbody>tr:nth-of-type(odd){--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg:#cfe2ff;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:#000;border-color:#bacbe6}.table-secondary{--bs-table-bg:#e2e3e5;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:#000;border-color:#cbccce}.table-success{--bs-table-bg:#d1e7dd;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:#000;border-color:#bcd0c7}.table-info{--bs-table-bg:#cff4fc;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:#000;border-color:#badce3}.table-warning{--bs-table-bg:#fff3cd;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:#000;border-color:#e6dbb9}.table-danger{--bs-table-bg:#f8d7da;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:#000;border-color:#dfc2c4}.table-light{--bs-table-bg:#f8f9fa;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:#000;border-color:#dfe0e1}.table-dark{--bs-table-bg:#212529;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:#fff;border-color:#373b3e}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + (.5rem + 2px));padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + (1rem + 2px));padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + (.75rem + 2px))}textarea.form-control-sm{min-height:calc(1.5em + (.5rem + 2px))}textarea.form-control-lg{min-height:calc(1.5em + (1rem + 2px))}.form-control-color{max-width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.25rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.25rem}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(0.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control{padding:1rem .75rem}.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#198754}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#198754}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#198754}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group .form-control.is-valid,.input-group .form-select.is-valid,.was-validated .input-group .form-control:valid,.was-validated .input-group .form-select:valid{z-index:1}.input-group .form-control.is-valid:focus,.input-group .form-select.is-valid:focus,.was-validated .input-group .form-control:valid:focus,.was-validated .input-group .form-select:valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group .form-control.is-invalid,.input-group .form-select.is-invalid,.was-validated .input-group .form-control:invalid,.was-validated .input-group .form-select:invalid{z-index:2}.input-group .form-control.is-invalid:focus,.input-group .form-select.is-invalid:focus,.was-validated .input-group .form-control:invalid:focus,.was-validated .input-group .form-select:invalid:focus{z-index:3}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0a58ca;border-color:#0a53be}.btn-check:active+.btn-primary:focus,.btn-check:checked+.btn-primary:focus,.btn-primary.active:focus,.btn-primary:active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-check:active+.btn-secondary,.btn-check:checked+.btn-secondary,.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:active+.btn-secondary:focus,.btn-check:checked+.btn-secondary:focus,.btn-secondary.active:focus,.btn-secondary:active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-check:active+.btn-success,.btn-check:checked+.btn-success,.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:active+.btn-success:focus,.btn-check:checked+.btn-success:focus,.btn-success.active:focus,.btn-success:active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-info{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-info:hover{color:#000;background-color:#31d2f2;border-color:#25cff2}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-check:active+.btn-info,.btn-check:checked+.btn-info,.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#000;background-color:#3dd5f3;border-color:#25cff2}.btn-check:active+.btn-info:focus,.btn-check:checked+.btn-info:focus,.btn-info.active:focus,.btn-info:active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-info.disabled,.btn-info:disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-check:active+.btn-warning,.btn-check:checked+.btn-warning,.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:active+.btn-warning:focus,.btn-check:checked+.btn-warning:focus,.btn-warning.active:focus,.btn-warning:active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-check:active+.btn-danger,.btn-check:checked+.btn-danger,.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:active+.btn-danger:focus,.btn-check:checked+.btn-danger:focus,.btn-danger.active:focus,.btn-danger:active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#f9fafb;border-color:#f9fafb;box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-check:active+.btn-light,.btn-check:checked+.btn-light,.btn-light.active,.btn-light:active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:active+.btn-light:focus,.btn-check:checked+.btn-light:focus,.btn-light.active:focus,.btn-light:active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-light.disabled,.btn-light:disabled{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#212529;border-color:#212529}.btn-dark:hover{color:#fff;background-color:#1c1f23;border-color:#1a1e21}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#1c1f23;border-color:#1a1e21;box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-check:active+.btn-dark,.btn-check:checked+.btn-dark,.btn-dark.active,.btn-dark:active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1a1e21;border-color:#191c1f}.btn-check:active+.btn-dark:focus,.btn-check:checked+.btn-dark:focus,.btn-dark.active:focus,.btn-dark:active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary,.btn-check:checked+.btn-outline-primary,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:active+.btn-outline-primary:focus,.btn-check:checked+.btn-outline-primary:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0d6efd;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-check:active+.btn-outline-secondary,.btn-check:checked+.btn-outline-secondary,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:active+.btn-outline-secondary:focus,.btn-check:checked+.btn-outline-secondary:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#198754;border-color:#198754}.btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#198754;border-color:#198754}.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#198754;background-color:transparent}.btn-outline-info{color:#0dcaf0;border-color:#0dcaf0}.btn-outline-info:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-check:active+.btn-outline-info,.btn-check:checked+.btn-outline-info,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:active+.btn-outline-info:focus,.btn-check:checked+.btn-outline-info:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#0dcaf0;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning,.btn-check:checked+.btn-outline-warning,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:active+.btn-outline-warning:focus,.btn-check:checked+.btn-outline-warning:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-check:active+.btn-outline-light,.btn-check:checked+.btn-outline-light,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:active+.btn-outline-light:focus,.btn-check:checked+.btn-outline-light:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#212529;border-color:#212529}.btn-outline-dark:hover{color:#fff;background-color:#212529;border-color:#212529}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-check:active+.btn-outline-dark,.btn-check:checked+.btn-outline-dark,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#212529;border-color:#212529}.btn-check:active+.btn-outline-dark:focus,.btn-check:checked+.btn-outline-dark:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#212529;background-color:transparent}.btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}.btn-link:hover{color:#0a58ca}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropend,.dropstart,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;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;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin: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}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;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}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1e2125;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:focus,.dropdown-menu-dark .dropdown-item:hover{color:#fff;background-color:rgba(255,255,255,.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0d6efd}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right: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{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;color:#0d6efd;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:#0a58ca}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background:0 0;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 #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{color:#6c757d;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:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:0 0;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;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}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.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,.55)}.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 .nav-link.active,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.55);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.55)}.navbar-light .navbar-text a,.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,.55)}.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 .nav-link.active,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.55)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;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{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;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-footer{padding:.5rem 1rem;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:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group>.card{margin-bottom:.75rem}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background-color:#fff;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#0c63e4;background-color:#e7f1ff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.125)}.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(-180deg)}.accordion-button::after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.accordion-header{margin-bottom:0}.accordion-item{background-color:#fff;border:1px solid rgba(0,0,0,.125)}.accordion-item:first-of-type{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0 0;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#0a58ca;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:#0a58ca;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{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}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.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}.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:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{color:#084298;background-color:#cfe2ff;border-color:#b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{color:#41464b;background-color:#e2e3e5;border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{color:#055160;background-color:#cff4fc;border-color:#b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{color:#636464;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{color:#141619;background-color:#d3d3d4;border-color:#bcbebf}.alert-dark .alert-link{color:#101214}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.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:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>li::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;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:.5rem 1rem;color:#212529;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#636464;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#636464;border-color:#636464}.list-group-item-dark{color:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);border-radius:.25rem}.toast:not(.showing):not(.show){opacity:0}.toast.hide{display:none}.toast-container{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:.75rem}.toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal{position:fixed;top:0;left:0;z-index:1060;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;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;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);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 .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[data-popper-placement^=right],.bs-tooltip-end{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[data-popper-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[data-popper-placement^=left],.bs-tooltip-start{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);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 .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f0f0f0}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid rgba(0,0,0,.2);border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.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:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1050;display:flex;flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem}.offcanvas-header .btn-close{padding:.5rem .5rem;margin-top:-.5rem;margin-right:-.5rem;margin-bottom:-.5rem}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;padding:1rem 1rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:400px;border-right:1px solid rgba(0,0,0,.2);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:400px;border-left:1px solid rgba(0,0,0,.2);transform:translateX(100%)}.offcanvas-top{top:0;right:0;left:0;height:30vh;max-height:100%;border-bottom:1px solid rgba(0,0,0,.2);transform:translateY(-100%)}.offcanvas-bottom{right:0;left:0;height:30vh;max-height:100%;border-top:1px solid rgba(0,0,0,.2);transform:translateY(100%)}.offcanvas.show{transform:none}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#0d6efd}.link-primary:focus,.link-primary:hover{color:#0a58ca}.link-secondary{color:#6c757d}.link-secondary:focus,.link-secondary:hover{color:#565e64}.link-success{color:#198754}.link-success:focus,.link-success:hover{color:#146c43}.link-info{color:#0dcaf0}.link-info:focus,.link-info:hover{color:#3dd5f3}.link-warning{color:#ffc107}.link-warning:focus,.link-warning:hover{color:#ffcd39}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#b02a37}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#f9fafb}.link-dark{color:#212529}.link-dark:focus,.link-dark:hover{color:#1a1e21}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio:calc(9 / 16 * 100%)}.ratio-21x9{--bs-aspect-ratio:calc(9 / 21 * 100%)}.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}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow: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}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-end{border-right:1px solid #dee2e6!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px solid #dee2e6!important}.border-start-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#198754!important}.border-info{border-color:#0dcaf0!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#212529!important}.border-white{border-color:#fff!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{color:#0d6efd!important}.text-secondary{color:#6c757d!important}.text-success{color:#198754!important}.text-info{color:#0dcaf0!important}.text-warning{color:#ffc107!important}.text-danger{color:#dc3545!important}.text-light{color:#f8f9fa!important}.text-dark{color:#212529!important}.text-white{color:#fff!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-reset{color:inherit!important}.bg-primary{background-color:#0d6efd!important}.bg-secondary{background-color:#6c757d!important}.bg-success{background-color:#198754!important}.bg-info{background-color:#0dcaf0!important}.bg-warning{background-color:#ffc107!important}.bg-danger{background-color:#dc3545!important}.bg-light{background-color:#f8f9fa!important}.bg-dark{background-color:#212529!important}.bg-body{background-color:#fff!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:.2rem!important}.rounded-2{border-radius:.25rem!important}.rounded-3{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-end{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-start{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!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:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!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:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!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:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!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:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/public/css/bootstrap.min.css.map b/public/css/bootstrap.min.css.map new file mode 100644 index 000000000..3fe6cda5d --- /dev/null +++ b/public/css/bootstrap.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_reboot.scss","dist/css/bootstrap.css","../../scss/vendor/_rfs.scss","../../scss/mixins/_border-radius.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/_containers.scss","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/_tables.scss","../../scss/mixins/_table-variants.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-text.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_form-select.scss","../../scss/forms/_form-check.scss","../../scss/forms/_form-range.scss","../../scss/forms/_floating-labels.scss","../../scss/forms/_input-group.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/_button-group.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_accordion.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/_offcanvas.scss","../../scss/helpers/_colored-links.scss","../../scss/helpers/_ratio.scss","../../scss/helpers/_position.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap v5.0.2 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n// scss-docs-start import-stack\n// Configuration\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n// Layout & components\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"containers\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"accordion\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"alert\";\n@import \"progress\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n@import \"offcanvas\";\n\n// Helpers\n@import \"helpers\";\n\n// Utilities\n@import \"utilities/api\";\n// scss-docs-end import-stack\n",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$variable-prefix}#{$color}: #{$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 --#{$variable-prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$variable-prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$variable-prefix}gradient: #{$gradient};\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\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// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root;\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\n }\n }\n}\n\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. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-bs-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-bs-original-title] { // 1\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\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\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &: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// 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([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n direction: ltr #{\"/* rtl:ignore */\"};\n unicode-bidi: bidi-override;\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include 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 @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Explicitly remove focus outline in Chromium when it shouldn't be\n// visible (e.g. as result of mouse click or touch tap). It already\n// should be doing this automatically, but seems to currently be\n// confused and applies its very visible two-tone outline anyway.\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Remove the inheritance of text transform in Firefox\nbutton,\nselect {\n text-transform: none;\n}\n// Set the cursor for non-`